Reference

XcvDataW(3w)

NAME

XcvDataW (WINSPOOL.@)

SYNOPSIS

BOOL XcvDataW
(
HANDLE hXcv,
LPCWSTR pszDataName,
PBYTE pInputData,
DWORD cbInputData,
PBYTE pOutputData,
DWORD cbOutputData,
PDWORD pcbOutputNeeded,
PDWORD pdwStatus
)

DESCRIPTION

Execute commands in the Printmonitor DLL.

PARAMS

hXcv [In] Handle from OpenPrinter (with XcvMonitor or XcvPort).

pszDataName [In] Name of the command to execute.

pInputData [In] Buffer for extra Input Data (needed only for some commands).

cbInputData [In] Size in Bytes of Buffer at pInputData.

pOutputData [Out] Buffer to receive additional Data (needed only for some commands).

cbOutputData [In] Size in Bytes of Buffer at pOutputData.

pcbOutputNeeded [Out] PTR to receive the minimal Size in Bytes of the Buffer at pOutputData.

pdwStatus [Out] PTR to receive the Win32 error code from the Printmonitor DLL.

RETURNS

Success: TRUE

Failure: FALSE.

NOTES

Returning "TRUE" does mean, that the Printmonitor dll was called successful. The execution of the command can still fail (check pdwStatus for ERROR_SUCCESS).

Minimal List of commands, that a Printmonitor dll should support:

"MonitorUI" : Return the Name of the Userinterface-DLL as WSTR in pOutputData

"AddPort" : Add a Port

"DeletePort": Delete a Port.

Many Printmonitors support additional commands. Examples for localspl.dll: "GetDefaultCommConfig", "SetDefaultCommConfig", "GetTransmissionRetryTimeout", "ConfigureLPTPortCommandOK"

IMPLEMENTATION

Declared in "winspool.h".

Implemented in "dlls/winspool.drv/info.c".

Debug channel "winspool".

History