7.4 WFS_CMD_PTR_RAW_DATA

Description This command is used to send raw data (a byte string of device dependent data) to the physical device.

Input Param LPWFSPTRRAWDATA lpRawData;

typedef struct _wfs_ptr_raw_data
{
WORD wInputData;
ULONG ulSize;
LPBYTE lpbData;
} WFSPTRRAWDATA, * LPWFSPTRRAWDATA;

wInputData
Specifies that input data from the device is expected in response to sending the raw data (i.e., the data contains a command requesting data). Possible values are:

Value Meaning

WFS_PTR_NOINPUTDATA No input data is expected.

WFS_PTR_INPUTDATA Input data is expected.

ulSize
Specifies the size of the byte string passed to the device.

lpbData
Points to the byte string holding the device dependent data.

Output Param LPWFSPTRRAWDATAIN lpRawDataIn;
[used only if wInputData is set to WFS_PTR_INPUTDATA]

typedef struct _wfs_ptr_raw_data_in
{
ULONG ulSize;
LPBYTE lpbData;
} WFSPTRRAWDATAIN, * LPWFSPTRRAWDATAIN;

ulSize
Specifies the size of the byte string received from the device.

lpbData
Points to the byte string received from the device.

Error Codes There are no additional error codes generated by this command.

Events There are no additional events generated by this command.

Comments Applications which send raw data to a device will typically not be device or vendor independent. Problems with the use of this command include:

1. The data sent to the device can include commands that change the state of the device in unpredictable ways (in particular, in ways that the service provider may not be aware of).

2. Usage of this command will not be portable.

3. This command violates the XFS forms model that is the basis of XFS printer access.

Thus usage of this command should be avoided whenever possible. If it is used, the usage should be carefully isolated from all other XFS access to the service by at least the WFSLock and WFSUnlock commands.