[WINSPOOL] Provide stubs with tracing and reasonable failure codes for even more popular Spooler APIs.

This may get more applications to work which previously called into the WINE-generated stubs (that throw an exception).
It also improves debug logs when the "winspool" debug channel is enabled. With such detailed debug logs, we may get an idea which winspool APIs need to be implemented sooner than others.
This commit is contained in:
Colin Finck 2017-12-09 13:35:42 +01:00
parent 1f6f08eca0
commit 46b9165909
10 changed files with 531 additions and 102 deletions

View file

@ -5,6 +5,7 @@ spec2def(winspool.drv winspool.spec ADD_IMPORTLIB)
list(APPEND SOURCE
devmode.c
forms.c
jobs.c
main.c
monitors.c

View file

@ -0,0 +1,88 @@
/*
* PROJECT: ReactOS Spooler API
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Functions related to Forms
* COPYRIGHT: Copyright 2017 Colin Finck (colin@reactos.org)
*/
#include "precomp.h"
BOOL WINAPI
AddFormA(HANDLE hPrinter, DWORD Level, PBYTE pForm)
{
TRACE("AddFormA(%p, %lu, %p)\n", hPrinter, Level, pForm);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddFormW(HANDLE hPrinter, DWORD Level, PBYTE pForm)
{
TRACE("AddFormW(%p, %lu, %p)\n", hPrinter, Level, pForm);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
DeleteFormA(HANDLE hPrinter, PSTR pFormName)
{
TRACE("DeleteFormA(%p, %s)\n", hPrinter, pFormName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
DeleteFormW(HANDLE hPrinter, PWSTR pFormName)
{
TRACE("DeleteFormW(%p, %S)\n", hPrinter, pFormName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
EnumFormsA(HANDLE hPrinter, DWORD Level, PBYTE pForm, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{
TRACE("EnumFormsA(%p, %lu, %p, %lu, %p, %p)\n", hPrinter, Level, pForm, cbBuf, pcbNeeded, pcReturned);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
EnumFormsW(HANDLE hPrinter, DWORD Level, PBYTE pForm, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{
TRACE("EnumFormsW(%p, %lu, %p, %lu, %p, %p)\n", hPrinter, Level, pForm, cbBuf, pcbNeeded, pcReturned);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
GetFormA(HANDLE hPrinter, PSTR pFormName, DWORD Level, PBYTE pForm, DWORD cbBuf, PDWORD pcbNeeded)
{
TRACE("GetFormA(%p, %s, %lu, %p, %lu, %p)\n", hPrinter, pFormName, Level, pForm, cbBuf, pcbNeeded);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
GetFormW(HANDLE hPrinter, PWSTR pFormName, DWORD Level, PBYTE pForm, DWORD cbBuf, PDWORD pcbNeeded)
{
TRACE("GetFormW(%p, %S, %lu, %p, %lu, %p)\n", hPrinter, pFormName, Level, pForm, cbBuf, pcbNeeded);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
SetFormA(HANDLE hPrinter, PSTR pFormName, DWORD Level, PBYTE pForm)
{
TRACE("SetFormA(%p, %s, %lu, %p)\n", hPrinter, pFormName, Level, pForm);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
SetFormW(HANDLE hPrinter, PWSTR pFormName, DWORD Level, PBYTE pForm)
{
TRACE("SetFormW(%p, %S, %lu, %p)\n", hPrinter, pFormName, Level, pForm);
UNIMPLEMENTED;
return FALSE;
}

View file

@ -22,6 +22,14 @@ _MarshallUpMonitorInfo(PBYTE pMonitorInfo, DWORD Level)
}
}
BOOL WINAPI
AddMonitorA(PSTR pName, DWORD Level, PBYTE pMonitors)
{
TRACE("AddMonitorA(%s, %lu, %p)\n", pName, Level, pMonitors);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddMonitorW(PWSTR pName, DWORD Level, PBYTE pMonitors)
{
@ -30,6 +38,14 @@ AddMonitorW(PWSTR pName, DWORD Level, PBYTE pMonitors)
return FALSE;
}
BOOL WINAPI
DeleteMonitorA(PSTR pName, PSTR pEnvironment, PSTR pMonitorName)
{
TRACE("DeleteMonitorA(%s, %s, %s)\n", pName, pEnvironment, pMonitorName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
DeleteMonitorW(PWSTR pName, PWSTR pEnvironment, PWSTR pMonitorName)
{
@ -38,6 +54,14 @@ DeleteMonitorW(PWSTR pName, PWSTR pEnvironment, PWSTR pMonitorName)
return FALSE;
}
BOOL WINAPI
EnumMonitorsA(PSTR pName, DWORD Level, PBYTE pMonitors, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{
TRACE("EnumMonitorsA(%s, %lu, %p, %lu, %p, %p)\n", pName, Level, pMonitors, cbBuf, pcbNeeded, pcReturned);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
EnumMonitorsW(PWSTR pName, DWORD Level, PBYTE pMonitors, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{

View file

@ -22,6 +22,30 @@ _MarshallUpPortInfo(PBYTE pPortInfo, DWORD Level)
}
}
BOOL WINAPI
AddPortA(PSTR pName, HWND hWnd, PSTR pMonitorName)
{
TRACE("AddPortA(%s, %p, %s)\n", pName, hWnd, pMonitorName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddPortExA(PSTR pName, DWORD Level, PBYTE lpBuffer, PSTR lpMonitorName)
{
TRACE("AddPortExA(%s, %lu, %p, %s)\n", pName, Level, lpBuffer, lpMonitorName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddPortExW(PWSTR pName, DWORD Level, PBYTE lpBuffer, PWSTR lpMonitorName)
{
TRACE("AddPortExA(%S, %lu, %p, %S)\n", pName, Level, lpBuffer, lpMonitorName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddPortW(PWSTR pName, HWND hWnd, PWSTR pMonitorName)
{
@ -30,6 +54,14 @@ AddPortW(PWSTR pName, HWND hWnd, PWSTR pMonitorName)
return FALSE;
}
BOOL WINAPI
ConfigurePortA(PSTR pName, HWND hWnd, PSTR pPortName)
{
TRACE("ConfigurePortA(%s, %p, %s)\n", pName, hWnd, pPortName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
ConfigurePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
{
@ -38,6 +70,14 @@ ConfigurePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
return FALSE;
}
BOOL WINAPI
DeletePortA(PSTR pName, HWND hWnd, PSTR pPortName)
{
TRACE("DeletePortA(%s, %p, %s)\n", pName, hWnd, pPortName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
DeletePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
{
@ -46,6 +86,14 @@ DeletePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
return FALSE;
}
BOOL WINAPI
EnumPortsA(PSTR pName, DWORD Level, PBYTE pPorts, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{
TRACE("EnumPortsA(%s, %lu, %p, %lu, %p, %p)\n", pName, Level, pPorts, cbBuf, pcbNeeded, pcReturned);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
EnumPortsW(PWSTR pName, DWORD Level, PBYTE pPorts, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{
@ -84,3 +132,19 @@ EnumPortsW(PWSTR pName, DWORD Level, PBYTE pPorts, DWORD cbBuf, PDWORD pcbNeeded
SetLastError(dwErrorCode);
return (dwErrorCode == ERROR_SUCCESS);
}
BOOL WINAPI
SetPortA(PSTR pName, PSTR pPortName, DWORD dwLevel, PBYTE pPortInfo)
{
TRACE("SetPortA(%s, %s, %lu, %p)\n", pName, pPortName, dwLevel, pPortInfo);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
SetPortW(PWSTR pName, PWSTR pPortName, DWORD dwLevel, PBYTE pPortInfo)
{
TRACE("SetPortW(%S, %S, %lu, %p)\n", pName, pPortName, dwLevel, pPortInfo);
UNIMPLEMENTED;
return FALSE;
}

View file

@ -7,12 +7,116 @@
#include "precomp.h"
LONG WINAPI
AdvancedDocumentPropertiesA(HWND hWnd, HANDLE hPrinter, PSTR pDeviceName, PDEVMODEA pDevModeOutput, PDEVMODEA pDevModeInput)
{
TRACE("AdvancedDocumentPropertiesA(%p, %p, %s, %p, %p)\n", hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput);
UNIMPLEMENTED;
return 0;
}
LONG WINAPI
AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter, PWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput)
{
TRACE("AdvancedDocumentPropertiesW(%p, %p, %S, %p, %p)\n", hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput);
UNIMPLEMENTED;
return FALSE;
return 0;
}
DWORD WINAPI
DeletePrinterDataA(HANDLE hPrinter, PSTR pValueName)
{
TRACE("DeletePrinterDataA(%p, %s)\n", hPrinter, pValueName);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
DeletePrinterDataExA(HANDLE hPrinter, PCSTR pKeyName, PCSTR pValueName)
{
TRACE("DeletePrinterDataExA(%p, %s, %s)\n", hPrinter, pKeyName, pValueName);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
DeletePrinterDataExW(HANDLE hPrinter, PCWSTR pKeyName, PCWSTR pValueName)
{
TRACE("DeletePrinterDataExW(%p, %S, %S)\n", hPrinter, pKeyName, pValueName);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
DeletePrinterDataW(HANDLE hPrinter, PWSTR pValueName)
{
TRACE("DeletePrinterDataW(%p, %S)\n", hPrinter, pValueName);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
DeletePrinterKeyA(HANDLE hPrinter, PCSTR pKeyName)
{
TRACE("DeletePrinterKeyA(%p, %s)\n", hPrinter, pKeyName);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
DeletePrinterKeyW(HANDLE hPrinter, PCWSTR pKeyName)
{
TRACE("DeletePrinterKeyW(%p, %S)\n", hPrinter, pKeyName);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
EnumPrinterDataA(HANDLE hPrinter, DWORD dwIndex, PSTR pValueName, DWORD cbValueName, PDWORD pcbValueName, PDWORD pType, PBYTE pData, DWORD cbData, PDWORD pcbData)
{
TRACE("EnumPrinterDataA(%p, %lu, %s, %lu, %p, %p, %p, %lu, %p)\n", hPrinter, dwIndex, pValueName, cbValueName, pcbValueName, pType, pData, cbData, pcbData);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
EnumPrinterDataExA(HANDLE hPrinter, PCSTR pKeyName, PBYTE pEnumValues, DWORD cbEnumValues, PDWORD pcbEnumValues, PDWORD pnEnumValues)
{
TRACE("EnumPrinterDataExA(%p, %s, %p, %lu, %p, %p)\n", hPrinter, pKeyName, pEnumValues, cbEnumValues, pcbEnumValues, pnEnumValues);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
EnumPrinterDataExW(HANDLE hPrinter, PCWSTR pKeyName, PBYTE pEnumValues, DWORD cbEnumValues, PDWORD pcbEnumValues, PDWORD pnEnumValues)
{
TRACE("EnumPrinterDataExW(%p, %S, %p, %lu, %p, %p)\n", hPrinter, pKeyName, pEnumValues, cbEnumValues, pcbEnumValues, pnEnumValues);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
EnumPrinterDataW(HANDLE hPrinter, DWORD dwIndex, PWSTR pValueName, DWORD cbValueName, PDWORD pcbValueName, PDWORD pType, PBYTE pData, DWORD cbData, PDWORD pcbData)
{
TRACE("EnumPrinterDataW(%p, %lu, %S, %lu, %p, %p, %p, %lu, %p)\n", hPrinter, dwIndex, pValueName, cbValueName, pcbValueName, pType, pData, cbData, pcbData);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
EnumPrinterKeyA(HANDLE hPrinter, PCSTR pKeyName, PSTR pSubkey, DWORD cbSubkey, PDWORD pcbSubkey)
{
TRACE("EnumPrinterKeyA(%p, %s, %s, %lu, %p)\n", hPrinter, pKeyName, pSubkey, cbSubkey, pcbSubkey);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI
EnumPrinterKeyW(HANDLE hPrinter, PCWSTR pKeyName, PWSTR pSubkey, DWORD cbSubkey, PDWORD pcbSubkey)
{
TRACE("EnumPrinterKeyW(%p, %S, %S, %lu, %p)\n", hPrinter, pKeyName, pSubkey, cbSubkey, pcbSubkey);
UNIMPLEMENTED;
return ERROR_NOT_SUPPORTED;
}
DWORD WINAPI

View file

@ -7,6 +7,30 @@
#include "precomp.h"
BOOL WINAPI
AddPrinterDriverA(PSTR pName, DWORD Level, PBYTE pDriverInfo)
{
TRACE("AddPrinterDriverA(%s, %lu, %p)\n", pName, Level, pDriverInfo);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddPrinterDriverExA(PSTR pName, DWORD Level, PBYTE pDriverInfo, DWORD dwFileCopyFlags)
{
TRACE("AddPrinterDriverExA(%s, %lu, %p, %lu)\n", pName, Level, pDriverInfo, dwFileCopyFlags);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddPrinterDriverExW(PWSTR pName, DWORD Level, PBYTE pDriverInfo, DWORD dwFileCopyFlags)
{
TRACE("AddPrinterDriverExW(%S, %lu, %p, %lu)\n", pName, Level, pDriverInfo, dwFileCopyFlags);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddPrinterDriverW(PWSTR pName, DWORD Level, PBYTE pDriverInfo)
{
@ -15,6 +39,30 @@ AddPrinterDriverW(PWSTR pName, DWORD Level, PBYTE pDriverInfo)
return FALSE;
}
BOOL WINAPI
DeletePrinterDriverA(PSTR pName, PSTR pEnvironment, PSTR pDriverName)
{
TRACE("DeletePrinterDriverA(%s, %s, %s)\n", pName, pEnvironment, pDriverName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
DeletePrinterDriverExA(PSTR pName, PSTR pEnvironment, PSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag)
{
TRACE("DeletePrinterDriverExA(%s, %s, %s, %lu, %lu)\n", pName, pEnvironment, pDriverName, dwDeleteFlag, dwVersionFlag);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
DeletePrinterDriverExW(PWSTR pName, PWSTR pEnvironment, PWSTR pDriverName, DWORD dwDeleteFlag, DWORD dwVersionFlag)
{
TRACE("DeletePrinterDriverExW(%S, %S, %S, %lu, %lu)\n", pName, pEnvironment, pDriverName, dwDeleteFlag, dwVersionFlag);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
DeletePrinterDriverW(PWSTR pName, PWSTR pEnvironment, PWSTR pDriverName)
{
@ -23,6 +71,14 @@ DeletePrinterDriverW(PWSTR pName, PWSTR pEnvironment, PWSTR pDriverName)
return FALSE;
}
BOOL WINAPI
EnumPrinterDriversA(PSTR pName, PSTR pEnvironment, DWORD Level, PBYTE pDriverInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{
TRACE("EnumPrinterDriversA(%s, %s, %lu, %p, %lu, %p, %p)\n", pName, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded, pcReturned);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
EnumPrinterDriversW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{

View file

@ -212,6 +212,22 @@ _StartDocPrinterWithRPC(PSPOOLER_HANDLE pHandle, PDOC_INFO_1W pDocInfo1)
return dwErrorCode;
}
BOOL WINAPI
AbortPrinter(HANDLE hPrinter)
{
TRACE("AbortPrinter(%p)\n", hPrinter);
UNIMPLEMENTED;
return FALSE;
}
HANDLE WINAPI
AddPrinterA(PSTR pName, DWORD Level, PBYTE pPrinter)
{
TRACE("AddPrinterA(%s, %lu, %p)\n", pName, Level, pPrinter);
UNIMPLEMENTED;
return NULL;
}
HANDLE WINAPI
AddPrinterW(PWSTR pName, DWORD Level, PBYTE pPrinter)
{
@ -259,10 +275,19 @@ Cleanup:
return (dwErrorCode == ERROR_SUCCESS);
}
BOOL WINAPI
DeletePrinter(HANDLE hPrinter)
{
TRACE("DeletePrinter(%p)\n", hPrinter);
UNIMPLEMENTED;
return FALSE;
}
DWORD WINAPI
DeviceCapabilitiesA(LPCSTR pDevice, LPCSTR pPort, WORD fwCapability, LPSTR pOutput, const DEVMODEA* pDevMode)
{
TRACE("DeviceCapabilitiesA(%s, %s, %hu, %p, %p)\n", pDevice, pPort, fwCapability, pOutput, pDevMode);
UNIMPLEMENTED;
return 0;
}
@ -270,6 +295,7 @@ DWORD WINAPI
DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort, WORD fwCapability, LPWSTR pOutput, const DEVMODEW* pDevMode)
{
TRACE("DeviceCapabilitiesW(%S, %S, %hu, %p, %p)\n", pDevice, pPort, fwCapability, pOutput, pDevMode);
UNIMPLEMENTED;
return 0;
}
@ -277,14 +303,16 @@ LONG WINAPI
DocumentPropertiesA(HWND hWnd, HANDLE hPrinter, LPSTR pDeviceName, PDEVMODEA pDevModeOutput, PDEVMODEA pDevModeInput, DWORD fMode)
{
TRACE("DocumentPropertiesA(%p, %p, %s, %p, %p, %lu)\n", hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput, fMode);
return 0;
UNIMPLEMENTED;
return -1;
}
LONG WINAPI
DocumentPropertiesW(HWND hWnd, HANDLE hPrinter, LPWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput, DWORD fMode)
{
TRACE("DocumentPropertiesW(%p, %p, %S, %p, %p, %lu)\n", hWnd, hPrinter, pDeviceName, pDevModeOutput, pDevModeInput, fMode);
return 0;
UNIMPLEMENTED;
return -1;
}
BOOL WINAPI
@ -432,6 +460,14 @@ Cleanup:
return (dwErrorCode == ERROR_SUCCESS);
}
BOOL WINAPI
FlushPrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pcWritten, DWORD cSleep)
{
TRACE("FlushPrinter(%p, %p, %lu, %p, %lu)\n", hPrinter, pBuf, cbBuf, pcWritten, cSleep);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
GetDefaultPrinterA(LPSTR pszBuffer, LPDWORD pcchBuffer)
{
@ -790,6 +826,14 @@ Cleanup:
return (dwErrorCode == ERROR_SUCCESS);
}
BOOL WINAPI
ResetPrinterA(HANDLE hPrinter, PPRINTER_DEFAULTSA pDefault)
{
TRACE("ResetPrinterA(%p, %p)\n", hPrinter, pDefault);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
ResetPrinterW(HANDLE hPrinter, PPRINTER_DEFAULTSW pDefault)
{
@ -944,6 +988,14 @@ Cleanup:
return (dwErrorCode == ERROR_SUCCESS);
}
BOOL WINAPI
SetPrinterA(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD Command)
{
TRACE("SetPrinterA(%p, %lu, %p, %lu)\n", hPrinter, Level, pPrinter, Command);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
SetPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD Command)
{

View file

@ -1,9 +1,9 @@
/*
* PROJECT: ReactOS Spooler API
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Functions related to Print Processors
* COPYRIGHT: Copyright 2015-2017 Colin Finck (colin@reactos.org)
*/
* PROJECT: ReactOS Spooler API
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
* PURPOSE: Functions related to Print Processors
* COPYRIGHT: Copyright 2015-2017 Colin Finck (colin@reactos.org)
*/
#include "precomp.h"
#include <prtprocenv.h>
@ -26,6 +26,14 @@ _MarshallUpPrintProcessorInfo(PPRINTPROCESSOR_INFO_1W* ppPrintProcessorInfo1)
*ppPrintProcessorInfo1 += sizeof(PRINTPROCESSOR_INFO_1W);
}
BOOL WINAPI
AddPrintProcessorA(PSTR pName, PSTR pEnvironment, PSTR pPathName, PSTR pPrintProcessorName)
{
TRACE("AddPrintProcessorA(%s, %s, %s, %s)\n", pName, pEnvironment, pPathName, pPrintProcessorName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddPrintProcessorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPathName, PWSTR pPrintProcessorName)
{
@ -34,6 +42,14 @@ AddPrintProcessorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPathName, PWSTR pPrin
return FALSE;
}
BOOL WINAPI
DeletePrintProcessorA(PSTR pName, PSTR pEnvironment, PSTR pPrintProcessorName)
{
TRACE("DeletePrintProcessorA(%s, %s, %s)\n", pName, pEnvironment, pPrintProcessorName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
DeletePrintProcessorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPrintProcessorName)
{
@ -69,7 +85,7 @@ EnumPrintProcessorDatatypesW(PWSTR pName, LPWSTR pPrintProcessorName, DWORD Leve
{
dwErrorCode = _RpcEnumPrintProcessorDatatypes(pName, pPrintProcessorName, Level, pDatatypes, cbBuf, pcbNeeded, pcReturned);
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
{
dwErrorCode = RpcExceptionCode();
ERR("_RpcEnumPrintProcessorDatatypes failed with exception code %lu!\n", dwErrorCode);
@ -90,6 +106,14 @@ Cleanup:
return (dwErrorCode == ERROR_SUCCESS);
}
BOOL WINAPI
EnumPrintProcessorsA(PSTR pName, PSTR pEnvironment, DWORD Level, PBYTE pPrintProcessorInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{
TRACE("EnumPrintProcessorsA(%s, %s, %lu, %p, %lu, %p, %p)\n", pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded, pcReturned);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
EnumPrintProcessorsW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pPrintProcessorInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
{
@ -106,7 +130,7 @@ EnumPrintProcessorsW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pPrintP
{
dwErrorCode = _RpcEnumPrintProcessors(pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded, pcReturned);
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
{
dwErrorCode = RpcExceptionCode();
}
@ -226,7 +250,7 @@ GetPrintProcessorDirectoryW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE
{
dwErrorCode = _RpcGetPrintProcessorDirectory(pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded);
}
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
RpcExcept(EXCEPTION_EXECUTE_HANDLER)
{
dwErrorCode = RpcExceptionCode();
}

View file

@ -7,6 +7,14 @@
#include "precomp.h"
BOOL WINAPI
AddPrintProvidorA(PSTR pName, DWORD Level, PBYTE pProviderInfo)
{
TRACE("AddPrintProvidorA(%s, %lu, %p)\n", pName, Level, pProviderInfo);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
AddPrintProvidorW(PWSTR pName, DWORD Level, PBYTE pProviderInfo)
{
@ -15,6 +23,14 @@ AddPrintProvidorW(PWSTR pName, DWORD Level, PBYTE pProviderInfo)
return FALSE;
}
BOOL WINAPI
DeletePrintProvidorA(PSTR pName, PSTR pEnvironment, PSTR pPrintProviderName)
{
TRACE("DeletePrintProvidorW(%s, %s, %s)\n", pName, pEnvironment, pPrintProviderName);
UNIMPLEMENTED;
return FALSE;
}
BOOL WINAPI
DeletePrintProvidorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPrintProviderName)
{

View file

@ -6,67 +6,67 @@
105 stub PerfCollect
106 stub PerfOpen
107 stub ADVANCEDSETUPDIALOG
108 stub AbortPrinter
109 stub AddFormA
110 stub AddFormW
111 stdcall AddJobA(long long ptr long ptr)
112 stdcall AddJobW(long long ptr long ptr)
113 stub AddMonitorA
108 stdcall AbortPrinter(ptr)
109 stdcall AddFormA(ptr long ptr)
110 stdcall AddFormW(ptr long ptr)
111 stdcall AddJobA(ptr long ptr long ptr)
112 stdcall AddJobW(ptr long ptr long ptr)
113 stdcall AddMonitorA(str long ptr)
114 stdcall AddMonitorW(wstr long ptr)
115 stub AddPortA
116 stub AddPortExA
117 stub AddPortExW
118 stdcall AddPortW(wstr long wstr)
119 stub AddPrintProcessorA
115 stdcall AddPortA(str ptr str)
116 stdcall AddPortExA(str long ptr str)
117 stdcall AddPortExW(wstr long ptr wstr)
118 stdcall AddPortW(wstr ptr wstr)
119 stdcall AddPrintProcessorA(str str str str)
120 stdcall AddPrintProcessorW(wstr wstr wstr wstr)
121 stub AddPrintProvidorA
121 stdcall AddPrintProvidorA(str long ptr)
122 stdcall AddPrintProvidorW(wstr long ptr)
123 stub AddPrinterA
123 stdcall AddPrinterA(str long ptr)
124 stub AddPrinterConnectionA
125 stub AddPrinterConnectionW
126 stub AddPrinterDriverA
127 stub AddPrinterDriverExA
128 stub AddPrinterDriverExW
126 stdcall AddPrinterDriverA(str long ptr)
127 stdcall AddPrinterDriverExA(str long ptr long)
128 stdcall AddPrinterDriverExW(wstr long ptr long)
129 stdcall AddPrinterDriverW(wstr long ptr)
130 stdcall AddPrinterW(wstr long ptr)
131 stub AdvancedDocumentPropertiesA
132 stdcall AdvancedDocumentPropertiesW(long long wstr ptr ptr)
131 stdcall AdvancedDocumentPropertiesA(ptr ptr str ptr ptr)
132 stdcall AdvancedDocumentPropertiesW(ptr ptr wstr ptr ptr)
133 stub AdvancedSetupDialog
134 stdcall ClosePrinter(long)
134 stdcall ClosePrinter(ptr)
135 stub CloseSpoolFileHandle
136 stub CommitSpoolData
137 stub ConfigurePortA
138 stdcall ConfigurePortW(wstr long wstr)
137 stdcall ConfigurePortA(str ptr str)
138 stdcall ConfigurePortW(wstr ptr wstr)
139 stub ConnectToPrinterDlg
140 stub ConvertAnsiDevModeToUnicodeDevmode
141 stub ConvertUnicodeDevModeToAnsiDevmode
142 stub CreatePrinterIC
143 stub DEVICECAPABILITIES
144 stub DEVICEMODE
145 stub DeleteFormA
146 stub DeleteFormW
147 stub DeleteMonitorA
145 stdcall DeleteFormA(ptr str)
146 stdcall DeleteFormW(ptr wstr)
147 stdcall DeleteMonitorA(str str str)
148 stdcall DeleteMonitorW(wstr wstr wstr)
149 stub DeletePortA
150 stdcall DeletePortW(wstr long wstr)
151 stub DeletePrintProcessorA
149 stdcall DeletePortA(str ptr str)
150 stdcall DeletePortW(wstr ptr wstr)
151 stdcall DeletePrintProcessorA(str str str)
152 stdcall DeletePrintProcessorW(wstr wstr wstr)
153 stub DeletePrintProvidorA
153 stdcall DeletePrintProvidorA(str str str)
154 stdcall DeletePrintProvidorW(wstr wstr wstr)
155 stub DeletePrinter
155 stdcall DeletePrinter(ptr)
156 stub DeletePrinterConnectionA
157 stub DeletePrinterConnectionW
158 stub DeletePrinterDataA
159 stub DeletePrinterDataExA
160 stub DeletePrinterDataExW
161 stub DeletePrinterDataW
162 stub DeletePrinterDriverA
163 stub DeletePrinterDriverExA
164 stub DeletePrinterDriverExW
158 stdcall DeletePrinterDataA(ptr str)
159 stdcall DeletePrinterDataExA(ptr str str)
160 stdcall DeletePrinterDataExW(ptr wstr wstr)
161 stdcall DeletePrinterDataW(ptr wstr)
162 stdcall DeletePrinterDriverA(str str str)
163 stdcall DeletePrinterDriverExA(str str str long long)
164 stdcall DeletePrinterDriverExW(wstr wstr wstr long long)
165 stdcall DeletePrinterDriverW(wstr wstr wstr)
166 stub DeletePrinterIC
167 stub DeletePrinterKeyA
168 stub DeletePrinterKeyW
167 stdcall DeletePrinterKeyA(ptr str)
168 stdcall DeletePrinterKeyW(ptr wstr)
169 stub DevQueryPrint
170 stub DevQueryPrintEx
171 stub DeviceCapabilities
@ -75,29 +75,29 @@
174 stub DeviceMode
175 stub DevicePropertySheets
176 stub DocumentEvent
177 stdcall DocumentPropertiesA(long long ptr ptr ptr long)
178 stdcall DocumentPropertiesW(long long ptr ptr ptr long)
177 stdcall DocumentPropertiesA(ptr ptr ptr ptr ptr long)
178 stdcall DocumentPropertiesW(ptr ptr ptr ptr ptr long)
179 stub DocumentPropertySheets
180 stub EXTDEVICEMODE
181 stdcall EndDocPrinter(long)
182 stdcall EndPagePrinter(long)
183 stub EnumFormsA
184 stub EnumFormsW
185 stdcall EnumJobsA(long long long long ptr long ptr ptr)
186 stdcall EnumJobsW(long long long long ptr long ptr ptr)
187 stub EnumMonitorsA
181 stdcall EndDocPrinter(ptr)
182 stdcall EndPagePrinter(ptr)
183 stdcall EnumFormsA(ptr long ptr long ptr ptr)
184 stdcall EnumFormsW(ptr long ptr long ptr ptr)
185 stdcall EnumJobsA(ptr long long long ptr long ptr ptr)
186 stdcall EnumJobsW(ptr long long long ptr long ptr ptr)
187 stdcall EnumMonitorsA(str long ptr long ptr ptr)
188 stdcall EnumMonitorsW(wstr long ptr long ptr ptr)
189 stub EnumPortsA
189 stdcall EnumPortsA(str long ptr long ptr ptr)
190 stdcall EnumPortsW(wstr long ptr long ptr ptr)
191 stdcall EnumPrintProcessorDatatypesA(ptr ptr long ptr long ptr ptr)
192 stdcall EnumPrintProcessorDatatypesW(ptr ptr long ptr long ptr ptr)
193 stub EnumPrintProcessorsA
194 stdcall EnumPrintProcessorsW(ptr ptr long ptr long ptr ptr)
195 stub EnumPrinterDataA
196 stub EnumPrinterDataExA
197 stub EnumPrinterDataExW
198 stub EnumPrinterDataW
199 stub EnumPrinterDriversA
193 stdcall EnumPrintProcessorsA(str str long ptr long ptr ptr)
194 stdcall EnumPrintProcessorsW(wstr wstr long ptr long ptr ptr)
195 stdcall EnumPrinterDataA(ptr long str long ptr ptr ptr long ptr)
196 stdcall EnumPrinterDataExA(ptr str ptr long ptr ptr)
197 stdcall EnumPrinterDataExW(ptr wstr ptr long ptr ptr)
198 stdcall EnumPrinterDataW(ptr long wstr long ptr ptr ptr long ptr)
199 stdcall EnumPrinterDriversA(str str long ptr long ptr ptr)
200 stdcall EnumPrinterDriversW(wstr wstr long ptr long ptr ptr)
201 stdcall GetDefaultPrinterA(ptr ptr)
202 stdcall SetDefaultPrinterA(str)
@ -123,7 +123,7 @@
222 stub -noname SendRecvBidiData
223 stub -noname RouterFreeBidiResponseContainer
224 stub -noname ExternalConnectToLd64In32Server
225 stub EnumPrinterKeyA
225 stdcall EnumPrinterKeyA(ptr str str long ptr)
226 stub -noname PrintUIWebPnpEntry
227 stub -noname PrintUIWebPnpPostEntry
228 stub -noname PrintUICreateInstance
@ -131,31 +131,31 @@
230 stub -noname PrintUIPrinterSetup
231 stub -noname PrintUIServerPropPages
232 stub -noname AddDriverCatalog
233 stub EnumPrinterKeyW
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 stub ExtDeviceMode
237 stub FindClosePrinterChangeNotification
238 stub FindFirstPrinterChangeNotification
239 stub FindNextPrinterChangeNotification
240 stub FlushPrinter
240 stdcall FlushPrinter(ptr ptr long ptr long)
241 stub FreePrinterNotifyInfo
242 stub GetFormA
243 stub GetFormW
244 stdcall GetJobA(long long long ptr long ptr)
245 stdcall GetJobW(long long long ptr long ptr)
242 stdcall GetFormA(ptr str long ptr long ptr)
243 stdcall GetFormW(ptr str long ptr long ptr)
244 stdcall GetJobA(ptr long long ptr long ptr)
245 stdcall GetJobW(ptr long long ptr long ptr)
246 stdcall GetPrintProcessorDirectoryA(str str long ptr long ptr)
247 stdcall GetPrintProcessorDirectoryW(wstr wstr long ptr long ptr)
248 stdcall GetPrinterA(long long ptr long ptr)
249 stdcall GetPrinterDataA(long str ptr ptr long ptr)
250 stdcall GetPrinterDataExA(long str str ptr ptr long ptr)
251 stdcall GetPrinterDataExW(long wstr wstr ptr ptr long ptr)
252 stdcall GetPrinterDataW(long wstr ptr ptr long ptr)
253 stdcall GetPrinterDriverA(long str long ptr long ptr)
248 stdcall GetPrinterA(ptr long ptr long ptr)
249 stdcall GetPrinterDataA(ptr str ptr ptr long ptr)
250 stdcall GetPrinterDataExA(ptr str str ptr ptr long ptr)
251 stdcall GetPrinterDataExW(ptr wstr wstr ptr ptr long ptr)
252 stdcall GetPrinterDataW(ptr wstr ptr ptr long ptr)
253 stdcall GetPrinterDriverA(ptr str long ptr long ptr)
254 stdcall -stub GetPrinterDriverDirectoryA(str str long ptr long ptr)
255 stdcall GetPrinterDriverDirectoryW(wstr wstr long ptr long ptr)
256 stdcall GetPrinterDriverW(long wstr long ptr long ptr)
257 stdcall GetPrinterW(long long ptr long ptr)
256 stdcall GetPrinterDriverW(ptr wstr long ptr long ptr)
257 stdcall GetPrinterW(ptr long ptr long ptr)
258 stub GetSpoolFileHandle
259 stdcall IsValidDevmodeA(ptr long)
260 stdcall IsValidDevmodeW(ptr long)
@ -168,33 +168,33 @@
267 stub QueryColorProfile
268 stub QueryRemoteFonts
269 stub QuerySpoolMode
270 stdcall ReadPrinter(long ptr long ptr)
271 stub ResetPrinterA
272 stdcall ResetPrinterW(long ptr)
273 stdcall ScheduleJob(long long)
270 stdcall ReadPrinter(ptr ptr long ptr)
271 stdcall ResetPrinterA(ptr ptr)
272 stdcall ResetPrinterW(ptr ptr)
273 stdcall ScheduleJob(ptr long)
274 stub SeekPrinter
275 stub SetAllocFailCount
276 stub SetFormA
277 stub SetFormW
278 stdcall SetJobA(long long long ptr long)
279 stdcall SetJobW(long long long ptr long)
280 stub SetPortA
281 stub SetPortW
282 stub SetPrinterA
283 stdcall SetPrinterDataA(long str long ptr long)
284 stdcall SetPrinterDataExA(long str str long ptr long)
285 stdcall SetPrinterDataExW(long wstr wstr long ptr long)
286 stdcall SetPrinterDataW(long wstr long ptr long)
287 stdcall SetPrinterW(long long ptr long)
276 stdcall SetFormA(ptr str long str)
277 stdcall SetFormW(ptr str long str)
278 stdcall SetJobA(ptr long long ptr long)
279 stdcall SetJobW(ptr long long ptr long)
280 stdcall SetPortA(str str long ptr)
281 stdcall SetPortW(wstr wstr long ptr)
282 stdcall SetPrinterA(ptr long ptr long)
283 stdcall SetPrinterDataA(ptr str long ptr long)
284 stdcall SetPrinterDataExA(ptr str str long ptr long)
285 stdcall SetPrinterDataExW(ptr wstr wstr long ptr long)
286 stdcall SetPrinterDataW(ptr wstr long ptr long)
287 stdcall SetPrinterW(ptr long ptr long)
288 stub SplDriverUnloadComplete
289 stub SpoolerDevQueryPrintW
290 stdcall SpoolerInit()
291 stub SpoolerPrinterEvent
292 stub StartDocDlgA
293 stub StartDocDlgW
294 stdcall StartDocPrinterA(long long ptr)
295 stdcall StartDocPrinterW(long long ptr)
296 stdcall StartPagePrinter(long)
294 stdcall StartDocPrinterA(ptr long ptr)
295 stdcall StartDocPrinterW(ptr long ptr)
296 stdcall StartPagePrinter(ptr)
297 stub WaitForPrinterChange
298 stdcall WritePrinter(long ptr long ptr)
299 stdcall XcvDataW(long wstr ptr long ptr long ptr ptr)
298 stdcall WritePrinter(ptr ptr long ptr)
299 stdcall XcvDataW(ptr wstr ptr long ptr long ptr ptr)