---
name: "XcvDataW"
section: "3w"
platform: "linux"
package: "libwine-dev"
version: "1.4.1-4"
release: "Debian 7 (Wheezy)"
platforms: ["linux"]
url: "https://new.carta.tech/XcvDataW"
---

# 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"**.
