mirror of
https://github.com/reactos/reactos.git
synced 2025-06-26 22:49:44 +00:00
[WINSPOOL] Add tracing to all exported APIs.
This commit is contained in:
parent
45b9b5c1ef
commit
1f6f08eca0
10 changed files with 112 additions and 7 deletions
|
@ -2,7 +2,7 @@
|
||||||
* PROJECT: ReactOS Spooler API
|
* PROJECT: ReactOS Spooler API
|
||||||
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||||||
* PURPOSE: Functions giving information about DEVMODE structures
|
* PURPOSE: Functions giving information about DEVMODE structures
|
||||||
* COPYRIGHT: Copyright 2016 Colin Finck (colin@reactos.org)
|
* COPYRIGHT: Copyright 2016-2017 Colin Finck (colin@reactos.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
@ -136,6 +136,8 @@ IsValidDevmodeA(PDEVMODEA pDevmode, size_t DevmodeSize)
|
||||||
PMINIMUM_SIZE_TABLE pTable = MinimumSizeA;
|
PMINIMUM_SIZE_TABLE pTable = MinimumSizeA;
|
||||||
WORD wRequiredSize;
|
WORD wRequiredSize;
|
||||||
|
|
||||||
|
TRACE("IsValidDevmodeA(%p, %lu)\n", pDevmode, DevmodeSize);
|
||||||
|
|
||||||
// Check if a Devmode was given at all.
|
// Check if a Devmode was given at all.
|
||||||
if (!pDevmode)
|
if (!pDevmode)
|
||||||
goto Failure;
|
goto Failure;
|
||||||
|
@ -186,6 +188,8 @@ IsValidDevmodeW(PDEVMODEW pDevmode, size_t DevmodeSize)
|
||||||
PMINIMUM_SIZE_TABLE pTable = MinimumSizeW;
|
PMINIMUM_SIZE_TABLE pTable = MinimumSizeW;
|
||||||
WORD wRequiredSize;
|
WORD wRequiredSize;
|
||||||
|
|
||||||
|
TRACE("IsValidDevmodeW(%p, %lu)\n", pDevmode, DevmodeSize);
|
||||||
|
|
||||||
// Check if a Devmode was given at all.
|
// Check if a Devmode was given at all.
|
||||||
if (!pDevmode)
|
if (!pDevmode)
|
||||||
goto Failure;
|
goto Failure;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* PROJECT: ReactOS Spooler API
|
* PROJECT: ReactOS Spooler API
|
||||||
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||||||
* PURPOSE: Functions for managing print jobs
|
* PURPOSE: Functions for managing print jobs
|
||||||
* COPYRIGHT: Copyright 2015 Colin Finck (colin@reactos.org)
|
* COPYRIGHT: Copyright 2015-2017 Colin Finck (colin@reactos.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
@ -59,6 +59,7 @@ _MarshallUpJobInfo(PBYTE pJobInfo, DWORD Level)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
AddJobA(HANDLE hPrinter, DWORD Level, PBYTE pData, DWORD cbBuf, PDWORD pcbNeeded)
|
AddJobA(HANDLE hPrinter, DWORD Level, PBYTE pData, DWORD cbBuf, PDWORD pcbNeeded)
|
||||||
{
|
{
|
||||||
|
TRACE("AddJobA(%p, %lu, %p, %lu, %p)\n", hPrinter, Level, pData, cbBuf, pcbNeeded);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -69,6 +70,8 @@ AddJobW(HANDLE hPrinter, DWORD Level, PBYTE pData, DWORD cbBuf, PDWORD pcbNeeded
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("AddJobW(%p, %lu, %p, %lu, %p)\n", hPrinter, Level, pData, cbBuf, pcbNeeded);
|
||||||
|
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
dwErrorCode = ERROR_INVALID_HANDLE;
|
dwErrorCode = ERROR_INVALID_HANDLE;
|
||||||
|
@ -98,6 +101,7 @@ Cleanup:
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, DWORD Level, PBYTE pJob, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
|
EnumJobsA(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, DWORD Level, PBYTE pJob, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
|
||||||
{
|
{
|
||||||
|
TRACE("EnumJobsA(%p, %lu, %lu, %lu, %p, %lu, %p, %p)\n", hPrinter, FirstJob, NoJobs, Level, pJob, cbBuf, pcbNeeded, pcReturned);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -110,6 +114,8 @@ EnumJobsW(HANDLE hPrinter, DWORD FirstJob, DWORD NoJobs, DWORD Level, PBYTE pJob
|
||||||
PBYTE p = pJob;
|
PBYTE p = pJob;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("EnumJobsW(%p, %lu, %lu, %lu, %p, %lu, %p, %p)\n", hPrinter, FirstJob, NoJobs, Level, pJob, cbBuf, pcbNeeded, pcReturned);
|
||||||
|
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
dwErrorCode = ERROR_INVALID_HANDLE;
|
dwErrorCode = ERROR_INVALID_HANDLE;
|
||||||
|
@ -150,6 +156,7 @@ Cleanup:
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
GetJobA(HANDLE hPrinter, DWORD JobId, DWORD Level, PBYTE pJob, DWORD cbBuf, PDWORD pcbNeeded)
|
GetJobA(HANDLE hPrinter, DWORD JobId, DWORD Level, PBYTE pJob, DWORD cbBuf, PDWORD pcbNeeded)
|
||||||
{
|
{
|
||||||
|
TRACE("GetJobA(%p, %lu, %lu, %p, %lu, %p)\n", hPrinter, JobId, Level, pJob, cbBuf, pcbNeeded);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -160,6 +167,8 @@ GetJobW(HANDLE hPrinter, DWORD JobId, DWORD Level, PBYTE pJob, DWORD cbBuf, PDWO
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("GetJobW(%p, %lu, %lu, %p, %lu, %p)\n", hPrinter, JobId, Level, pJob, cbBuf, pcbNeeded);
|
||||||
|
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
dwErrorCode = ERROR_INVALID_HANDLE;
|
dwErrorCode = ERROR_INVALID_HANDLE;
|
||||||
|
@ -195,6 +204,8 @@ ScheduleJob(HANDLE hPrinter, DWORD dwJobID)
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("ScheduleJob(%p, %lu)\n", hPrinter, dwJobID);
|
||||||
|
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
dwErrorCode = ERROR_INVALID_HANDLE;
|
dwErrorCode = ERROR_INVALID_HANDLE;
|
||||||
|
@ -221,6 +232,7 @@ Cleanup:
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
SetJobA(HANDLE hPrinter, DWORD JobId, DWORD Level, PBYTE pJobInfo, DWORD Command)
|
SetJobA(HANDLE hPrinter, DWORD JobId, DWORD Level, PBYTE pJobInfo, DWORD Command)
|
||||||
{
|
{
|
||||||
|
TRACE("SetJobA(%p, %lu, %lu, %p, %lu)\n", hPrinter, JobId, Level, pJobInfo, Command);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -232,6 +244,8 @@ SetJobW(HANDLE hPrinter, DWORD JobId, DWORD Level, PBYTE pJobInfo, DWORD Command
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
WINSPOOL_JOB_CONTAINER JobContainer;
|
WINSPOOL_JOB_CONTAINER JobContainer;
|
||||||
|
|
||||||
|
TRACE("SetJobW(%p, %lu, %lu, %p, %lu)\n", hPrinter, JobId, Level, pJobInfo, Command);
|
||||||
|
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
dwErrorCode = ERROR_INVALID_HANDLE;
|
dwErrorCode = ERROR_INVALID_HANDLE;
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* PROJECT: ReactOS Spooler API
|
* PROJECT: ReactOS Spooler API
|
||||||
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||||||
* PURPOSE: Main functions
|
* PURPOSE: Main functions
|
||||||
* COPYRIGHT: Copyright 2015 Colin Finck (colin@reactos.org)
|
* COPYRIGHT: Copyright 2015-2017 Colin Finck (colin@reactos.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
@ -72,6 +72,8 @@ midl_user_free(void __RPC_FAR* ptr)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
DllMain(HINSTANCE hinstDLL, DWORD fdwReason, LPVOID lpvReserved)
|
||||||
{
|
{
|
||||||
|
TRACE("DllMain(%p, %lu, %p)\n", hinstDLL, fdwReason, lpvReserved);
|
||||||
|
|
||||||
switch (fdwReason)
|
switch (fdwReason)
|
||||||
{
|
{
|
||||||
case DLL_PROCESS_ATTACH:
|
case DLL_PROCESS_ATTACH:
|
||||||
|
@ -89,6 +91,8 @@ SpoolerInit(VOID)
|
||||||
BOOL bReturnValue = FALSE;
|
BOOL bReturnValue = FALSE;
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
|
|
||||||
|
TRACE("SpoolerInit()\n");
|
||||||
|
|
||||||
// Nothing to initialize here yet, but pass this call to the Spool Service as well.
|
// Nothing to initialize here yet, but pass this call to the Spool Service as well.
|
||||||
RpcTryExcept
|
RpcTryExcept
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* PROJECT: ReactOS Spooler API
|
* PROJECT: ReactOS Spooler API
|
||||||
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||||||
* PURPOSE: Functions related to Print Monitors
|
* PURPOSE: Functions related to Print Monitors
|
||||||
* COPYRIGHT: Copyright 2015 Colin Finck (colin@reactos.org)
|
* COPYRIGHT: Copyright 2015-2017 Colin Finck (colin@reactos.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
@ -25,6 +25,7 @@ _MarshallUpMonitorInfo(PBYTE pMonitorInfo, DWORD Level)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
AddMonitorW(PWSTR pName, DWORD Level, PBYTE pMonitors)
|
AddMonitorW(PWSTR pName, DWORD Level, PBYTE pMonitors)
|
||||||
{
|
{
|
||||||
|
TRACE("AddMonitorW(%S, %lu, %p)\n", pName, Level, pMonitors);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -32,6 +33,7 @@ AddMonitorW(PWSTR pName, DWORD Level, PBYTE pMonitors)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
DeleteMonitorW(PWSTR pName, PWSTR pEnvironment, PWSTR pMonitorName)
|
DeleteMonitorW(PWSTR pName, PWSTR pEnvironment, PWSTR pMonitorName)
|
||||||
{
|
{
|
||||||
|
TRACE("DeleteMonitorW(%S, %S, %S)\n", pName, pEnvironment, pMonitorName);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -43,6 +45,8 @@ EnumMonitorsW(PWSTR pName, DWORD Level, PBYTE pMonitors, DWORD cbBuf, PDWORD pcb
|
||||||
DWORD i;
|
DWORD i;
|
||||||
PBYTE p = pMonitors;
|
PBYTE p = pMonitors;
|
||||||
|
|
||||||
|
TRACE("EnumMonitorsW(%S, %lu, %p, %lu, %p, %p)\n", pName, Level, pMonitors, cbBuf, pcbNeeded, pcReturned);
|
||||||
|
|
||||||
// Do the RPC call
|
// Do the RPC call
|
||||||
RpcTryExcept
|
RpcTryExcept
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* PROJECT: ReactOS Spooler API
|
* PROJECT: ReactOS Spooler API
|
||||||
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||||||
* PURPOSE: Functions related to Ports
|
* PURPOSE: Functions related to Ports
|
||||||
* COPYRIGHT: Copyright 2015 Colin Finck (colin@reactos.org)
|
* COPYRIGHT: Copyright 2015-2017 Colin Finck (colin@reactos.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
@ -25,6 +25,7 @@ _MarshallUpPortInfo(PBYTE pPortInfo, DWORD Level)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
AddPortW(PWSTR pName, HWND hWnd, PWSTR pMonitorName)
|
AddPortW(PWSTR pName, HWND hWnd, PWSTR pMonitorName)
|
||||||
{
|
{
|
||||||
|
TRACE("AddPortW(%S, %p, %S)\n", pName, hWnd, pMonitorName);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -32,6 +33,7 @@ AddPortW(PWSTR pName, HWND hWnd, PWSTR pMonitorName)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
ConfigurePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
|
ConfigurePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
|
||||||
{
|
{
|
||||||
|
TRACE("ConfigurePortW(%S, %p, %S)\n", pName, hWnd, pPortName);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -39,6 +41,7 @@ ConfigurePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
DeletePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
|
DeletePortW(PWSTR pName, HWND hWnd, PWSTR pPortName)
|
||||||
{
|
{
|
||||||
|
TRACE("DeletePortW(%S, %p, %S)\n", pName, hWnd, pPortName);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -50,6 +53,8 @@ EnumPortsW(PWSTR pName, DWORD Level, PBYTE pPorts, DWORD cbBuf, PDWORD pcbNeeded
|
||||||
DWORD i;
|
DWORD i;
|
||||||
PBYTE p = pPorts;
|
PBYTE p = pPorts;
|
||||||
|
|
||||||
|
TRACE("EnumPortsW(%S, %lu, %p, %lu, %p, %p)\n", pName, Level, pPorts, cbBuf, pcbNeeded, pcReturned);
|
||||||
|
|
||||||
// Do the RPC call
|
// Do the RPC call
|
||||||
RpcTryExcept
|
RpcTryExcept
|
||||||
{
|
{
|
||||||
|
|
|
@ -10,6 +10,7 @@
|
||||||
LONG WINAPI
|
LONG WINAPI
|
||||||
AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter, PWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput)
|
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;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -17,6 +18,7 @@ AdvancedDocumentPropertiesW(HWND hWnd, HANDLE hPrinter, PWSTR pDeviceName, PDEVM
|
||||||
DWORD WINAPI
|
DWORD WINAPI
|
||||||
GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
|
GetPrinterDataA(HANDLE hPrinter, LPSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
|
||||||
{
|
{
|
||||||
|
TRACE("GetPrinterDataA(%p, %s, %p, %p, %lu, %p)\n", hPrinter, pValueName, pType, pData, nSize, pcbNeeded);
|
||||||
return GetPrinterDataExA(hPrinter, "PrinterDriverData", pValueName, pType, pData, nSize, pcbNeeded);
|
return GetPrinterDataExA(hPrinter, "PrinterDriverData", pValueName, pType, pData, nSize, pcbNeeded);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -33,6 +35,8 @@ GetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, LPCSTR pValueName, LPDWORD p
|
||||||
PWSTR pwszKeyName = NULL;
|
PWSTR pwszKeyName = NULL;
|
||||||
PWSTR pwszValueName = NULL;
|
PWSTR pwszValueName = NULL;
|
||||||
|
|
||||||
|
TRACE("GetPrinterDataExA(%p, %s, %s, %p, %p, %lu, %p)\n", hPrinter, pKeyName, pValueName, pType, pData, nSize, pcbNeeded);
|
||||||
|
|
||||||
if (pKeyName)
|
if (pKeyName)
|
||||||
{
|
{
|
||||||
// Convert pKeyName to a Unicode string pwszKeyName
|
// Convert pKeyName to a Unicode string pwszKeyName
|
||||||
|
@ -191,6 +195,8 @@ GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName, LPDWORD
|
||||||
DWORD dwType = REG_NONE;
|
DWORD dwType = REG_NONE;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("GetPrinterDataExW(%p, %S, %S, %p, %p, %lu, %p)\n", hPrinter, pKeyName, pValueName, pType, pData, nSize, pcbNeeded);
|
||||||
|
|
||||||
// Sanity checks
|
// Sanity checks
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
return ERROR_INVALID_HANDLE;
|
return ERROR_INVALID_HANDLE;
|
||||||
|
@ -223,12 +229,14 @@ GetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName, LPDWORD
|
||||||
DWORD WINAPI
|
DWORD WINAPI
|
||||||
GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
|
GetPrinterDataW(HANDLE hPrinter, LPWSTR pValueName, LPDWORD pType, LPBYTE pData, DWORD nSize, LPDWORD pcbNeeded)
|
||||||
{
|
{
|
||||||
|
TRACE("GetPrinterDataW(%p, %S, %p, %p, %lu, %p)\n", hPrinter, pValueName, pType, pData, nSize, pcbNeeded);
|
||||||
return GetPrinterDataExW(hPrinter, L"PrinterDriverData", pValueName, pType, pData, nSize, pcbNeeded);
|
return GetPrinterDataExW(hPrinter, L"PrinterDriverData", pValueName, pType, pData, nSize, pcbNeeded);
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD WINAPI
|
DWORD WINAPI
|
||||||
SetPrinterDataA(HANDLE hPrinter, PSTR pValueName, DWORD Type, PBYTE pData, DWORD cbData)
|
SetPrinterDataA(HANDLE hPrinter, PSTR pValueName, DWORD Type, PBYTE pData, DWORD cbData)
|
||||||
{
|
{
|
||||||
|
TRACE("SetPrinterDataA(%p, %s, %lu, %p, %lu)\n", hPrinter, pValueName, Type, pData, cbData);
|
||||||
return SetPrinterDataExA(hPrinter, "PrinterDriverData", pValueName, Type, pData, cbData);
|
return SetPrinterDataExA(hPrinter, "PrinterDriverData", pValueName, Type, pData, cbData);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -241,6 +249,8 @@ SetPrinterDataExA(HANDLE hPrinter, LPCSTR pKeyName, LPCSTR pValueName, DWORD Typ
|
||||||
PWSTR pwszValueName = NULL;
|
PWSTR pwszValueName = NULL;
|
||||||
PWSTR pUnicodeData = NULL;
|
PWSTR pUnicodeData = NULL;
|
||||||
|
|
||||||
|
TRACE("SetPrinterDataExA(%p, %s, %s, %lu, %p, %lu)\n", hPrinter, pKeyName, pValueName, Type, pData, cbData);
|
||||||
|
|
||||||
if (pKeyName)
|
if (pKeyName)
|
||||||
{
|
{
|
||||||
// Convert pKeyName to a Unicode string pwszKeyName
|
// Convert pKeyName to a Unicode string pwszKeyName
|
||||||
|
@ -313,6 +323,8 @@ SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName, DWORD T
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("SetPrinterDataExW(%p, %S, %S, %lu, %p, %lu)\n", hPrinter, pKeyName, pValueName, Type, pData, cbData);
|
||||||
|
|
||||||
// Sanity checks
|
// Sanity checks
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
return ERROR_INVALID_HANDLE;
|
return ERROR_INVALID_HANDLE;
|
||||||
|
@ -337,5 +349,6 @@ SetPrinterDataExW(HANDLE hPrinter, LPCWSTR pKeyName, LPCWSTR pValueName, DWORD T
|
||||||
DWORD WINAPI
|
DWORD WINAPI
|
||||||
SetPrinterDataW(HANDLE hPrinter, PWSTR pValueName, DWORD Type, PBYTE pData, DWORD cbData)
|
SetPrinterDataW(HANDLE hPrinter, PWSTR pValueName, DWORD Type, PBYTE pData, DWORD cbData)
|
||||||
{
|
{
|
||||||
|
TRACE("SetPrinterDataW(%p, %S, %lu, %p, %lu)\n", hPrinter, pValueName, Type, pData, cbData);
|
||||||
return SetPrinterDataExW(hPrinter, L"PrinterDriverData", pValueName, Type, pData, cbData);
|
return SetPrinterDataExW(hPrinter, L"PrinterDriverData", pValueName, Type, pData, cbData);
|
||||||
}
|
}
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* PROJECT: ReactOS Spooler API
|
* PROJECT: ReactOS Spooler API
|
||||||
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||||||
* PURPOSE: Functions related to Printer Drivers
|
* PURPOSE: Functions related to Printer Drivers
|
||||||
* COPYRIGHT: Copyright 2015 Colin Finck (colin@reactos.org)
|
* COPYRIGHT: Copyright 2015-2017 Colin Finck (colin@reactos.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
@ -10,6 +10,7 @@
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
AddPrinterDriverW(PWSTR pName, DWORD Level, PBYTE pDriverInfo)
|
AddPrinterDriverW(PWSTR pName, DWORD Level, PBYTE pDriverInfo)
|
||||||
{
|
{
|
||||||
|
TRACE("AddPrinterDriverW(%S, %lu, %p)\n", pName, Level, pDriverInfo);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -17,6 +18,7 @@ AddPrinterDriverW(PWSTR pName, DWORD Level, PBYTE pDriverInfo)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
DeletePrinterDriverW(PWSTR pName, PWSTR pEnvironment, PWSTR pDriverName)
|
DeletePrinterDriverW(PWSTR pName, PWSTR pEnvironment, PWSTR pDriverName)
|
||||||
{
|
{
|
||||||
|
TRACE("DeletePrinterDriverW(%S, %S, %S)\n", pName, pEnvironment, pDriverName);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -24,6 +26,7 @@ DeletePrinterDriverW(PWSTR pName, PWSTR pEnvironment, PWSTR pDriverName)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
EnumPrinterDriversW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
|
EnumPrinterDriversW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverInfo, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
|
||||||
{
|
{
|
||||||
|
TRACE("EnumPrinterDriversW(%S, %S, %lu, %p, %lu, %p, %p)\n", pName, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded, pcReturned);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -31,6 +34,7 @@ EnumPrinterDriversW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverI
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
GetPrinterDriverDirectoryW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverDirectory, DWORD cbBuf, PDWORD pcbNeeded)
|
GetPrinterDriverDirectoryW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pDriverDirectory, DWORD cbBuf, PDWORD pcbNeeded)
|
||||||
{
|
{
|
||||||
|
TRACE("GetPrinterDriverDirectoryW(%S, %S, %lu, %p, %lu, %p)\n", pName, pEnvironment, Level, pDriverDirectory, cbBuf, pcbNeeded);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -215,6 +215,7 @@ _StartDocPrinterWithRPC(PSPOOLER_HANDLE pHandle, PDOC_INFO_1W pDocInfo1)
|
||||||
HANDLE WINAPI
|
HANDLE WINAPI
|
||||||
AddPrinterW(PWSTR pName, DWORD Level, PBYTE pPrinter)
|
AddPrinterW(PWSTR pName, DWORD Level, PBYTE pPrinter)
|
||||||
{
|
{
|
||||||
|
TRACE("AddPrinterW(%S, %lu, %p)\n", pName, Level, pPrinter);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return NULL;
|
return NULL;
|
||||||
}
|
}
|
||||||
|
@ -225,6 +226,8 @@ ClosePrinter(HANDLE hPrinter)
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("ClosePrinter(%p)\n", hPrinter);
|
||||||
|
|
||||||
// Sanity checks.
|
// Sanity checks.
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
|
@ -259,24 +262,28 @@ Cleanup:
|
||||||
DWORD WINAPI
|
DWORD WINAPI
|
||||||
DeviceCapabilitiesA(LPCSTR pDevice, LPCSTR pPort, WORD fwCapability, LPSTR pOutput, const DEVMODEA* pDevMode)
|
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);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
DWORD WINAPI
|
DWORD WINAPI
|
||||||
DeviceCapabilitiesW(LPCWSTR pDevice, LPCWSTR pPort, WORD fwCapability, LPWSTR pOutput, const DEVMODEW* pDevMode)
|
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);
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LONG WINAPI
|
LONG WINAPI
|
||||||
DocumentPropertiesA(HWND hWnd, HANDLE hPrinter, LPSTR pDeviceName, PDEVMODEA pDevModeOutput, PDEVMODEA pDevModeInput, DWORD fMode)
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
LONG WINAPI
|
LONG WINAPI
|
||||||
DocumentPropertiesW(HWND hWnd, HANDLE hPrinter, LPWSTR pDeviceName, PDEVMODEW pDevModeOutput, PDEVMODEW pDevModeInput, DWORD fMode)
|
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;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -286,6 +293,8 @@ EndDocPrinter(HANDLE hPrinter)
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("EndDocPrinter(%p)\n", hPrinter);
|
||||||
|
|
||||||
// Sanity checks.
|
// Sanity checks.
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
|
@ -339,6 +348,8 @@ EndPagePrinter(HANDLE hPrinter)
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("EndPagePrinter(%p)\n", hPrinter);
|
||||||
|
|
||||||
// Sanity checks.
|
// Sanity checks.
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
|
@ -374,6 +385,7 @@ Cleanup:
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
EnumPrintersA(DWORD Flags, PSTR Name, DWORD Level, PBYTE pPrinterEnum, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
|
EnumPrintersA(DWORD Flags, PSTR Name, DWORD Level, PBYTE pPrinterEnum, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
|
||||||
{
|
{
|
||||||
|
TRACE("EnumPrintersA(%lu, %s, %lu, %p, %lu, %p, %p)\n", Flags, Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -382,6 +394,8 @@ EnumPrintersW(DWORD Flags, PWSTR Name, DWORD Level, PBYTE pPrinterEnum, DWORD cb
|
||||||
{
|
{
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
|
|
||||||
|
TRACE("EnumPrintersW(%lu, %S, %lu, %p, %lu, %p, %p)\n", Flags, Name, Level, pPrinterEnum, cbBuf, pcbNeeded, pcReturned);
|
||||||
|
|
||||||
// Dismiss invalid levels already at this point.
|
// Dismiss invalid levels already at this point.
|
||||||
if (Level == 3 || Level > 5)
|
if (Level == 3 || Level > 5)
|
||||||
{
|
{
|
||||||
|
@ -424,6 +438,8 @@ GetDefaultPrinterA(LPSTR pszBuffer, LPDWORD pcchBuffer)
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PWSTR pwszBuffer = NULL;
|
PWSTR pwszBuffer = NULL;
|
||||||
|
|
||||||
|
TRACE("GetDefaultPrinterA(%p, %p)\n", pszBuffer, pcchBuffer);
|
||||||
|
|
||||||
// Sanity check.
|
// Sanity check.
|
||||||
if (!pcchBuffer)
|
if (!pcchBuffer)
|
||||||
{
|
{
|
||||||
|
@ -472,6 +488,8 @@ GetDefaultPrinterW(LPWSTR pszBuffer, LPDWORD pcchBuffer)
|
||||||
PWSTR pwszDevice = NULL;
|
PWSTR pwszDevice = NULL;
|
||||||
PWSTR pwszComma;
|
PWSTR pwszComma;
|
||||||
|
|
||||||
|
TRACE("GetDefaultPrinterW(%p, %p)\n", pszBuffer, pcchBuffer);
|
||||||
|
|
||||||
// Sanity check.
|
// Sanity check.
|
||||||
if (!pcchBuffer)
|
if (!pcchBuffer)
|
||||||
{
|
{
|
||||||
|
@ -554,18 +572,21 @@ Cleanup:
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded)
|
GetPrinterA(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD pcbNeeded)
|
||||||
{
|
{
|
||||||
|
TRACE("GetPrinterA(%p, %lu, %p, %lu, %p)\n", hPrinter, Level, pPrinter, cbBuf, pcbNeeded);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded)
|
GetPrinterDriverA(HANDLE hPrinter, LPSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded)
|
||||||
{
|
{
|
||||||
|
TRACE("GetPrinterDriverA(%p, %s, %lu, %p, %lu, %p)\n", hPrinter, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded)
|
GetPrinterDriverW(HANDLE hPrinter, LPWSTR pEnvironment, DWORD Level, LPBYTE pDriverInfo, DWORD cbBuf, LPDWORD pcbNeeded)
|
||||||
{
|
{
|
||||||
|
TRACE("GetPrinterDriverW(%p, %S, %lu, %p, %lu, %p)\n", hPrinter, pEnvironment, Level, pDriverInfo, cbBuf, pcbNeeded);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -574,6 +595,8 @@ GetPrinterW(HANDLE hPrinter, DWORD Level, LPBYTE pPrinter, DWORD cbBuf, LPDWORD
|
||||||
{
|
{
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
|
|
||||||
|
TRACE("GetPrinterW(%p, %lu, %p, %lu, %p)\n", hPrinter, Level, pPrinter, cbBuf, pcbNeeded);
|
||||||
|
|
||||||
// Dismiss invalid levels already at this point.
|
// Dismiss invalid levels already at this point.
|
||||||
if (Level > 9)
|
if (Level > 9)
|
||||||
{
|
{
|
||||||
|
@ -615,6 +638,8 @@ OpenPrinterA(LPSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSA pDefaul
|
||||||
PWSTR pwszPrinterName = NULL;
|
PWSTR pwszPrinterName = NULL;
|
||||||
PRINTER_DEFAULTSW wDefault = { 0 };
|
PRINTER_DEFAULTSW wDefault = { 0 };
|
||||||
|
|
||||||
|
TRACE("OpenPrinterA(%s, %p, %p)\n", pPrinterName, phPrinter, pDefault);
|
||||||
|
|
||||||
if (pPrinterName)
|
if (pPrinterName)
|
||||||
{
|
{
|
||||||
// Convert pPrinterName to a Unicode string pwszPrinterName
|
// Convert pPrinterName to a Unicode string pwszPrinterName
|
||||||
|
@ -680,6 +705,8 @@ OpenPrinterW(LPWSTR pPrinterName, LPHANDLE phPrinter, LPPRINTER_DEFAULTSW pDefau
|
||||||
WINSPOOL_DEVMODE_CONTAINER DevModeContainer = { 0 };
|
WINSPOOL_DEVMODE_CONTAINER DevModeContainer = { 0 };
|
||||||
ACCESS_MASK AccessRequired = 0;
|
ACCESS_MASK AccessRequired = 0;
|
||||||
|
|
||||||
|
TRACE("OpenPrinterW(%S, %p, %p)\n", pPrinterName, phPrinter, pDefault);
|
||||||
|
|
||||||
// Sanity check
|
// Sanity check
|
||||||
if (!phPrinter)
|
if (!phPrinter)
|
||||||
{
|
{
|
||||||
|
@ -737,6 +764,8 @@ ReadPrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pNoBytesRead)
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("ReadPrinter(%p, %p, %lu, %p)\n", hPrinter, pBuf, cbBuf, pNoBytesRead);
|
||||||
|
|
||||||
// Sanity checks.
|
// Sanity checks.
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
|
@ -764,6 +793,7 @@ Cleanup:
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
ResetPrinterW(HANDLE hPrinter, PPRINTER_DEFAULTSW pDefault)
|
ResetPrinterW(HANDLE hPrinter, PPRINTER_DEFAULTSW pDefault)
|
||||||
{
|
{
|
||||||
|
TRACE("ResetPrinterW(%p, %p)\n", hPrinter, pDefault);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -775,6 +805,8 @@ SetDefaultPrinterA(LPCSTR pszPrinter)
|
||||||
DWORD cch;
|
DWORD cch;
|
||||||
PWSTR pwszPrinter = NULL;
|
PWSTR pwszPrinter = NULL;
|
||||||
|
|
||||||
|
TRACE("SetDefaultPrinterA(%s)\n", pszPrinter);
|
||||||
|
|
||||||
if (pszPrinter)
|
if (pszPrinter)
|
||||||
{
|
{
|
||||||
// Convert pszPrinter to a Unicode string pwszPrinter
|
// Convert pszPrinter to a Unicode string pwszPrinter
|
||||||
|
@ -814,6 +846,8 @@ SetDefaultPrinterW(LPCWSTR pszPrinter)
|
||||||
PWSTR pwszDeviceValueData = NULL;
|
PWSTR pwszDeviceValueData = NULL;
|
||||||
WCHAR wszPrinter[MAX_PRINTER_NAME + 1];
|
WCHAR wszPrinter[MAX_PRINTER_NAME + 1];
|
||||||
|
|
||||||
|
TRACE("SetDefaultPrinterW(%S)\n", pszPrinter);
|
||||||
|
|
||||||
// Open the Devices registry key.
|
// Open the Devices registry key.
|
||||||
dwErrorCode = (DWORD)RegOpenKeyExW(HKEY_CURRENT_USER, wszDevicesKey, 0, KEY_READ, &hDevicesKey);
|
dwErrorCode = (DWORD)RegOpenKeyExW(HKEY_CURRENT_USER, wszDevicesKey, 0, KEY_READ, &hDevicesKey);
|
||||||
if (dwErrorCode != ERROR_SUCCESS)
|
if (dwErrorCode != ERROR_SUCCESS)
|
||||||
|
@ -913,6 +947,7 @@ Cleanup:
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
SetPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD Command)
|
SetPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pPrinter, DWORD Command)
|
||||||
{
|
{
|
||||||
|
TRACE("SetPrinterW(%p, %lu, %p, %lu)\n", hPrinter, Level, pPrinter, Command);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -926,6 +961,8 @@ StartDocPrinterA(HANDLE hPrinter, DWORD Level, PBYTE pDocInfo)
|
||||||
DWORD dwReturnValue = 0;
|
DWORD dwReturnValue = 0;
|
||||||
PDOC_INFO_1A pDocInfo1 = (PDOC_INFO_1A)pDocInfo;
|
PDOC_INFO_1A pDocInfo1 = (PDOC_INFO_1A)pDocInfo;
|
||||||
|
|
||||||
|
TRACE("StartDocPrinterA(%p, %lu, %p)\n", hPrinter, Level, pDocInfo);
|
||||||
|
|
||||||
// Only check the minimum required for accessing pDocInfo.
|
// Only check the minimum required for accessing pDocInfo.
|
||||||
// Additional sanity checks are done in StartDocPrinterW.
|
// Additional sanity checks are done in StartDocPrinterW.
|
||||||
if (!pDocInfo1)
|
if (!pDocInfo1)
|
||||||
|
@ -1016,6 +1053,8 @@ StartDocPrinterW(HANDLE hPrinter, DWORD Level, PBYTE pDocInfo)
|
||||||
PDOC_INFO_1W pDocInfo1 = (PDOC_INFO_1W)pDocInfo;
|
PDOC_INFO_1W pDocInfo1 = (PDOC_INFO_1W)pDocInfo;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("StartDocPrinterW(%p, %lu, %p)\n", hPrinter, Level, pDocInfo);
|
||||||
|
|
||||||
// Sanity checks.
|
// Sanity checks.
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
|
@ -1100,6 +1139,8 @@ StartPagePrinter(HANDLE hPrinter)
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("StartPagePrinter(%p)\n", hPrinter);
|
||||||
|
|
||||||
// Sanity checks.
|
// Sanity checks.
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
|
@ -1130,6 +1171,8 @@ WritePrinter(HANDLE hPrinter, PVOID pBuf, DWORD cbBuf, PDWORD pcWritten)
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
PSPOOLER_HANDLE pHandle = (PSPOOLER_HANDLE)hPrinter;
|
||||||
|
|
||||||
|
TRACE("WritePrinter(%p, %p, %lu, %p)\n", hPrinter, pBuf, cbBuf, pcWritten);
|
||||||
|
|
||||||
// Sanity checks.
|
// Sanity checks.
|
||||||
if (!pHandle)
|
if (!pHandle)
|
||||||
{
|
{
|
||||||
|
@ -1181,5 +1224,6 @@ Cleanup:
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
|
XcvDataW(HANDLE hXcv, PCWSTR pszDataName, PBYTE pInputData, DWORD cbInputData, PBYTE pOutputData, DWORD cbOutputData, PDWORD pcbOutputNeeded, PDWORD pdwStatus)
|
||||||
{
|
{
|
||||||
|
TRACE("XcvDataW(%p, %S, %p, %lu, %p, %lu, %p, %p)\n", hXcv, pszDataName, pInputData, cbInputData, pOutputData, cbOutputData, pcbOutputNeeded, pdwStatus);
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
|
@ -29,6 +29,7 @@ _MarshallUpPrintProcessorInfo(PPRINTPROCESSOR_INFO_1W* ppPrintProcessorInfo1)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
AddPrintProcessorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPathName, PWSTR pPrintProcessorName)
|
AddPrintProcessorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPathName, PWSTR pPrintProcessorName)
|
||||||
{
|
{
|
||||||
|
TRACE("AddPrintProcessorW(%S, %S, %S, %S)\n", pName, pEnvironment, pPathName, pPrintProcessorName);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -36,6 +37,7 @@ AddPrintProcessorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPathName, PWSTR pPrin
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
DeletePrintProcessorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPrintProcessorName)
|
DeletePrintProcessorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPrintProcessorName)
|
||||||
{
|
{
|
||||||
|
TRACE("DeletePrintProcessorW(%S, %S, %S)\n", pName, pEnvironment, pPrintProcessorName);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -43,6 +45,7 @@ DeletePrintProcessorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPrintProcessorName
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
EnumPrintProcessorDatatypesA(PSTR pName, LPSTR pPrintProcessorName, DWORD Level, PBYTE pDatatypes, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
|
EnumPrintProcessorDatatypesA(PSTR pName, LPSTR pPrintProcessorName, DWORD Level, PBYTE pDatatypes, DWORD cbBuf, PDWORD pcbNeeded, PDWORD pcReturned)
|
||||||
{
|
{
|
||||||
|
TRACE("EnumPrintProcessorDatatypesA(%s, %s, %lu, %p, %lu, %p, %p)\n", pName, pPrintProcessorName, Level, pDatatypes, cbBuf, pcbNeeded, pcReturned);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -52,6 +55,8 @@ EnumPrintProcessorDatatypesW(PWSTR pName, LPWSTR pPrintProcessorName, DWORD Leve
|
||||||
{
|
{
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
|
|
||||||
|
TRACE("EnumPrintProcessorDatatypesW(%S, %S, %lu, %p, %lu, %p, %p)\n", pName, pPrintProcessorName, Level, pDatatypes, cbBuf, pcbNeeded, pcReturned);
|
||||||
|
|
||||||
// Sanity checks
|
// Sanity checks
|
||||||
if (Level != 1)
|
if (Level != 1)
|
||||||
{
|
{
|
||||||
|
@ -90,6 +95,8 @@ EnumPrintProcessorsW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE pPrintP
|
||||||
{
|
{
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
|
|
||||||
|
TRACE("EnumPrintProcessorsW(%S, %S, %lu, %p, %lu, %p, %p)\n", pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded, pcReturned);
|
||||||
|
|
||||||
// Choose our current environment if the caller didn't give any.
|
// Choose our current environment if the caller didn't give any.
|
||||||
if (!pEnvironment)
|
if (!pEnvironment)
|
||||||
pEnvironment = (PWSTR)wszCurrentEnvironment;
|
pEnvironment = (PWSTR)wszCurrentEnvironment;
|
||||||
|
@ -127,6 +134,8 @@ GetPrintProcessorDirectoryA(PSTR pName, PSTR pEnvironment, DWORD Level, PBYTE pP
|
||||||
PWSTR pwszEnvironment = NULL;
|
PWSTR pwszEnvironment = NULL;
|
||||||
PWSTR pwszPrintProcessorInfo = NULL;
|
PWSTR pwszPrintProcessorInfo = NULL;
|
||||||
|
|
||||||
|
TRACE("GetPrintProcessorDirectoryA(%s, %s, %lu, %p, %lu, %p)\n", pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded);
|
||||||
|
|
||||||
if (pName)
|
if (pName)
|
||||||
{
|
{
|
||||||
// Convert pName to a Unicode string pwszName.
|
// Convert pName to a Unicode string pwszName.
|
||||||
|
@ -199,6 +208,8 @@ GetPrintProcessorDirectoryW(PWSTR pName, PWSTR pEnvironment, DWORD Level, PBYTE
|
||||||
{
|
{
|
||||||
DWORD dwErrorCode;
|
DWORD dwErrorCode;
|
||||||
|
|
||||||
|
TRACE("GetPrintProcessorDirectoryW(%S, %S, %lu, %p, %lu, %p)\n", pName, pEnvironment, Level, pPrintProcessorInfo, cbBuf, pcbNeeded);
|
||||||
|
|
||||||
// Sanity checks
|
// Sanity checks
|
||||||
if (Level != 1)
|
if (Level != 1)
|
||||||
{
|
{
|
||||||
|
|
|
@ -2,7 +2,7 @@
|
||||||
* PROJECT: ReactOS Spooler API
|
* PROJECT: ReactOS Spooler API
|
||||||
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
* LICENSE: GPL-2.0+ (https://spdx.org/licenses/GPL-2.0+)
|
||||||
* PURPOSE: Functions related to Print Providers
|
* PURPOSE: Functions related to Print Providers
|
||||||
* COPYRIGHT: Copyright 2015 Colin Finck (colin@reactos.org)
|
* COPYRIGHT: Copyright 2015-2017 Colin Finck (colin@reactos.org)
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include "precomp.h"
|
#include "precomp.h"
|
||||||
|
@ -10,6 +10,7 @@
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
AddPrintProvidorW(PWSTR pName, DWORD Level, PBYTE pProviderInfo)
|
AddPrintProvidorW(PWSTR pName, DWORD Level, PBYTE pProviderInfo)
|
||||||
{
|
{
|
||||||
|
TRACE("AddPrintProvidorW(%S, %lu, %p)\n", pName, Level, pProviderInfo);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
@ -17,6 +18,7 @@ AddPrintProvidorW(PWSTR pName, DWORD Level, PBYTE pProviderInfo)
|
||||||
BOOL WINAPI
|
BOOL WINAPI
|
||||||
DeletePrintProvidorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPrintProviderName)
|
DeletePrintProvidorW(PWSTR pName, PWSTR pEnvironment, PWSTR pPrintProviderName)
|
||||||
{
|
{
|
||||||
|
TRACE("DeletePrintProvidorW(%S, %S, %S)\n", pName, pEnvironment, pPrintProviderName);
|
||||||
UNIMPLEMENTED;
|
UNIMPLEMENTED;
|
||||||
return FALSE;
|
return FALSE;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue