76 ERR(
"CreateFileW failed for \"%S\" with error %lu!\n", pAddJobInfo1->
Path, dwErrorCode);
85 ERR(
"GetJobW failed with error %lu!\n", dwErrorCode);
94 ERR(
"HeapAlloc failed!\n");
102 ERR(
"GetJobW failed with error %lu!\n", dwErrorCode);
108 pJobInfo1->pDatatype = pDocInfo1->
pDatatype;
110 pJobInfo1->pDocument = pDocInfo1->
pDocName;
116 ERR(
"SetJobW failed with error %lu!\n", dwErrorCode);
121 pHandle->dwJobID = pAddJobInfo1->
JobId;
137 DocInfoContainer.
Level = 1;
147 ERR(
"_RpcStartDocPrinter failed with exception code %lu!\n", dwErrorCode);
160 TRACE(
"AbortPrinter(%p)\n", hPrinter);
190 ERR(
"_RpcAbortPrinter failed with exception code %lu!\n", dwErrorCode);
224 ERR(
"Level = %d, unsupported!\n",
Level);
326 DevModeContainer.
cbBuf = 0;
329 SecurityContainer.
cbBuf = 0;
375 dwErrorCode =
_RpcAddPrinter(
pName, &PrinterContainer, &DevModeContainer, &SecurityContainer, &hPrinter );
390 ERR(
"HeapAlloc failed!\n");
400 hHandle = (
HANDLE)pHandle;
416 TRACE(
"ClosePrinter(%p)\n", hPrinter);
433 ERR(
"_RpcClosePrinter failed with exception code %lu!\n", dwErrorCode);
457 TRACE(
"DeletePrinter(%p)\n", hPrinter);
474 ERR(
"_RpcDeletePrinter failed with exception code %lu!\n", dwErrorCode);
512 FIXME(
"IGPD : Get Printer Driver Config File : %S\n",
pdi->pConfigFile);
523 while ( iTries < 2 );
536 FIXME(
"DeviceCapabilitiesA(%s, %s, %hu, %p, %p)\n",
pDevice, pPort, fwCapability, pOutput, pDevMode);
547 ERR(
"HeapAlloc failed!\n");
579 FIXME(
"DeviceCapabilitiesW(%S, %S, %hu, %p, %p)\n",
pDevice, pPort, fwCapability, pOutput, pDevMode);
585 ERR(
"DeviceCapabilitiesW : Devode Invalid\n");
660 FIXME(
"DocumentEvent(%p, %p, %lu, %lu, %p, %lu, %p)\n", hPrinter,
hdc,
iEsc, cbIn, pvIn, cbOut, pvOut);
671 LONG lReturnValue = -1;
674 FIXME(
"DocumentPropertiesA(%p, %p, %s, %p, %p, %lu)\n",
hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput, fMode);
685 ERR(
"HeapAlloc failed!\n");
714 ERR(
"HeapAlloc failed!\n");
720 FIXME(
"lReturnValue from DocumentPropertiesW is '%ld'.\n", lReturnValue);
722 if (lReturnValue < 0)
724 FIXME(
"DocumentPropertiesW failed!\n");
774 FIXME(
"CreateUIUserData\n");
785 return *puserdata != 0;
793 FIXME(
"DestroyUIUserData\n");
900 FIXME(
"DocumentPropertySheets(%p, 0x%lx)\n", pCPSUIInfo,
lparam);
904 if ( !pCPSUIInfo &&
lparam )
919 FIXME(
"DPS : fpDocumentPropertySheets(%p, 0x%lx) pdmOut %p\n", pCPSUIInfo,
lparam, pdphdr->
pdmOut);
921 FIXME(
"DPS : fpDocumentPropertySheets result %d cbOut %d\n",
Result, pdphdr->
cbOut);
932 FIXME(
"IDPS : Using ReactOS backup!!! DevMode Size %d\n",
Result);
973 switch ( pCPSUIInfo->
Reason )
977 FIXME(
"DocPS : PROPSHEETUI_REASON_INIT\n");
997 FIXME(
"DocPS : PROPSHEETUI_REASON_INIT Fail\n");
1004 FIXME(
"DocPS : PROPSHEETUI_REASON_GET_INFO_HEADER\n");
1021 FIXME(
"DocPS : PROPSHEETUI_REASON_DESTROY\n");
1027 FIXME(
"DocPS : PROPSHEETUI_REASON_SET_RESULT\n");
1032 if ( pCPSUIInfo->
Result > 0 )
1050 FIXME(
"DevicePropertySheets(%p, 0x%lx)\n", pCPSUIInfo,
lparam);
1065 switch ( pCPSUIInfo->
Reason )
1069 FIXME(
"DevPS : PROPSHEETUI_REASON_INIT\n");
1089 FIXME(
"DevPS : PROPSHEETUI_REASON_INIT Fail\n");
1096 FIXME(
"DevPS : PROPSHEETUI_REASON_GET_INFO_HEADER\n");
1113 FIXME(
"DevPS : PROPSHEETUI_REASON_DESTROY\n");
1119 FIXME(
"DevPS : PROPSHEETUI_REASON_SET_RESULT\n");
1136 FIXME(
"CallCommonPropertySheetUI(%p, %p, 0x%lx, %p)\n",
hWnd, pfnPropSheetUI,
lparam, pResult);
1159 FIXME(
"DocumentPropertiesW(%p, %p, %S, %p, %p, %lu)\n",
hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput, fMode);
1163 hUseHandle = hPrinter;
1167 ERR(
"No handle, and no usable printer name passed in\n");
1174 pDevModeInput =
NULL;
1182 docprophdr.
cbOut = 0;
1184 if ( pDevModeOutput )
1188 docprophdr.
fMode = 0;
1189 FIXME(
"DPW : Call DocumentPropertySheets with pDevModeOutput %p\n",pDevModeOutput);
1193 docprophdr.
pdmIn = pDevModeInput;
1194 docprophdr.
pdmOut = pDevModeOutput;
1195 docprophdr.
fMode = fMode;
1206 FIXME(
"CallCommonPropertySheetUI return error\n");
1211 FIXME(
"CallCommonPropertySheetUI returned\n");
1215 FIXME(
"DPW : CallDocumentPropertySheets\n");
1221 if ( pDevModeOutput )
1225 ERR(
"DPW : Improper pDevModeOutput size.\n");
1231 ERR(
"No pDevModeOutput\n");
1235 if (hUseHandle && !hPrinter)
1250 FIXME(
"PrinterProperties(%p, %p)\n",
hWnd, hPrinter);
1282 FIXME(
"PrinterProperties fail ICPSUI\n");
1296 TRACE(
"EndDocPrinter(%p)\n", hPrinter);
1315 ERR(
"_RpcScheduleJob failed with exception code %lu!\n", dwErrorCode);
1332 ERR(
"_RpcEndDocPrinter failed with exception code %lu!\n", dwErrorCode);
1351 TRACE(
"EndPagePrinter(%p)\n", hPrinter);
1375 ERR(
"_RpcEndPagePrinter failed with exception code %lu!\n", dwErrorCode);
1414 TRACE(
"EnumPrintersA(%lu, %s, %lu, %p, %lu, %p, %p)\n",
Flags,
Name,
Level, pPrinterEnum, cbBuf,
pcbNeeded, pcReturned);
1420 ERR(
"Invalid Level!\n");
1433 ERR(
"HeapAlloc failed!\n");
1462 for (
i = 0;
i < *pcReturned;
i++)
1468 if (ppi1w[
i].pDescription)
1474 if (!pszDescription)
1477 ERR(
"HeapAlloc failed!\n");
1496 ERR(
"HeapAlloc failed!\n");
1506 if (ppi1w[
i].pComment)
1515 ERR(
"HeapAlloc failed!\n");
1530 if (ppi2w[
i].pServerName)
1539 ERR(
"HeapAlloc failed!\n");
1549 if (ppi2w[
i].pPrinterName)
1555 if (!pszPrinterName)
1558 ERR(
"HeapAlloc failed!\n");
1568 if (ppi2w[
i].pShareName)
1577 ERR(
"HeapAlloc failed!\n");
1587 if (ppi2w[
i].pPortName)
1596 ERR(
"HeapAlloc failed!\n");
1606 if (ppi2w[
i].pDriverName)
1615 ERR(
"HeapAlloc failed!\n");
1625 if (ppi2w[
i].pComment)
1634 ERR(
"HeapAlloc failed!\n");
1644 if (ppi2w[
i].pLocation)
1653 ERR(
"HeapAlloc failed!\n");
1664 if (ppi2w[
i].pSepFile)
1673 ERR(
"HeapAlloc failed!\n");
1683 if (ppi2w[
i].pPrintProcessor)
1689 if (!pszPrintProcessor)
1692 ERR(
"HeapAlloc failed!\n");
1703 if (ppi2w[
i].pDatatype)
1712 ERR(
"HeapAlloc failed!\n");
1722 if (ppi2w[
i].pParameters)
1731 ERR(
"HeapAlloc failed!\n");
1740 if ( ppi2w[
i].pDevMode )
1749 if (ppi4w[
i].pPrinterName)
1755 if (!pszPrinterName)
1758 ERR(
"HeapAlloc failed!\n");
1768 if (ppi4w[
i].pServerName)
1777 ERR(
"HeapAlloc failed!\n");
1791 if (ppi5w[
i].pPrinterName)
1797 if (!pszPrinterName)
1800 ERR(
"HeapAlloc failed!\n");
1810 if (ppi5w[
i].pPortName)
1819 ERR(
"HeapAlloc failed!\n");
1851 TRACE(
"EnumPrintersW(%lu, %S, %lu, %p, %lu, %p, %p)\n",
Flags,
Name,
Level, pPrinterEnum, cbBuf,
pcbNeeded, pcReturned);
1860 if (cbBuf && pPrinterEnum)
1871 ERR(
"_RpcEnumPrinters failed with exception code %lu!\n", dwErrorCode);
1890 TRACE(
"FlushPrinter(%p, %p, %lu, %p, %lu)\n", hPrinter, pBuf, cbBuf, pcWritten, cSleep);
1901 TRACE(
"GetDefaultPrinterA(%p, %p)\n", pszBuffer, pcchBuffer);
1911 if (pszBuffer && *pcchBuffer)
1917 ERR(
"HeapAlloc failed!\n");
1945 DWORD cchInputBuffer;
1951 TRACE(
"GetDefaultPrinterW(%p, %p)\n", pszBuffer, pcchBuffer);
1960 cchInputBuffer = *pcchBuffer;
1966 ERR(
"RegOpenKeyExW failed with status %lu!\n", dwErrorCode);
1974 ERR(
"RegQueryValueExW failed with status %lu!\n", dwErrorCode);
1983 ERR(
"HeapAlloc failed!\n");
1991 ERR(
"RegQueryValueExW failed with status %lu!\n", dwErrorCode);
1997 pwszComma =
wcschr(pwszDevice,
L',');
2000 ERR(
"Found no or invalid default printer: %S!\n", pwszDevice);
2006 *pcchBuffer = pwszComma - pwszDevice + 1;
2009 if ( !pszBuffer || cchInputBuffer < *pcchBuffer)
2050 TRACE(
"GetPrinterA(%p, %lu, %p, %lu, %p)\n", hPrinter,
Level, pPrinter, cbBuf,
pcbNeeded);
2053 if (Level < 1 || Level > 9)
2056 ERR(
"Invalid Level!\n");
2072 PSTR pszDescription;
2078 if (!pszDescription)
2081 ERR(
"HeapAlloc failed!\n");
2102 ERR(
"HeapAlloc failed!\n");
2123 ERR(
"HeapAlloc failed!\n");
2148 ERR(
"HeapAlloc failed!\n");
2160 PSTR pszPrinterName;
2166 if (!pszPrinterName)
2169 ERR(
"HeapAlloc failed!\n");
2190 ERR(
"HeapAlloc failed!\n");
2211 ERR(
"HeapAlloc failed!\n");
2232 ERR(
"HeapAlloc failed!\n");
2253 ERR(
"HeapAlloc failed!\n");
2274 ERR(
"HeapAlloc failed!\n");
2295 ERR(
"HeapAlloc failed!\n");
2307 PSTR pszPrintProcessor;
2313 if (!pszPrintProcessor)
2316 ERR(
"HeapAlloc failed!\n");
2337 ERR(
"HeapAlloc failed!\n");
2358 ERR(
"HeapAlloc failed!\n");
2378 PSTR pszPrinterName;
2384 if (!pszPrinterName)
2387 ERR(
"HeapAlloc failed!\n");
2408 ERR(
"HeapAlloc failed!\n");
2424 PSTR pszPrinterName;
2430 if (!pszPrinterName)
2433 ERR(
"HeapAlloc failed!\n");
2454 ERR(
"HeapAlloc failed!\n");
2470 PSTR pszaObjectGUID;
2476 if (!pszaObjectGUID)
2479 ERR(
"HeapAlloc failed!\n");
2509 TRACE(
"GetPrinterW(%p, %lu, %p, %lu, %p)\n", hPrinter,
Level, pPrinter, cbBuf,
pcbNeeded);
2525 if (cbBuf && pPrinter)
2536 ERR(
"_RpcGetPrinter failed with exception code %lu!\n", dwErrorCode);
2560 TRACE(
"OpenPrinterA(%s, %p, %p)\n", pPrinterName, phPrinter, pDefault);
2568 if (!pwszPrinterName)
2571 ERR(
"HeapAlloc failed!\n");
2591 ERR(
"HeapAlloc failed!\n");
2602 bReturnValue =
OpenPrinterW(pwszPrinterName, phPrinter, &wDefault);
2617 if (pwszPrinterName)
2620 return bReturnValue;
2633 TRACE(
"OpenPrinterW(%S, %p, %p)\n", pPrinterName, phPrinter, pDefault);
2654 dwErrorCode =
_RpcOpenPrinter(pPrinterName, &hPrinter, pDatatype, &DevModeContainer, AccessRequired);
2659 ERR(
"_RpcOpenPrinter failed with exception code %lu!\n", dwErrorCode);
2670 ERR(
"HeapAlloc failed!\n");
2680 *phPrinter = (
HANDLE)pHandle;
2708 VOID *pvProfileData,
2709 ULONG *pcbProfileData,
2710 FLONG *pflProfileData )
2716 FIXME(
"QueryColorProfile(%p, %p, %l, %p, %p, %p)\n", hPrinter, pdevmode, ulQueryMode, pvProfileData, pcbProfileData, pflProfileData);
2729 ERR(
"DeviceCapabilitiesW : Devode Invalid");
2742 Ret =
fpQueryColorProfile( hPrinter, pdevmode, ulQueryMode, pvProfileData, pcbProfileData, pflProfileData );
2764 #define QSM_DOWNLOADINGFONTS 0x0001 2779 #define QSM_XPS_PASS 0x0002 // Guessing. PRINTER_DRIVER_XPS? 2788 FIXME(
"QuerySpoolMode(%p, %p, %p)\n", hPrinter, downloadFontsFlags, dwVersion);
2799 *dwVersion = 0x10000;
2800 *downloadFontsFlags = 0;
2828 FIXME(
"QueryRemoteFonts(%p, %p, %lu)\n", hPrinter, pufi, NumberOfUFIs);
2844 if( NumberOfUFIs < cIn )
2864 TRACE(
"ReadPrinter(%p, %p, %lu, %p)\n", hPrinter, pBuf, cbBuf, pNoBytesRead);
2881 ERR(
"_RpcReadPrinter failed with exception code %lu!\n", dwErrorCode);
2898 TRACE(
"ResetPrinterA(%p, %p)\n", hPrinter, pDefault);
2933 TRACE(
"ResetPrinterW(%p, %p)\n", hPrinter, pDefault);
2944 FIXME(
"SeekPrinter(%p, %I64u, %p, %lu, %d)\n", hPrinter, liDistanceToMove.
QuadPart, pliNewPointer, dwMoveMethod, bWrite);
2961 ERR(
"_RpcSeekPrinter failed with exception code %lu!\n", dwErrorCode);
2977 TRACE(
"SetDefaultPrinterA(%s)\n", pszPrinter);
2988 ERR(
"HeapAlloc failed!\n");
3001 return bReturnValue;
3007 const WCHAR wszDevicesKey[] =
L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Devices";
3009 DWORD cbDeviceValueData;
3010 DWORD cbPrinterValueData = 0;
3018 TRACE(
"SetDefaultPrinterW(%S)\n", pszPrinter);
3024 ERR(
"RegOpenKeyExW failed with status %lu!\n", dwErrorCode);
3029 if (pszPrinter && *pszPrinter)
3040 ERR(
"RegQueryValueExW failed with status %lu!\n", dwErrorCode);
3044 cchPrinter =
wcslen(pszPrinter);
3062 pszPrinter = wszPrinter;
3068 cbDeviceValueData = (cchPrinter + 1) *
sizeof(
WCHAR) + cbPrinterValueData;
3070 if (!pwszDeviceValueData)
3073 ERR(
"HeapAlloc failed!\n");
3078 CopyMemory(pwszDeviceValueData, pszPrinter, cchPrinter *
sizeof(
WCHAR));
3079 pwszDeviceValueData[cchPrinter] =
L',';
3090 ERR(
"RegOpenKeyExW failed with status %lu!\n", dwErrorCode);
3098 ERR(
"RegSetValueExW failed with status %lu!\n", dwErrorCode);
3109 if (pwszDeviceValueData)
3307 DevModeContainer.
cbBuf = 0;
3310 SecurityContainer.
cbBuf = 0;
3384 if ( pPrinter ==
NULL )
3441 TRACE(
"DriverUnloadComplete(%S)\n", pDriverFile);
3548 FIXME(
"StartDocDlgW(%p, %p)\n", hPrinter, doc);
3576 if ( retDlg ==
IDOK )
3587 else if ( retDlg == 0 )
3627 if (!(
docW.lpszDocName = docnameW))
goto failed;
3632 if (!(
docW.lpszOutput = outputW))
goto failed;
3665 DWORD dwReturnValue = 0;
3668 TRACE(
"StartDocPrinterA(%p, %lu, %p)\n", hPrinter,
Level, pDocInfo);
3680 ERR(
"Level = %d, unsupported!\n",
Level);
3694 ERR(
"HeapAlloc failed!\n");
3710 ERR(
"HeapAlloc failed!\n");
3726 ERR(
"HeapAlloc failed!\n");
3737 if (wDocInfo1.pDatatype)
3740 if (wDocInfo1.pDocName)
3743 if (wDocInfo1.pOutputFile)
3747 return dwReturnValue;
3753 DWORD cbAddJobInfo1;
3756 DWORD dwReturnValue = 0;
3761 TRACE(
"StartDocPrinterW(%p, %lu, %p)\n", hPrinter,
Level, pDocInfo);
3778 ERR(
"Level = %d, unsupported!\n",
Level);
3803 ERR(
"HeapAlloc failed!\n");
3823 ERR(
"AddJobW failed with error %lu!\n", dwErrorCode);
3831 dwReturnValue = pHandle->
dwJobID;
3843 return dwReturnValue;
3852 TRACE(
"StartPagePrinter(%p)\n", hPrinter);
3869 ERR(
"_RpcStartPagePrinter failed with exception code %lu!\n", dwErrorCode);
3884 TRACE(
"WritePrinter(%p, %p, %lu, %p)\n", hPrinter, pBuf, cbBuf, pcWritten);
3905 ERR(
"WriteFile failed with error %lu!\n", dwErrorCode);
3924 ERR(
"_RpcWritePrinter failed with exception code %lu!\n", dwErrorCode);
3937 DWORD dwErrorCode, Bogus = 0;
3940 TRACE(
"XcvDataW(%p, %S, %p, %lu, %p, %lu, %p, %p)\n",
hXcv, pszDataName, pInputData, cbInputData, pOutputData, cbOutputData, pcbOutputNeeded, pdwStatus);
3942 if ( pcbOutputNeeded ==
NULL )
3958 if ( pInputData ==
NULL )
3962 pInputData = (
PBYTE)&Bogus;
3966 if ( pOutputData ==
NULL )
3968 if ( !cbOutputData )
3970 pOutputData = (
PBYTE)&Bogus;
3989 ERR(
"_RpcXcvData failed with exception code %lu!\n", dwErrorCode);
#define ERROR_INVALID_PARAMETER
DWORD _RpcSeekPrinter(WINSPOOL_PRINTER_HANDLE hPrinter, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod, BOOL bWrite)
BOOL WINAPI EnumPrintersW(DWORD Flags, PWSTR Name, DWORD Level, PBYTE pPrinterEnum, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
DWORD _RpcStartPagePrinter(WINSPOOL_PRINTER_HANDLE hPrinter)
union _WINSPOOL_DOC_INFO_CONTAINER::@3395 DocInfo
BOOL WINAPI WriteFile(IN HANDLE hFile, IN LPCVOID lpBuffer, IN DWORD nNumberOfBytesToWrite OPTIONAL, OUT LPDWORD lpNumberOfBytesWritten, IN LPOVERLAPPED lpOverlapped OPTIONAL)
static HRESULT get_sd(SECURITY_DESCRIPTOR **sd, DWORD *size)
#define PRINTER_CONTROL_SET_STATUS
WINBOOL WINAPI ScheduleJob(HANDLE hPrinter, DWORD JobId)
PWSTR WINAPI AllocSplStr(PCWSTR pwszInput)
BOOL WINAPI ReadPrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pNoBytesRead)
static QUERYCOLORPROFILE fpQueryColorProfile
struct _PRINTER_INFO_7A * PPRINTER_INFO_7A
UINT WINAPI GetDlgItemTextW(HWND hDlg, int nIDDlgItem, LPWSTR lpString, int nMaxCount)
static UCHAR ULONG UCHAR ULONG UCHAR * output
struct _devicemodeW * LPDEVMODEW
LONG(WINAPI * DOCUMENTPROPERTYSHEETS)(PPROPSHEETUI_INFO, LPARAM)
#define IDI_CPSUI_DOCUMENT
INT_PTR WINAPI DialogBoxParamW(_In_opt_ HINSTANCE, _In_ LPCWSTR, _In_opt_ HWND, _In_opt_ DLGPROC, _In_ LPARAM)
struct _devicemodeW * PDEVMODEW
LONG WINAPI CallCommonPropertySheetUI(HWND hWnd, PFNPROPSHEETUI pfnPropSheetUI, LPARAM lparam, LPDWORD pResult)
#define WideCharToMultiByte
static const WCHAR datatypeW[]
struct _PRINTER_INFO_2W * PPRINTER_INFO_2W
BOOL(WINAPI * DEVQUERYPRINT)(HANDLE, LPDEVMODEW, DWORD *)
struct _PROPSHEETUI_INFO_HEADER * PPROPSHEETUI_INFO_HEADER
ACPI_SIZE strlen(const char *String)
struct _PROPSHEETUI_INFO * PPROPSHEETUI_INFO
DWORD _RpcEndDocPrinter(WINSPOOL_PRINTER_HANDLE hPrinter)
#define ERR_CPSUI_ALLOCMEM_FAILED
DWORD WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort, WORD fwCapability, LPWSTR pOutput, const DEVMODEW *pDevMode)
#define HKEY_CURRENT_USER
BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter)
DWORD _RpcDeletePrinter(WINSPOOL_PRINTER_HANDLE hPrinter)
WINBOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobId, DWORD Level, LPBYTE pJob, DWORD cbBuf, LPDWORD pcbNeeded)
BOOL WINAPI DllFreeSplMem(PVOID pMem)
#define ERROR_INVALID_HANDLE
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
#define PSUIHDRF_PROPTITLE
BOOL WINAPI GetDefaultPrinterA(LPSTR pszBuffer, LPDWORD pcchBuffer)
#define QSM_DOWNLOADINGFONTS
BOOL WINAPI AbortPrinter(HANDLE hPrinter)
struct _ADDJOB_INFO_1W ADDJOB_INFO_1W
struct _DEVICEPROPERTYHEADER DEVICEPROPERTYHEADER
BOOL WINAPI SeekPrinter(HANDLE hPrinter, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod, BOOL bWrite)
#define ERROR_NOT_ENOUGH_MEMORY
DWORD _RpcEnumPrinters(DWORD Flags, WINSPOOL_HANDLE Name, DWORD Level, BYTE *pPrinterEnum, DWORD cbBuf, DWORD *pcbNeeded, DWORD *pcReturned)
#define INVALID_HANDLE_VALUE
IN PVOID IN PVOID IN USHORT IN USHORT Size
static SPOOLERPRINTEREVENT fpPrinterEvent
DWORD WINAPI GetLastError(VOID)
DWORD WINAPI GetFullPathNameW(IN LPCWSTR lpFileName, IN DWORD nBufferLength, OUT LPWSTR lpBuffer, OUT LPWSTR *lpFilePart)
DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pDocInfo)
_IRQL_requires_same_ typedef _In_ ULONG _In_ UCHAR Level
#define GetWindowLongPtrW
BOOL WINAPI DevQueryPrintEx(PDEVQUERYPRINT_INFO pDQPInfo)
WINBOOL WINAPI GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded)
struct _DEVQUERYPRINT_INFO * PDEVQUERYPRINT_INFO
BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD Command)
#define JOB_CONTROL_DELETE
LONG WINAPI IntProtectHandle(HANDLE, BOOL)
struct _PRINTER_INFO_3 * PPRINTER_INFO_3
BOOL(WINAPI * DEVQUERYPRINTEX)(PDEVQUERYPRINT_INFO)
DEVMODEW *WINAPI GdiConvertToDevmodeW(const DEVMODEA *)
int WINAPI LoadStringW(_In_opt_ HINSTANCE hInstance, _In_ UINT uID, _Out_writes_to_(cchBufferMax, return+1) LPWSTR lpBuffer, _In_ int cchBufferMax)
BOOL WINAPI ResetPrinterA(HANDLE hPrinter, PPRINTER_DEFAULTSA pDefault)
BOOL WINAPI EndDialog(_In_ HWND, _In_ INT_PTR)
struct _PRINTER_INFO_9W * PPRINTER_INFO_9W
struct _PRINTER_INFO_5A * PPRINTER_INFO_5A
LONG(WINAPI * CONSTRUCTPRINTERFRIENDLYNAME)(PWSTR, PVOID, LPDWORD)
LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter, LPWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput, DWORD fMode)
void RosConvertAnsiDevModeToUnicodeDevmode(PDEVMODEA pDevModeInput, PDEVMODEW *pDevModeOutput)
#define MB_ICONEXCLAMATION
#define SPOOLER_HANDLE_SIG
DWORD _RpcAddPrinter(WINSPOOL_HANDLE pName, WINSPOOL_PRINTER_CONTAINER *pPrinterContainer, WINSPOOL_DEVMODE_CONTAINER *pDevModeContainer, WINSPOOL_SECURITY_CONTAINER *pSecurityContainer, WINSPOOL_PRINTER_HANDLE *pHandle)
static COMMONPROPERTYSHEETUIW fpCommonPropertySheetUIW
#define PROPSHEETUI_REASON_GET_INFO_HEADER
struct _PRINTER_INFO_9A * PPRINTER_INFO_9A
DWORD _RpcStartDocPrinter(WINSPOOL_PRINTER_HANDLE hPrinter, WINSPOOL_DOC_INFO_CONTAINER *pDocInfoContainer, DWORD *pJobId)
LONG WINAPI RegCloseKey(HKEY hKey)
BOOL FASTCALL IntFixUpDevModeNames(PDOCUMENTPROPERTYHEADER pdphdr)
BOOL WINAPI SpoolerPrinterEvent(LPWSTR pPrinterName, INT DriverEvent, DWORD Flags, LPARAM lParam)
HANDLE WINAPI AddPrinterW(PWSTR pName, DWORD Level, PBYTE pPrinter)
WINSPOOL_PRINTER_INFO_1 * pPrinterInfo1
BOOL WINAPI GetDefaultPrinterW(LPWSTR pszBuffer, LPDWORD pcchBuffer)
LONG(WINAPI * COMMONPROPERTYSHEETUIW)(HWND, PFNPROPSHEETUI, LPARAM, LPDWORD)
DWORD WINAPI GetFileAttributesW(LPCWSTR lpFileName)
static UINT WPARAM LPARAM lparam
STRSAFEAPI StringCchCopyW(STRSAFE_LPWSTR pszDest, size_t cchDest, STRSAFE_LPCWSTR pszSrc)
HINSTANCE WINAPI DECLSPEC_HOTPATCH LoadLibraryA(LPCSTR lpLibFileName)
PRINTER_INFO_9W * get_devmodeW(HANDLE hprn)
BOOL WINAPI DeleteFileW(IN LPCWSTR lpFileName)
INT WINAPI DocumentEvent(HANDLE hPrinter, HDC hdc, int iEsc, ULONG cbIn, PVOID pvIn, ULONG cbOut, PVOID pvOut)
PFNCOMPROPSHEET pfnComPropSheet
union _WINSPOOL_PRINTER_CONTAINER::@3401 PrinterInfo
DWORD _RpcEndPagePrinter(WINSPOOL_PRINTER_HANDLE hPrinter)
#define ERROR_SPL_NO_STARTDOC
#define EXCEPTION_EXECUTE_HANDLER
DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd, LPSTR pText, LPSTR pCaption, DWORD dwType)
DWORD _RpcXcvData(WINSPOOL_PRINTER_HANDLE hXcv, const WCHAR *pszDataName, BYTE *pInputData, DWORD cbInputData, BYTE *pOutputData, DWORD cbOutputData, DWORD *pcbOutputNeeded, DWORD *pdwStatus)
LONG WINAPI RegEnumValueW(_In_ HKEY hKey, _In_ DWORD index, _Out_ LPWSTR value, _Inout_ PDWORD val_count, _Reserved_ PDWORD reserved, _Out_opt_ PDWORD type, _Out_opt_ LPBYTE data, _Inout_opt_ PDWORD count)
BOOL WINAPI ResetPrinterW(HANDLE hPrinter, PPRINTER_DEFAULTSW pDefault)
static DWORD DWORD void LPSTR DWORD cch
#define ERR_CPSUI_GETLASTERROR
struct _DOCUMENTPROPERTYHEADER * PDOCUMENTPROPERTYHEADER
_At_(*)(_In_ PWSK_CLIENT Client, _In_opt_ PUNICODE_STRING NodeName, _In_opt_ PUNICODE_STRING ServiceName, _In_opt_ ULONG NameSpace, _In_opt_ GUID *Provider, _In_opt_ PADDRINFOEXW Hints, _Outptr_ PADDRINFOEXW *Result, _In_opt_ PEPROCESS OwningProcess, _In_opt_ PETHREAD OwningThread, _Inout_ PIRP Irp Result)(Mem)) NTSTATUS(WSKAPI *PFN_WSK_GET_ADDRESS_INFO
static DEVQUERYPRINTEX fpDevQueryPrintEx
static DEVQUERYPRINT fpDevQueryPrint
struct _PRINTER_INFO_2A * PPRINTER_INFO_2A
static DWORD _StartDocPrinterWithRPC(PSPOOLER_HANDLE pHandle, PDOC_INFO_1W pDocInfo1)
BOOL WINAPI PlayGdiScriptOnPrinterIC(_In_ HANDLE hPrinterIC, _In_reads_bytes_(cIn) LPBYTE pIn, _In_ DWORD cIn, _Out_writes_bytes_(cOut) LPBYTE pOut, _In_ DWORD cOut, _In_ DWORD ul)
struct _PRINTER_INFO_1W * PPRINTER_INFO_1W
#define ERROR_FILE_NOT_FOUND
struct _COMPUI_USERDATA COMPUI_USERDATA
BOOL WINAPI WritePrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pcWritten)
wstring AsciiToUnicode(const char *AsciiString)
BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD cbBuf, PDWORD pcbNeeded)
#define FILE_ATTRIBUTE_DIRECTORY
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
DWORD(WINAPI * DEVICECAPABILITIES)(HANDLE, PWSTR, WORD, PVOID, PDEVMODEW)
struct _DOCUMENTPROPERTYHEADER DOCUMENTPROPERTYHEADER
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
#define DOCUMENTEVENT_UNSUPPORTED
BOOL WINAPI ClosePrinter(HANDLE hPrinter)
#define RpcExceptionCode()
void RosConvertUnicodeDevModeToAnsiDevmode(PDEVMODEW pDevModeInput, PDEVMODEA pDevModeOutput)
struct _COMPUI_USERDATA * PCOMPUI_USERDATA
_Must_inspect_result_ _In_ ULONG Flags
PVOID WINAPI HeapAlloc(HANDLE, DWORD, SIZE_T)
PSECURITY_DESCRIPTOR pSecurityDescriptor
_CONST_RETURN wchar_t *__cdecl wcschr(_In_z_ const wchar_t *_Str, wchar_t _Ch)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)
int WINAPI MessageBoxW(_In_opt_ HWND, _In_opt_ LPCWSTR, _In_opt_ LPCWSTR, _In_ UINT)
struct _PRINTER_INFO_1A * PPRINTER_INFO_1A
struct _DEVICEPROPERTYHEADER * PDEVICEPROPERTYHEADER
HANDLE WINAPI CreatePrinterIC(_In_ HANDLE hPrinter, _In_opt_ LPDEVMODEW pDevMode)
DWORD _RpcScheduleJob(WINSPOOL_PRINTER_HANDLE hPrinter, DWORD JobId)
static VOID UpdateTrayIcon(HWND hwnd, LPTSTR szLCID, LPTSTR szName)
BOOL WINAPI FlushPrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pcWritten, DWORD cSleep)
DWORD _RpcWritePrinter(WINSPOOL_PRINTER_HANDLE hPrinter, BYTE *pBuf, DWORD cbBuf, DWORD *pcWritten)
static DEVICEPROPERTYSHEETS fpDevicePropertySheets
ACCESS_MASK DesiredAccess
NTSYSAPI VOID NTAPI RtlFreeUnicodeString(PUNICODE_STRING UnicodeString)
DWORD _RpcReadPrinter(WINSPOOL_PRINTER_HANDLE hPrinter, BYTE *pBuf, DWORD cbBuf, DWORD *pcNoBytesRead)
BOOL(WINAPI * SPOOLERPRINTEREVENT)(LPWSTR, int, DWORD, LPARAM)
LRESULT WINAPI SendDlgItemMessageW(_In_ HWND, _In_ int, _In_ UINT, _In_ WPARAM, _In_ LPARAM)
#define INVALID_FILE_ATTRIBUTES
DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd, LPWSTR pText, LPWSTR pCaption, DWORD dwType)
struct _PRINTER_INFO_STRESS * PPRINTER_INFO_STRESS
#define FILE_ATTRIBUTE_NORMAL
static const WCHAR wszWindowsKey[]
HMODULE WINAPI LoadPrinterDriver(HANDLE hspool)
BOOL WINAPI OpenPrinterA(LPSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSA pDefault)