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);
116 ERR(
"SetJobW failed with error %lu!\n", dwErrorCode);
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");
758 ERR(
"Failed to allocate PRINTER_INFO_9W of %u bytes\n", needed);
779 FIXME(
"CreateUIUserData\n");
790 return *puserdata != 0;
798 FIXME(
"DestroyUIUserData\n");
839 ERR(
"Failed to allocate PRINTER_INFO_2W of %u bytes\n", needed);
849 if (pdphdr->
cbOut < cbDevMode)
851 ERR(
"cbOut (%lu) < cbDevMode(%u)\n", pdphdr->
cbOut, cbDevMode);
924 FIXME(
"DocumentPropertySheets(%p, 0x%lx)\n", pCPSUIInfo,
lparam);
928 if ( !pCPSUIInfo &&
lparam )
943 FIXME(
"DPS : fpDocumentPropertySheets(%p, 0x%lx) pdmOut %p\n", pCPSUIInfo,
lparam, pdphdr->
pdmOut);
945 FIXME(
"DPS : fpDocumentPropertySheets result %d cbOut %d\n",
Result, pdphdr->
cbOut);
956 FIXME(
"IDPS : Using ReactOS backup!!! DevMode Size %d\n",
Result);
997 switch ( pCPSUIInfo->
Reason )
1001 FIXME(
"DocPS : PROPSHEETUI_REASON_INIT\n");
1021 FIXME(
"DocPS : PROPSHEETUI_REASON_INIT Fail\n");
1028 FIXME(
"DocPS : PROPSHEETUI_REASON_GET_INFO_HEADER\n");
1045 FIXME(
"DocPS : PROPSHEETUI_REASON_DESTROY\n");
1051 FIXME(
"DocPS : PROPSHEETUI_REASON_SET_RESULT\n");
1056 if ( pCPSUIInfo->
Result > 0 )
1074 FIXME(
"DevicePropertySheets(%p, 0x%lx)\n", pCPSUIInfo,
lparam);
1089 switch ( pCPSUIInfo->
Reason )
1093 FIXME(
"DevPS : PROPSHEETUI_REASON_INIT\n");
1113 FIXME(
"DevPS : PROPSHEETUI_REASON_INIT Fail\n");
1120 FIXME(
"DevPS : PROPSHEETUI_REASON_GET_INFO_HEADER\n");
1137 FIXME(
"DevPS : PROPSHEETUI_REASON_DESTROY\n");
1143 FIXME(
"DevPS : PROPSHEETUI_REASON_SET_RESULT\n");
1160 FIXME(
"CallCommonPropertySheetUI(%p, %p, 0x%lx, %p)\n",
hWnd, pfnPropSheetUI,
lparam, pResult);
1183 FIXME(
"DocumentPropertiesW(%p, %p, %S, %p, %p, %lu)\n",
hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput, fMode);
1187 hUseHandle = hPrinter;
1191 ERR(
"No handle, and no usable printer name passed in\n");
1198 pDevModeInput =
NULL;
1199 fMode &= ~DM_IN_BUFFER;
1206 docprophdr.
cbOut = 0;
1208 if ( pDevModeOutput )
1212 docprophdr.
fMode = 0;
1213 FIXME(
"DPW : Call DocumentPropertySheets with pDevModeOutput %p\n",pDevModeOutput);
1217 docprophdr.
pdmIn = pDevModeInput;
1218 docprophdr.
pdmOut = pDevModeOutput;
1219 docprophdr.
fMode = fMode;
1230 FIXME(
"CallCommonPropertySheetUI return error\n");
1235 FIXME(
"CallCommonPropertySheetUI returned\n");
1239 FIXME(
"DPW : CallDocumentPropertySheets\n");
1245 if ( pDevModeOutput )
1249 ERR(
"DPW : Improper pDevModeOutput size.\n");
1255 ERR(
"No pDevModeOutput\n");
1259 if (hUseHandle && !hPrinter)
1274 FIXME(
"PrinterProperties(%p, %p)\n",
hWnd, hPrinter);
1287 ERR(
"Failed to allocate PRINTER_INFO_2W of %u bytes\n", needed);
1302 devprophdr.
Flags &= ~DPS_NOPERMISSION;
1311 FIXME(
"PrinterProperties fail ICPSUI\n");
1325 TRACE(
"EndDocPrinter(%p)\n", hPrinter);
1344 ERR(
"_RpcScheduleJob failed with exception code %lu!\n", dwErrorCode);
1361 ERR(
"_RpcEndDocPrinter failed with exception code %lu!\n", dwErrorCode);
1380 TRACE(
"EndPagePrinter(%p)\n", hPrinter);
1404 ERR(
"_RpcEndPagePrinter failed with exception code %lu!\n", dwErrorCode);
1443 TRACE(
"EnumPrintersA(%lu, %s, %lu, %p, %lu, %p, %p)\n",
Flags,
Name,
Level, pPrinterEnum, cbBuf,
pcbNeeded, pcReturned);
1449 ERR(
"Invalid Level!\n");
1462 ERR(
"HeapAlloc failed!\n");
1491 for (
i = 0;
i < *pcReturned;
i++)
1497 if (ppi1w[
i].pDescription)
1503 if (!pszDescription)
1506 ERR(
"HeapAlloc failed!\n");
1525 ERR(
"HeapAlloc failed!\n");
1535 if (ppi1w[
i].pComment)
1544 ERR(
"HeapAlloc failed!\n");
1559 if (ppi2w[
i].pServerName)
1568 ERR(
"HeapAlloc failed!\n");
1578 if (ppi2w[
i].pPrinterName)
1584 if (!pszPrinterName)
1587 ERR(
"HeapAlloc failed!\n");
1597 if (ppi2w[
i].pShareName)
1606 ERR(
"HeapAlloc failed!\n");
1616 if (ppi2w[
i].pPortName)
1625 ERR(
"HeapAlloc failed!\n");
1635 if (ppi2w[
i].pDriverName)
1644 ERR(
"HeapAlloc failed!\n");
1654 if (ppi2w[
i].pComment)
1663 ERR(
"HeapAlloc failed!\n");
1673 if (ppi2w[
i].pLocation)
1682 ERR(
"HeapAlloc failed!\n");
1693 if (ppi2w[
i].pSepFile)
1702 ERR(
"HeapAlloc failed!\n");
1712 if (ppi2w[
i].pPrintProcessor)
1718 if (!pszPrintProcessor)
1721 ERR(
"HeapAlloc failed!\n");
1732 if (ppi2w[
i].pDatatype)
1741 ERR(
"HeapAlloc failed!\n");
1751 if (ppi2w[
i].pParameters)
1760 ERR(
"HeapAlloc failed!\n");
1769 if ( ppi2w[
i].pDevMode )
1778 if (ppi4w[
i].pPrinterName)
1784 if (!pszPrinterName)
1787 ERR(
"HeapAlloc failed!\n");
1797 if (ppi4w[
i].pServerName)
1806 ERR(
"HeapAlloc failed!\n");
1820 if (ppi5w[
i].pPrinterName)
1826 if (!pszPrinterName)
1829 ERR(
"HeapAlloc failed!\n");
1839 if (ppi5w[
i].pPortName)
1848 ERR(
"HeapAlloc failed!\n");
1880 TRACE(
"EnumPrintersW(%lu, %S, %lu, %p, %lu, %p, %p)\n",
Flags,
Name,
Level, pPrinterEnum, cbBuf,
pcbNeeded, pcReturned);
1889 if (cbBuf && pPrinterEnum)
1900 ERR(
"_RpcEnumPrinters failed with exception code %lu!\n", dwErrorCode);
1919 TRACE(
"FlushPrinter(%p, %p, %lu, %p, %lu)\n", hPrinter, pBuf, cbBuf, pcWritten, cSleep);
1930 TRACE(
"GetDefaultPrinterA(%p, %p)\n", pszBuffer, pcchBuffer);
1940 if (pszBuffer && *pcchBuffer)
1946 ERR(
"HeapAlloc failed!\n");
1974 DWORD cchInputBuffer;
1980 TRACE(
"GetDefaultPrinterW(%p, %p)\n", pszBuffer, pcchBuffer);
1989 cchInputBuffer = *pcchBuffer;
1995 ERR(
"RegOpenKeyExW failed with status %lu!\n", dwErrorCode);
2003 ERR(
"RegQueryValueExW failed with status %lu!\n", dwErrorCode);
2012 ERR(
"HeapAlloc failed!\n");
2020 ERR(
"RegQueryValueExW failed with status %lu!\n", dwErrorCode);
2026 pwszComma =
wcschr(pwszDevice,
L',');
2029 ERR(
"Found no or invalid default printer: %S!\n", pwszDevice);
2035 *pcchBuffer = pwszComma - pwszDevice + 1;
2038 if ( !pszBuffer || cchInputBuffer < *pcchBuffer)
2079 TRACE(
"GetPrinterA(%p, %lu, %p, %lu, %p)\n", hPrinter,
Level, pPrinter, cbBuf,
pcbNeeded);
2082 if (Level < 1 || Level > 9)
2085 ERR(
"Invalid Level!\n");
2101 PSTR pszDescription;
2107 if (!pszDescription)
2110 ERR(
"HeapAlloc failed!\n");
2131 ERR(
"HeapAlloc failed!\n");
2152 ERR(
"HeapAlloc failed!\n");
2177 ERR(
"HeapAlloc failed!\n");
2189 PSTR pszPrinterName;
2195 if (!pszPrinterName)
2198 ERR(
"HeapAlloc failed!\n");
2219 ERR(
"HeapAlloc failed!\n");
2240 ERR(
"HeapAlloc failed!\n");
2261 ERR(
"HeapAlloc failed!\n");
2282 ERR(
"HeapAlloc failed!\n");
2303 ERR(
"HeapAlloc failed!\n");
2324 ERR(
"HeapAlloc failed!\n");
2336 PSTR pszPrintProcessor;
2342 if (!pszPrintProcessor)
2345 ERR(
"HeapAlloc failed!\n");
2366 ERR(
"HeapAlloc failed!\n");
2387 ERR(
"HeapAlloc failed!\n");
2407 PSTR pszPrinterName;
2413 if (!pszPrinterName)
2416 ERR(
"HeapAlloc failed!\n");
2437 ERR(
"HeapAlloc failed!\n");
2453 PSTR pszPrinterName;
2459 if (!pszPrinterName)
2462 ERR(
"HeapAlloc failed!\n");
2483 ERR(
"HeapAlloc failed!\n");
2499 PSTR pszaObjectGUID;
2505 if (!pszaObjectGUID)
2508 ERR(
"HeapAlloc failed!\n");
2538 TRACE(
"GetPrinterW(%p, %lu, %p, %lu, %p)\n", hPrinter,
Level, pPrinter, cbBuf,
pcbNeeded);
2554 if (cbBuf && pPrinter)
2565 ERR(
"_RpcGetPrinter failed with exception code %lu!\n", dwErrorCode);
2589 TRACE(
"OpenPrinterA(%s, %p, %p)\n", pPrinterName, phPrinter, pDefault);
2597 if (!pwszPrinterName)
2600 ERR(
"HeapAlloc failed!\n");
2620 ERR(
"HeapAlloc failed!\n");
2631 bReturnValue =
OpenPrinterW(pwszPrinterName, phPrinter, &wDefault);
2646 if (pwszPrinterName)
2649 return bReturnValue;
2662 TRACE(
"OpenPrinterW(%S, %p, %p)\n", pPrinterName, phPrinter, pDefault);
2683 dwErrorCode =
_RpcOpenPrinter(pPrinterName, &hPrinter, pDatatype, &DevModeContainer, AccessRequired);
2688 ERR(
"_RpcOpenPrinter failed with exception code %lu!\n", dwErrorCode);
2699 ERR(
"HeapAlloc failed!\n");
2709 *phPrinter = (
HANDLE)pHandle;
2737 VOID *pvProfileData,
2738 ULONG *pcbProfileData,
2739 FLONG *pflProfileData )
2745 FIXME(
"QueryColorProfile(%p, %p, %l, %p, %p, %p)\n", hPrinter, pdevmode, ulQueryMode, pvProfileData, pcbProfileData, pflProfileData);
2758 ERR(
"QueryColorProfile : Devode Invalid\n");
2771 Ret =
fpQueryColorProfile( hPrinter, pdevmode, ulQueryMode, pvProfileData, pcbProfileData, pflProfileData );
2793#define QSM_DOWNLOADINGFONTS 0x0001
2808#define QSM_XPS_PASS 0x0002
2817 FIXME(
"QuerySpoolMode(%p, %p, %p)\n", hPrinter, downloadFontsFlags,
dwVersion);
2825 ERR(
"Failed to allocate PRINTER_INFO_2W of %u bytes\n", needed);
2834 *downloadFontsFlags = 0;
2862 FIXME(
"QueryRemoteFonts(%p, %p, %lu)\n", hPrinter, pufi, NumberOfUFIs);
2878 if( NumberOfUFIs < cIn )
2898 TRACE(
"ReadPrinter(%p, %p, %lu, %p)\n", hPrinter, pBuf, cbBuf, pNoBytesRead);
2915 ERR(
"_RpcReadPrinter failed with exception code %lu!\n", dwErrorCode);
2932 TRACE(
"ResetPrinterA(%p, %p)\n", hPrinter, pDefault);
2967 TRACE(
"ResetPrinterW(%p, %p)\n", hPrinter, pDefault);
2978 FIXME(
"SeekPrinter(%p, %I64u, %p, %lu, %d)\n", hPrinter, liDistanceToMove.
QuadPart, pliNewPointer, dwMoveMethod, bWrite);
2995 ERR(
"_RpcSeekPrinter failed with exception code %lu!\n", dwErrorCode);
3011 TRACE(
"SetDefaultPrinterA(%s)\n", pszPrinter);
3022 ERR(
"HeapAlloc failed!\n");
3035 return bReturnValue;
3041 const WCHAR wszDevicesKey[] =
L"Software\\Microsoft\\Windows NT\\CurrentVersion\\Devices";
3043 DWORD cbDeviceValueData;
3044 DWORD cbPrinterValueData = 0;
3052 TRACE(
"SetDefaultPrinterW(%S)\n", pszPrinter);
3058 ERR(
"RegOpenKeyExW failed with status %lu!\n", dwErrorCode);
3063 if (pszPrinter && *pszPrinter)
3074 ERR(
"RegQueryValueExW failed with status %lu!\n", dwErrorCode);
3078 cchPrinter =
wcslen(pszPrinter);
3096 pszPrinter = wszPrinter;
3102 cbDeviceValueData = (cchPrinter + 1) *
sizeof(
WCHAR) + cbPrinterValueData;
3104 if (!pwszDeviceValueData)
3107 ERR(
"HeapAlloc failed!\n");
3112 CopyMemory(pwszDeviceValueData, pszPrinter, cchPrinter *
sizeof(
WCHAR));
3113 pwszDeviceValueData[cchPrinter] =
L',';
3124 ERR(
"RegOpenKeyExW failed with status %lu!\n", dwErrorCode);
3132 ERR(
"RegSetValueExW failed with status %lu!\n", dwErrorCode);
3143 if (pwszDeviceValueData)
3341 DevModeContainer.
cbBuf = 0;
3344 SecurityContainer.
cbBuf = 0;
3418 if ( pPrinter ==
NULL )
3475 TRACE(
"DriverUnloadComplete(%S)\n", pDriverFile);
3531 ERR(
"Failed to allocate filename of %u bytes\n", (
len + 1) *
sizeof(
WCHAR));
3587 FIXME(
"StartDocDlgW(%p, %p)\n", hPrinter, doc);
3598 ERR(
"Failed to allocate PRINTER_INFO_5W of %u bytes\n",
len);
3621 if ( retDlg ==
IDOK )
3631 ERR(
"Failed to allocate path name buffer of %u bytes\n",
len *
sizeof(
WCHAR));
3638 else if ( retDlg == 0 )
3656 ERR(
"Failed to allocate path name buffer of %u bytes\n",
len *
sizeof(
WCHAR));
3683 if (!(
docW.lpszDocName = docnameW))
goto failed;
3688 if (!(
docW.lpszOutput = outputW))
goto failed;
3709 ERR(
"Failed to allocate path name buffer of %u bytes\n",
len);
3728 DWORD dwReturnValue = 0;
3731 TRACE(
"StartDocPrinterA(%p, %lu, %p)\n", hPrinter,
Level, pDocInfo);
3743 ERR(
"Level = %d, unsupported!\n",
Level);
3757 ERR(
"HeapAlloc failed!\n");
3773 ERR(
"HeapAlloc failed!\n");
3789 ERR(
"HeapAlloc failed!\n");
3810 return dwReturnValue;
3816 DWORD cbAddJobInfo1;
3819 DWORD dwReturnValue = 0;
3824 TRACE(
"StartDocPrinterW(%p, %lu, %p)\n", hPrinter,
Level, pDocInfo);
3841 ERR(
"Level = %d, unsupported!\n",
Level);
3866 ERR(
"HeapAlloc failed!\n");
3886 ERR(
"AddJobW failed with error %lu!\n", dwErrorCode);
3894 dwReturnValue = pHandle->
dwJobID;
3906 return dwReturnValue;
3915 TRACE(
"StartPagePrinter(%p)\n", hPrinter);
3932 ERR(
"_RpcStartPagePrinter failed with exception code %lu!\n", dwErrorCode);
3947 TRACE(
"WritePrinter(%p, %p, %lu, %p)\n", hPrinter, pBuf, cbBuf, pcWritten);
3968 ERR(
"WriteFile failed with error %lu!\n", dwErrorCode);
3987 ERR(
"_RpcWritePrinter failed with exception code %lu!\n", dwErrorCode);
4000 DWORD dwErrorCode, Bogus = 0;
4003 TRACE(
"XcvDataW(%p, %S, %p, %lu, %p, %lu, %p, %p)\n",
hXcv, pszDataName, pInputData, cbInputData, pOutputData, cbOutputData, pcbOutputNeeded, pdwStatus);
4005 if ( pcbOutputNeeded ==
NULL )
4021 if ( pInputData ==
NULL )
4025 pInputData = (
PBYTE)&Bogus;
4029 if ( pOutputData ==
NULL )
4031 if ( !cbOutputData )
4033 pOutputData = (
PBYTE)&Bogus;
4052 ERR(
"_RpcXcvData failed with exception code %lu!\n", dwErrorCode);
ACPI_SIZE strlen(const char *String)
BOOL WINAPI XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
DWORD WINAPI PrinterMessageBoxW(HANDLE hPrinter, DWORD Error, HWND hWnd, LPWSTR pText, LPWSTR pCaption, DWORD dwType)
BOOL WINAPI DeletePrinter(HANDLE hPrinter)
DWORD WINAPI StartDocPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pDocInfo)
BOOL WINAPI GetPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD cbBuf, PDWORD pcbNeeded)
BOOL WINAPI SetPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD Command)
BOOL WINAPI EnumPrintersW(DWORD Flags, PWSTR Name, DWORD Level, PBYTE pPrinterEnum, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
BOOL WINAPI EndDocPrinter(HANDLE hPrinter)
BOOL WINAPI WritePrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pcWritten)
BOOL WINAPI ClosePrinter(HANDLE hPrinter)
BOOL WINAPI AbortPrinter(HANDLE hPrinter)
BOOL WINAPI ReadPrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pNoBytesRead)
BOOL WINAPI OpenPrinterW(PWSTR pPrinterName, PHANDLE phPrinter, PPRINTER_DEFAULTSW pDefault)
HANDLE WINAPI AddPrinterW(PWSTR pName, DWORD Level, PBYTE pPrinter)
BOOL WINAPI EndPagePrinter(HANDLE hPrinter)
BOOL WINAPI SeekPrinter(HANDLE hPrinter, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod, BOOL bWrite)
BOOL WINAPI StartPagePrinter(HANDLE hPrinter)
DWORD _RpcScheduleJob(WINSPOOL_PRINTER_HANDLE hPrinter, DWORD JobId)
DWORD _RpcSetPrinter(WINSPOOL_PRINTER_HANDLE hPrinter, WINSPOOL_PRINTER_CONTAINER *pPrinterContainer, WINSPOOL_DEVMODE_CONTAINER *pDevModeContainer, WINSPOOL_SECURITY_CONTAINER *pSecurityContainer, DWORD Command)
DWORD _RpcReadPrinter(WINSPOOL_PRINTER_HANDLE hPrinter, BYTE *pBuf, DWORD cbBuf, DWORD *pcNoBytesRead)
DWORD _RpcSeekPrinter(WINSPOOL_PRINTER_HANDLE hPrinter, LARGE_INTEGER liDistanceToMove, PLARGE_INTEGER pliNewPointer, DWORD dwMoveMethod, BOOL bWrite)
DWORD _RpcEndDocPrinter(WINSPOOL_PRINTER_HANDLE hPrinter)
DWORD _RpcAbortPrinter(WINSPOOL_PRINTER_HANDLE hPrinter)
DWORD _RpcStartDocPrinter(WINSPOOL_PRINTER_HANDLE hPrinter, WINSPOOL_DOC_INFO_CONTAINER *pDocInfoContainer, DWORD *pJobId)
DWORD _RpcGetPrinter(WINSPOOL_PRINTER_HANDLE hPrinter, DWORD Level, BYTE *pPrinter, DWORD cbBuf, DWORD *pcbNeeded)
DWORD _RpcOpenPrinter(WINSPOOL_HANDLE pPrinterName, WINSPOOL_PRINTER_HANDLE *phPrinter, WCHAR *pDatatype, WINSPOOL_DEVMODE_CONTAINER *pDevModeContainer, DWORD AccessRequired)
DWORD _RpcStartPagePrinter(WINSPOOL_PRINTER_HANDLE hPrinter)
DWORD _RpcAddPrinter(WINSPOOL_HANDLE pName, WINSPOOL_PRINTER_CONTAINER *pPrinterContainer, WINSPOOL_DEVMODE_CONTAINER *pDevModeContainer, WINSPOOL_SECURITY_CONTAINER *pSecurityContainer, WINSPOOL_PRINTER_HANDLE *pHandle)
DWORD _RpcClosePrinter(WINSPOOL_PRINTER_HANDLE *phPrinter)
DWORD _RpcDeletePrinter(WINSPOOL_PRINTER_HANDLE hPrinter)
DWORD _RpcEnumPrinters(DWORD Flags, WINSPOOL_HANDLE Name, DWORD Level, BYTE *pPrinterEnum, DWORD cbBuf, DWORD *pcbNeeded, DWORD *pcReturned)
DWORD _RpcEndPagePrinter(WINSPOOL_PRINTER_HANDLE hPrinter)
DWORD _RpcWritePrinter(WINSPOOL_PRINTER_HANDLE hPrinter, BYTE *pBuf, DWORD cbBuf, DWORD *pcWritten)
DWORD _RpcXcvData(WINSPOOL_PRINTER_HANDLE hXcv, const WCHAR *pszDataName, BYTE *pInputData, DWORD cbInputData, BYTE *pOutputData, DWORD cbOutputData, DWORD *pcbOutputNeeded, DWORD *pdwStatus)
BOOL WINAPI FlushPrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pcWritten, DWORD cSleep)
BOOL WINAPI SetPrinterA(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD Command)
#define QSM_DOWNLOADINGFONTS
BOOL FASTCALL IntFixUpDevModeNames(PDOCUMENTPROPERTYHEADER pdphdr)
LONG WINAPI DevicePropertySheets(PPROPSHEETUI_INFO pCPSUIInfo, LPARAM lparam)
INT_PTR CALLBACK file_dlg_proc(HWND hwnd, UINT msg, WPARAM wparam, LPARAM lparam)
static DEVICEPROPERTYSHEETS fpDevicePropertySheets
BOOL WINAPI QueryColorProfile(HANDLE hPrinter, PDEVMODEW pdevmode, ULONG ulQueryMode, VOID *pvProfileData, ULONG *pcbProfileData, FLONG *pflProfileData)
struct _COMPUI_USERDATA COMPUI_USERDATA
LONG WINAPI ConstructPrinterFriendlyName(PWSTR, PVOID, LPDWORD Size)
DWORD WINAPI PrinterMessageBoxA(HANDLE hPrinter, DWORD Error, HWND hWnd, LPSTR pText, LPSTR pCaption, DWORD dwType)
DWORD(WINAPI * DEVICECAPABILITIES)(HANDLE, PWSTR, WORD, PVOID, PDEVMODEW)
LONG WINAPI DocumentPropertySheets(PPROPSHEETUI_INFO pCPSUIInfo, LPARAM lparam)
LONG WINAPI CreatePrinterFriendlyName(PCOMPUI_USERDATA pcui_ud, LPWSTR pszPrinterName)
static DWORD _StartDocPrinterSpooled(PSPOOLER_HANDLE pHandle, PDOC_INFO_1W pDocInfo1, PADDJOB_INFO_1W pAddJobInfo1)
LONG(WINAPI * CONSTRUCTPRINTERFRIENDLYNAME)(PWSTR, PVOID, LPDWORD)
DWORD WINAPI DeviceCapabilitiesA(LPCSTR pDevice, LPCSTR pPort, WORD fwCapability, LPSTR pOutput, const DEVMODEA *pDevMode)
LONG(WINAPI * DOCUMENTPROPERTYSHEETS)(PPROPSHEETUI_INFO, LPARAM)
BOOL(WINAPI * SPOOLERPRINTEREVENT)(LPWSTR, int, DWORD, LPARAM)
BOOL WINAPI OpenPrinterA(LPSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSA pDefault)
struct _COMPUI_USERDATA * PCOMPUI_USERDATA
LONG WINAPI DocumentPropertiesW(HWND hWnd, HANDLE hPrinter, LPWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput, DWORD fMode)
HANDLE WINAPI AddPrinterA(PSTR pName, DWORD Level, PBYTE pPrinter)
LONG(WINAPI * QUERYCOLORPROFILE)(HANDLE, PDEVMODEW, ULONG, PVOID, ULONG *, FLONG *)
LONG(WINAPI * DEVICEPROPERTYSHEETS)(PPROPSHEETUI_INFO, LPARAM)
BOOL(WINAPI * DEVQUERYPRINTEX)(PDEVQUERYPRINT_INFO)
BOOL WINAPI QuerySpoolMode(HANDLE hPrinter, PDWORD downloadFontsFlags, PDWORD dwVersion)
LONG WINAPI DocumentPropertiesA(HWND hWnd, HANDLE hPrinter, LPSTR pDeviceName, PDEVMODEA pDevModeOutput, PDEVMODEA pDevModeInput, DWORD fMode)
HANDLE WINAPI CreatePrinterIC(_In_ HANDLE hPrinter, _In_opt_ LPDEVMODEW pDevMode)
static QUERYCOLORPROFILE fpQueryColorProfile
BOOL WINAPI GetDefaultPrinterW(LPWSTR pszBuffer, LPDWORD pcchBuffer)
HMODULE WINAPI LoadPrinterDriver(HANDLE hspool)
static DOCUMENTPROPERTYSHEETS fpDocumentPropertySheets
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)
LPSTR WINAPI StartDocDlgA(HANDLE hPrinter, DOCINFOA *doc)
BOOL WINAPI SplDriverUnloadComplete(LPWSTR pDriverFile)
static const WCHAR wszWindowsKey[]
DWORD WINAPI StartDocPrinterA(HANDLE hPrinter, DWORD Level, PBYTE pDocInfo)
LPWSTR WINAPI StartDocDlgW(HANDLE hPrinter, DOCINFOW *doc)
static DEVICECAPABILITIES fpDeviceCapabilities
static DEVQUERYPRINTEX fpDevQueryPrintE