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.
diff --git a/dlls/winspool/info.c b/dlls/winspool/info.c
index ff5686f..44370a1 100644
--- a/dlls/winspool/info.c
+++ b/dlls/winspool/info.c
@@ -3923,6 +3923,15 @@
}
/******************************************************************************
+ * AbortPrinter (WINSPOOL.@)
+ */
+BOOL WINAPI AbortPrinter( HANDLE hPrinter )
+{
+ FIXME("(%p), stub!\n", hPrinter);
+ return TRUE;
+}
+
+/******************************************************************************
* AddPortA (WINSPOOL.@)
*/
BOOL WINAPI AddPortA(LPSTR pName, HWND hWnd, LPSTR pMonitorName)
@@ -3941,6 +3950,48 @@
}
/******************************************************************************
+ * 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.@)
*/
BOOL WINAPI AddPrinterDriverExW( LPWSTR pName, DWORD Level,
@@ -3983,6 +4034,33 @@
}
/******************************************************************************
+ * 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.@)
*/
BOOL WINAPI DeletePrinterDriverExW( LPWSTR pName, LPWSTR pEnvironment,
@@ -4066,6 +4144,26 @@
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.@]
*
@@ -4109,6 +4207,32 @@
}
/*****************************************************************************
+ * 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.@]
*
*/
@@ -4162,6 +4286,64 @@
}
/*****************************************************************************
+ * 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 @@
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 daac701..70f0a79 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 3dfac1e..faa3ce8 100644
--- a/include/winspool.h
+++ b/include/winspool.h
@@ -1062,6 +1062,14 @@
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 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 @@
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" */