From 1e33acaa43f0ffd081967f69b9817ff0675f1569 Mon Sep 17 00:00:00 2001 From: Hans Leidekker Date: Mon, 21 Feb 2005 18:33:55 +0000 Subject: [PATCH] Stub implementations for AbortPrinter, AddPortEx{A,W}, AddPrinterConnection{A,W}, ConnectToPrinterDlg, DeletePrinterConnection{A,W}, EnumForms{A,W}, EnumPrinterData{A,W], ExtDeviceMode, Find{Close,First,Next}PrinterChangeNotification, FreePrinterNotifyInfo, ScheduleJob. --- dlls/winspool/info.c | 192 ++++++++++++++++++++++++++++++++ dlls/winspool/winspool.drv.spec | 36 +++--- include/winspool.h | 18 ++- 3 files changed, 227 insertions(+), 19 deletions(-) diff --git a/dlls/winspool/info.c b/dlls/winspool/info.c index ff5686f21c5..44370a12e7d 100644 --- a/dlls/winspool/info.c +++ b/dlls/winspool/info.c @@ -3922,6 +3922,15 @@ DWORD WINAPI EnumPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, return ERROR_SUCCESS; } +/****************************************************************************** + * AbortPrinter (WINSPOOL.@) + */ +BOOL WINAPI AbortPrinter( HANDLE hPrinter ) +{ + FIXME("(%p), stub!\n", hPrinter); + return TRUE; +} + /****************************************************************************** * AddPortA (WINSPOOL.@) */ @@ -3940,6 +3949,48 @@ BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName) return FALSE; } +/****************************************************************************** + * AddPortExA (WINSPOOL.@) + * + * Adds a print spooler port without presenting a user interface. + */ +BOOL WINAPI AddPortExA(HANDLE hMonitor, LPSTR pName, DWORD Level, LPBYTE lpBuffer, LPSTR lpMonitorName) +{ + FIXME("(%p, %s, %ld, %p, %s), stub!\n",hMonitor, debugstr_a(pName), Level, + lpBuffer, debugstr_a(lpMonitorName)); + return FALSE; +} + +/****************************************************************************** + * AddPortExW (WINSPOOL.@) + * + * See AddPortExW. + */ +BOOL WINAPI AddPortExW(HANDLE hMonitor, LPWSTR pName, DWORD Level, LPBYTE lpBuffer, LPWSTR lpMonitorName) +{ + FIXME("(%p, %s, %ld, %p, %s), stub!\n", hMonitor, debugstr_w(pName), Level, + lpBuffer, debugstr_w(lpMonitorName)); + return FALSE; +} + +/****************************************************************************** + * AddPrinterConnectionA (WINSPOOL.@) + */ +BOOL WINAPI AddPrinterConnectionA( LPSTR pName ) +{ + FIXME("%s\n", debugstr_a(pName)); + return FALSE; +} + +/****************************************************************************** + * AddPrinterConnectionW (WINSPOOL.@) + */ +BOOL WINAPI AddPrinterConnectionW( LPWSTR pName ) +{ + FIXME("%s\n", debugstr_w(pName)); + return FALSE; +} + /****************************************************************************** * AddPrinterDriverExW (WINSPOOL.@) */ @@ -3982,6 +4033,33 @@ BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName) return FALSE; } +/****************************************************************************** + * ConnectToPrinterDlg (WINSPOOL.@) + */ +HANDLE WINAPI ConnectToPrinterDlg( HWND hWnd, DWORD Flags ) +{ + FIXME("%p %lx\n", hWnd, Flags); + return NULL; +} + +/****************************************************************************** + * DeletePrinterConnectionA (WINSPOOL.@) + */ +BOOL WINAPI DeletePrinterConnectionA( LPSTR pName ) +{ + FIXME("%s\n", debugstr_a(pName)); + return TRUE; +} + +/****************************************************************************** + * DeletePrinterConnectionW (WINSPOOL.@) + */ +BOOL WINAPI DeletePrinterConnectionW( LPWSTR pName ) +{ + FIXME("%s\n", debugstr_w(pName)); + return TRUE; +} + /****************************************************************************** * DeletePrinterDriverExW (WINSPOOL.@) */ @@ -4066,6 +4144,26 @@ BOOL WINAPI DeletePrintProvidorW(LPWSTR pName, LPWSTR pEnvironment, LPWSTR pPrin return TRUE; } +/****************************************************************************** + * EnumFormsA (WINSPOOL.@) + */ +BOOL WINAPI EnumFormsA( HANDLE hPrinter, DWORD Level, LPBYTE pForm, + DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) +{ + FIXME("%p %lx %p %lx %p %p\n", hPrinter, Level, pForm, cbBuf, pcbNeeded, pcReturned); + return FALSE; +} + +/****************************************************************************** + * EnumFormsW (WINSPOOL.@) + */ +BOOL WINAPI EnumFormsW( HANDLE hPrinter, DWORD Level, LPBYTE pForm, + DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned ) +{ + FIXME("%p %lx %p %lx %p %p\n", hPrinter, Level, pForm, cbBuf, pcbNeeded, pcReturned); + return FALSE; +} + /***************************************************************************** * EnumMonitorsA [WINSPOOL.@] * @@ -4108,6 +4206,32 @@ BOOL WINAPI XcvDataW( HANDLE hXcv, LPCWSTR pszDataName, PBYTE pInputData, return FALSE; } +/***************************************************************************** + * EnumPrinterDataA [WINSPOOL.@] + * + */ +DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName, + DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData, + DWORD cbData, LPDWORD pcbData ) +{ + FIXME("%p %lx %p %lx %p %p %p %lx %p\n", hPrinter, dwIndex, pValueName, + cbValueName, pcbValueName, pType, pData, cbData, pcbData); + return ERROR_NO_MORE_ITEMS; +} + +/***************************************************************************** + * EnumPrinterDataW [WINSPOOL.@] + * + */ +DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName, + DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData, + DWORD cbData, LPDWORD pcbData ) +{ + FIXME("%p %lx %p %lx %p %p %p %lx %p\n", hPrinter, dwIndex, pValueName, + cbValueName, pcbValueName, pType, pData, cbData, pcbData); + return ERROR_NO_MORE_ITEMS; +} + /***************************************************************************** * EnumPrintProcessorDatatypesA [WINSPOOL.@] * @@ -4161,6 +4285,64 @@ BOOL WINAPI EnumPrintProcessorsW(LPWSTR pName, LPWSTR pEnvironment, DWORD Level, return FALSE; } +/***************************************************************************** + * ExtDeviceMode [WINSPOOL.@] + * + */ +LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput, + LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile, + DWORD fMode) +{ + FIXME("Stub: %p %p %p %s %s %p %s %lx\n", hWnd, hInst, pDevModeOutput, + debugstr_a(pDeviceName), debugstr_a(pPort), pDevModeInput, + debugstr_a(pProfile), fMode); + return -1; +} + +/***************************************************************************** + * FindClosePrinterChangeNotification [WINSPOOL.@] + * + */ +BOOL WINAPI FindClosePrinterChangeNotification( HANDLE hChange ) +{ + FIXME("Stub: %p\n", hChange); + return TRUE; +} + +/***************************************************************************** + * FindFirstPrinterChangeNotification [WINSPOOL.@] + * + */ +HANDLE WINAPI FindFirstPrinterChangeNotification( HANDLE hPrinter, + DWORD fdwFlags, DWORD fdwOptions, LPVOID pPrinterNotifyOptions ) +{ + FIXME("Stub: %p %lx %lx %p\n", + hPrinter, fdwFlags, fdwOptions, pPrinterNotifyOptions); + return INVALID_HANDLE_VALUE; +} + +/***************************************************************************** + * FindNextPrinterChangeNotification [WINSPOOL.@] + * + */ +BOOL WINAPI FindNextPrinterChangeNotification( HANDLE hChange, PDWORD pdwChange, + LPVOID pPrinterNotifyOptions, LPVOID *ppPrinterNotifyInfo ) +{ + FIXME("Stub: %p %p %p %p\n", + hChange, pdwChange, pPrinterNotifyOptions, ppPrinterNotifyInfo); + return FALSE; +} + +/***************************************************************************** + * FreePrinterNotifyInfo [WINSPOOL.@] + * + */ +BOOL WINAPI FreePrinterNotifyInfo( PPRINTER_NOTIFY_INFO pPrinterNotifyInfo ) +{ + FIXME("Stub: %p\n", pPrinterNotifyInfo); + return TRUE; +} + /***************************************************************************** * GetJobA [WINSPOOL.@] * @@ -4184,3 +4366,13 @@ BOOL WINAPI GetJobW(HANDLE hPrinter, DWORD JobId, DWORD Level, LPBYTE pJob, cbBuf, pcbNeeded); return FALSE; } + +/***************************************************************************** + * ScheduleJob [WINSPOOL.@] + * + */ +BOOL WINAPI ScheduleJob( HANDLE hPrinter, DWORD dwJobID ) +{ + FIXME("Stub: %p %lx\n", hPrinter, dwJobID); + return FALSE; +} diff --git a/dlls/winspool/winspool.drv.spec b/dlls/winspool/winspool.drv.spec index daac701acd5..70f0a79e19f 100644 --- a/dlls/winspool/winspool.drv.spec +++ b/dlls/winspool/winspool.drv.spec @@ -1,6 +1,6 @@ 100 stub @ @ stub ADVANCEDSETUPDIALOG -@ stub AbortPrinter +@ stdcall AbortPrinter(long) @ stdcall AddFormA(long long ptr) @ stdcall AddFormW(long long ptr) @ stdcall AddJobA(long long ptr long ptr) @@ -8,16 +8,16 @@ @ stdcall AddMonitorA(str long ptr) @ stdcall AddMonitorW(wstr long ptr) @ stdcall AddPortA(str ptr str) -@ stub AddPortExA -@ stub AddPortExW +@ stdcall AddPortExA(ptr str long ptr str) +@ stdcall AddPortExW(ptr wstr long ptr wstr) @ stdcall AddPortW(wstr long wstr) @ stdcall AddPrintProcessorA(str str str str) @ stdcall AddPrintProcessorW(wstr wstr wstr wstr) @ stdcall AddPrintProvidorA(str long ptr) @ stdcall AddPrintProvidorW(wstr long ptr) @ stdcall AddPrinterA(str long ptr) -@ stub AddPrinterConnectionA -@ stub AddPrinterConnectionW +@ stdcall AddPrinterConnectionA(str) +@ stdcall AddPrinterConnectionW(wstr) @ stdcall AddPrinterDriverA(str long ptr) @ stdcall AddPrinterDriverW(wstr long ptr) @ stdcall AddPrinterDriverExA(str long ptr long) @@ -29,7 +29,7 @@ @ stdcall ClosePrinter(long) @ stdcall ConfigurePortA(str long str) @ stdcall ConfigurePortW(wstr long wstr) -@ stub ConnectToPrinterDlg +@ stdcall ConnectToPrinterDlg(long long) @ stub CreatePrinterIC @ stub DEVICECAPABILITIES @ stub DEVICEMODE @@ -44,8 +44,8 @@ @ stdcall DeletePrintProvidorA(str str str) @ stdcall DeletePrintProvidorW(wstr wstr wstr) @ stdcall DeletePrinter(long) -@ stub DeletePrinterConnectionA -@ stub DeletePrinterConnectionW +@ stdcall DeletePrinterConnectionA(str) +@ stdcall DeletePrinterConnectionW(wstr) @ stdcall DeletePrinterDataExA(long str str) @ stdcall DeletePrinterDataExW(long wstr wstr) @ stdcall DeletePrinterDriverA(str str str) @@ -64,8 +64,8 @@ @ stub EXTDEVICEMODE @ stdcall EndDocPrinter(long) @ stdcall EndPagePrinter(long) -@ stub EnumFormsA -@ stub EnumFormsW +@ stdcall EnumFormsA(long long ptr long ptr ptr) +@ stdcall EnumFormsW(long long ptr long ptr ptr) @ stdcall EnumJobsA(long long long long ptr long ptr ptr) @ stdcall EnumJobsW(long long long long ptr long ptr ptr) @ stdcall EnumMonitorsA(str long ptr long long long) @@ -76,19 +76,19 @@ @ stdcall EnumPrintProcessorDatatypesW(wstr wstr long ptr long ptr ptr) @ stdcall EnumPrintProcessorsA(str str long ptr long ptr ptr) @ stdcall EnumPrintProcessorsW(wstr wstr long ptr long ptr ptr) -@ stub EnumPrinterDataA +@ stdcall EnumPrinterDataA(long long ptr long ptr ptr ptr long ptr) @ stdcall EnumPrinterDataExA(long str ptr long ptr ptr) @ stdcall EnumPrinterDataExW(long wstr ptr long ptr ptr) -@ stub EnumPrinterDataW +@ stdcall EnumPrinterDataW(long long ptr long ptr ptr ptr long ptr) @ stdcall EnumPrinterDriversA(str str long ptr long ptr ptr) @ stdcall EnumPrinterDriversW(wstr wstr long ptr long ptr ptr) @ stdcall EnumPrintersA(long ptr long ptr long ptr ptr) @ stdcall EnumPrintersW(long ptr long ptr long ptr ptr) -@ stub ExtDeviceMode -@ stub FindClosePrinterChangeNotification -@ stub FindFirstPrinterChangeNotification -@ stub FindNextPrinterChangeNotification -@ stub FreePrinterNotifyInfo +@ stdcall ExtDeviceMode(long long ptr str str ptr str long) +@ stdcall FindClosePrinterChangeNotification(long) +@ stdcall FindFirstPrinterChangeNotification(long long long ptr) +@ stdcall FindNextPrinterChangeNotification(long ptr ptr ptr) +@ stdcall FreePrinterNotifyInfo(ptr) @ stdcall GetDefaultPrinterA(ptr ptr) @ stdcall GetDefaultPrinterW(ptr ptr) @ stdcall GetFormA(long str long ptr long ptr) @@ -116,7 +116,7 @@ @ stdcall ReadPrinter(long ptr long ptr) @ stdcall ResetPrinterA(long ptr) @ stdcall ResetPrinterW(long ptr) -@ stub ScheduleJob +@ stdcall ScheduleJob(long long) @ stub SetAllocFailCount @ stdcall SetFormA(long str long ptr) @ stdcall SetFormW(long wstr long ptr) diff --git a/include/winspool.h b/include/winspool.h index 3dfac1e2b5a..faa3ce8d81b 100644 --- a/include/winspool.h +++ b/include/winspool.h @@ -1062,6 +1062,14 @@ BOOL WINAPI EnumMonitorsW(LPWSTR pName, DWORD Level, LPBYTE pMonitors, DWORD cbBuf, LPDWORD pcbNeeded, LPDWORD pcReturned); #define EnumMonitors WINELIB_NAME_AW(EnumMonitors) +DWORD WINAPI EnumPrinterDataA( HANDLE hPrinter, DWORD dwIndex, LPSTR pValueName, + DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData, + DWORD cbData, LPDWORD pcbData ); +DWORD WINAPI EnumPrinterDataW( HANDLE hPrinter, DWORD dwIndex, LPWSTR pValueName, + DWORD cbValueName, LPDWORD pcbValueName, LPDWORD pType, LPBYTE pData, + DWORD cbData, LPDWORD pcbData ); +#define EnumPrinterData WINELIB_NAME_AW(EnumPrinterData) + BOOL WINAPI AddMonitorA(LPSTR pName, DWORD Level, LPBYTE pMonitors); BOOL WINAPI AddMonitorW(LPWSTR pName, DWORD Level, LPBYTE pMonitors); #define AddMonitor WINELIB_NAME_AW(AddMonitor) @@ -1082,6 +1090,12 @@ BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName); BOOL WINAPI AddPortW(LPWSTR pName, HWND hWnd, LPWSTR pMonitorName); #define AddPort WINELIB_NAME_AW(AddPort) +BOOL WINAPI AddPortExA(HANDLE hMonitor, LPSTR pName, DWORD Level, + LPBYTE lpBuffer, LPSTR lpMonitorName); +BOOL WINAPI AddPortExW(HANDLE hMonitor, LPWSTR pName, DWORD Level, + LPBYTE lpBuffer, LPWSTR lpMonitorName); +#define AddPortEx WINELIB_NAME_AW(AddPortEx) + BOOL WINAPI ConfigurePortA(LPSTR pName, HWND hWnd, LPSTR pPortName); BOOL WINAPI ConfigurePortW(LPWSTR pName, HWND hWnd, LPWSTR pPortName); #define ConfigurePort WINELIB_NAME_AW(ConfigurePort) @@ -1124,7 +1138,9 @@ DWORD WINAPI EnumPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPDWORD pcbEnumValues, LPDWORD pnEnumValues); #define EnumPrinterDataEx WINELIB_NAME_AW(EnumPrinterDataEx) - +LONG WINAPI ExtDeviceMode( HWND hWnd, HANDLE hInst, LPDEVMODEA pDevModeOutput, + LPSTR pDeviceName, LPSTR pPort, LPDEVMODEA pDevModeInput, LPSTR pProfile, + DWORD fMode); #ifdef __cplusplus } /* extern "C" */