From a2a8ce494761a083585d66e30db7374d4d384fbd Mon Sep 17 00:00:00 2001 From: Timo Kreuzer Date: Tue, 1 Aug 2023 11:52:07 +0300 Subject: [PATCH] [WINSPOOL.DRV] Improve some stubs --- sdk/include/psdk/winspool.h | 2 +- win32ss/printing/base/winspool/devmode.c | 27 ++++++++++++++++ win32ss/printing/base/winspool/printers.c | 33 ++++++++++++++++++++ win32ss/printing/base/winspool/winspool.spec | 10 +++--- 4 files changed, 66 insertions(+), 6 deletions(-) diff --git a/sdk/include/psdk/winspool.h b/sdk/include/psdk/winspool.h index 7d615730405..3750599e6a3 100644 --- a/sdk/include/psdk/winspool.h +++ b/sdk/include/psdk/winspool.h @@ -1011,7 +1011,7 @@ WINBOOL WINAPI EnumPrintersW(DWORD Flags,LPWSTR Name,DWORD Level,LPBYTE pPrinter LONG WINAPI DocumentPropertiesW(HWND hWnd,HANDLE hPrinter,LPWSTR pDeviceName,PDEVMODEW pDevModeOutput,PDEVMODEW pDevModeInput,DWORD fMode); LONG WINAPI AdvancedDocumentPropertiesA(HWND hWnd,HANDLE hPrinter,LPSTR pDeviceName,PDEVMODEA pDevModeOutput,PDEVMODEA pDevModeInput); LONG WINAPI AdvancedDocumentPropertiesW(HWND hWnd,HANDLE hPrinter,LPWSTR pDeviceName,PDEVMODEW pDevModeOutput,PDEVMODEW pDevModeInput); - LONG ExtDeviceMode(HWND hWnd,HANDLE hInst,LPDEVMODEA pDevModeOutput,LPSTR pDeviceName,LPSTR pPort,LPDEVMODEA pDevModeInput,LPSTR pProfile,DWORD fMode); + LONG WINAPI ExtDeviceMode(HWND hWnd,HANDLE hInst,LPDEVMODEA pDevModeOutput,LPSTR pDeviceName,LPSTR pPort,LPDEVMODEA pDevModeInput,LPSTR pProfile,DWORD fMode); DWORD WINAPI GetPrinterDataA(HANDLE hPrinter,LPSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); DWORD WINAPI GetPrinterDataW(HANDLE hPrinter,LPWSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); DWORD WINAPI GetPrinterDataExA(HANDLE hPrinter,LPCSTR pKeyName,LPCSTR pValueName,LPDWORD pType,LPBYTE pData,DWORD nSize,LPDWORD pcbNeeded); diff --git a/win32ss/printing/base/winspool/devmode.c b/win32ss/printing/base/winspool/devmode.c index fd1a615e3f4..e1fb4cedd4a 100644 --- a/win32ss/printing/base/winspool/devmode.c +++ b/win32ss/printing/base/winspool/devmode.c @@ -364,3 +364,30 @@ void RosConvertUnicodeDevModeToAnsiDevmode(PDEVMODEW pDevModeInput, PDEVMODEA pD memcpy( pDevModeOutput, pTmp, pTmp->dmSize + pTmp->dmDriverExtra); // Copy into a Wide char (Larger) buffer. HeapFree(hProcessHeap, 0, pTmp); } + +VOID +WINAPI +DeviceMode( + PVOID param_1, + PVOID param_2, + PCHAR param_3, + PVOID param_4) +{ + UNIMPLEMENTED; +} + +LONG +WINAPI +ExtDeviceMode( + HWND hWnd, + HANDLE hInst, + LPDEVMODEA pDevModeOutput, + LPSTR pDeviceName, + LPSTR pPort, + LPDEVMODEA pDevModeInput, + LPSTR pProfile, + DWORD fMode) +{ + UNIMPLEMENTED; + return 0; +} diff --git a/win32ss/printing/base/winspool/printers.c b/win32ss/printing/base/winspool/printers.c index 6011571d341..6f22ce57bc0 100644 --- a/win32ss/printing/base/winspool/printers.c +++ b/win32ss/printing/base/winspool/printers.c @@ -4059,3 +4059,36 @@ Cleanup: SetLastError(dwErrorCode); return (dwErrorCode == ERROR_SUCCESS); } + +HANDLE +WINAPI +CreatePrinterIC( + _In_ HANDLE hPrinter, + _In_opt_ LPDEVMODEW pDevMode) +{ + UNIMPLEMENTED; + return NULL; +} + +BOOL +WINAPI +DeletePrinterIC( + _In_ HANDLE hPrinterIC) +{ + UNIMPLEMENTED; + return FALSE; +} + +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) +{ + UNIMPLEMENTED; + return FALSE; +} diff --git a/win32ss/printing/base/winspool/winspool.spec b/win32ss/printing/base/winspool/winspool.spec index dbd454ca0c5..750499f2f5b 100644 --- a/win32ss/printing/base/winspool/winspool.spec +++ b/win32ss/printing/base/winspool/winspool.spec @@ -40,7 +40,7 @@ 139 stub ConnectToPrinterDlg 140 stub ConvertAnsiDevModeToUnicodeDevmode 141 stub ConvertUnicodeDevModeToAnsiDevmode -142 stdcall -stub CreatePrinterIC(ptr ptr) +142 stdcall CreatePrinterIC(ptr ptr) 143 stdcall DEVICECAPABILITIES(str str long ptr ptr) DeviceCapabilitiesA 144 stdcall DEVICEMODE(ptr ptr str ptr) DeviceMode 145 stdcall DeleteFormA(ptr str) @@ -64,7 +64,7 @@ 163 stdcall DeletePrinterDriverExA(str str str long long) 164 stdcall DeletePrinterDriverExW(wstr wstr wstr long long) 165 stdcall DeletePrinterDriverW(wstr wstr wstr) -166 stdcall -stub DeletePrinterIC(ptr) +166 stdcall DeletePrinterIC(ptr) 167 stdcall DeletePrinterKeyA(ptr str) 168 stdcall DeletePrinterKeyW(ptr wstr) 169 stdcall DevQueryPrint(ptr ptr ptr) @@ -72,7 +72,7 @@ 171 stdcall DeviceCapabilities(str str long ptr ptr) DeviceCapabilitiesA 172 stdcall DeviceCapabilitiesA(str str long ptr ptr) 173 stdcall DeviceCapabilitiesW(wstr wstr long ptr ptr) -174 stdcall -stub DeviceMode(ptr ptr str ptr) +174 stdcall DeviceMode(ptr ptr str ptr) 175 stdcall DevicePropertySheets(ptr long) 176 stdcall DocumentEvent(ptr ptr long long ptr long ptr) 177 stdcall DocumentPropertiesA(ptr ptr str ptr ptr long) @@ -134,7 +134,7 @@ 233 stdcall EnumPrinterKeyW(ptr wstr wstr long ptr) 234 stdcall EnumPrintersA(long ptr long ptr long ptr ptr) 235 stdcall EnumPrintersW(long ptr long ptr long ptr ptr) -236 stdcall -stub ExtDeviceMode(ptr ptr ptr str str ptr str long) +236 stdcall ExtDeviceMode(ptr ptr ptr str str ptr str long) 237 stub FindClosePrinterChangeNotification 238 stub FindFirstPrinterChangeNotification 239 stub FindNextPrinterChangeNotification @@ -161,7 +161,7 @@ 260 stdcall IsValidDevmodeW(ptr long) 261 stdcall OpenPrinterA(str ptr ptr) 262 stdcall OpenPrinterW(wstr ptr ptr) -263 stdcall -stub PlayGdiScriptOnPrinterIC(ptr ptr long ptr long long) +263 stdcall PlayGdiScriptOnPrinterIC(ptr ptr long ptr long long) 264 stdcall PrinterMessageBoxA(ptr long ptr str str long) 265 stdcall PrinterMessageBoxW(ptr long ptr wstr wstr long) 266 stdcall PrinterProperties(ptr ptr)