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");
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;
1175 fMode &= ~DM_IN_BUFFER;
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);
1273 devprophdr.
Flags &= ~DPS_NOPERMISSION;
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(
"QueryColorProfile : Devode Invalid\n");
2742 Ret =
fpQueryColorProfile( hPrinter, pdevmode, ulQueryMode, pvProfileData, pcbProfileData, pflProfileData );
2764#define QSM_DOWNLOADINGFONTS 0x0001
2779#define QSM_XPS_PASS 0x0002
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");
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);
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)
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)
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 fpDevQueryPrintEx
static const WCHAR wszDeviceValue[]
BOOL WINAPI DevQueryPrint(HANDLE hPrinter, LPDEVMODEW pDevMode, DWORD *pResID)
BOOL WINAPI SpoolerPrinterEvent(LPWSTR pPrinterName, INT DriverEvent, DWORD Flags, LPARAM lParam)
static const WCHAR FILE_Port[]
BOOL WINAPI PrinterProperties(HWND hWnd, HANDLE hPrinter)
BOOL WINAPI GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded)
BOOL WINAPI GetDefaultPrinterA(LPSTR pszBuffer, LPDWORD pcchBuffer)
INT WINAPI DocumentEvent(HANDLE hPrinter, HDC hdc, int iEsc, ULONG cbIn, PVOID pvIn, ULONG cbOut, PVOID pvOut)
DWORD WINAPI DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort, WORD fwCapability, LPWSTR pOutput, const DEVMODEW *pDevMode)
BOOL WINAPI SetDefaultPrinterW(LPCWSTR pszPrinter)
BOOL WINAPI EnumPrintersA(DWORD Flags, PSTR Name, DWORD Level, PBYTE pPrinterEnum, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
DWORD WINAPI QueryRemoteFonts(HANDLE hPrinter, PUNIVERSAL_FONT_ID pufi, ULONG NumberOfUFIs)
LONG WINAPI CallCommonPropertySheetUI(HWND hWnd, PFNPROPSHEETUI pfnPropSheetUI, LPARAM lparam, LPDWORD pResult)
BOOL WINAPI SetDefaultPrinterA(LPCSTR pszPrinter)
static SPOOLERPRINTEREVENT fpPrinterEvent
static CONSTRUCTPRINTERFRIENDLYNAME fpConstructPrinterFriendlyName
BOOL(WINAPI * DEVQUERYPRINT)(HANDLE, LPDEVMODEW, DWORD *)
BOOL WINAPI ResetPrinterA(HANDLE hPrinter, PPRINTER_DEFAULTSA pDefault)
static COMMONPROPERTYSHEETUIW fpCommonPropertySheetUIW
BOOL FASTCALL CreateUIUserData(ULONG_PTR *puserdata, HANDLE hPrinter)
LONG(WINAPI * COMMONPROPERTYSHEETUIW)(HWND, PFNPROPSHEETUI, LPARAM, LPDWORD)
PRINTER_INFO_9W * get_devmodeW(HANDLE hprn)
BOOL WINAPI DevQueryPrintEx(PDEVQUERYPRINT_INFO pDQPInfo)
VOID FASTCALL DestroyUIUserData(ULONG_PTR *puserdata)
static DEVQUERYPRINT fpDevQueryPrint
PVOID NTAPI RtlAllocateHeap(IN PVOID HeapHandle, IN ULONG Flags, IN SIZE_T Size)
BOOLEAN NTAPI RtlFreeHeap(IN PVOID HeapHandle, IN ULONG Flags, IN PVOID HeapBase)
#define RegCloseKey(hKey)
#define ERROR_NOT_ENOUGH_MEMORY
#define ERROR_INSUFFICIENT_BUFFER
void RosConvertUnicodeDevModeToAnsiDevmode(PDEVMODEW pDevModeInput, PDEVMODEA pDevModeOutput)
BOOL WINAPI IsValidDevmodeNoSizeW(PDEVMODEW pDevmode)
void RosConvertAnsiDevModeToUnicodeDevmode(PDEVMODEA pDevModeInput, PDEVMODEW *pDevModeOutput)
LONG WINAPI RegOpenKeyExW(HKEY hKey, LPCWSTR lpSubKey, DWORD ulOptions, REGSAM samDesired, PHKEY phkResult)
LONG WINAPI RegSetValueExW(_In_ HKEY hKey, _In_ LPCWSTR lpValueName, _In_ DWORD Reserved, _In_ DWORD dwType, _In_ CONST BYTE *lpData, _In_ DWORD cbData)
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)
LONG WINAPI RegQueryValueExW(_In_ HKEY hkeyorg, _In_ LPCWSTR name, _In_ LPDWORD reserved, _In_ LPDWORD type, _In_ LPBYTE data, _In_ LPDWORD count)