Previous Next

IStiUSD::Escape

A still image minidriver's IStiUSD::Escape method performs a vendor-specific I/O operation on a still image device.

STDMETHODIMP
  Escape(
    STI_RAW_CONTROL_CODE  EscapeFunction,
    LPVOID  lpInData,
    DWORD  cbInDataSize,
    LPVOID  pOutData,
    DWORD  dwOutDataSize,
    LPDWORD  pdwActualData
    );

Parameters

EscapeFunction
Caller-supplied, vendor-defined, DWORD-sized value representing an I/O operation. Vendor-defined values must be greater than STI_RAW_RESERVED, which is defined in sti.h.
lpInData
Caller-supplied pointer to a buffer containing data sent to the device.
cbInDataSize
Caller-supplied length, in bytes, of the buffer pointed to by lpInData.
pOutData
Caller-supplied pointer to a memory buffer to receive data from the device.
dwOutDataSize
Caller-supplied length, in bytes, of the buffer pointed to by lpOutData.
pdwActualData
Receives the number of bytes actually written to pOutData.

Return Value

If the operation succeeds, the method should return S_OK. Otherwise, it should return one of the STIERR-prefixed error codes defined in stierr.h. If the method is not implemented, it should return STIERR_UNSUPPORTED.

Headers

Declared in stiusd.h. Include stiusd.h.

Comments

A still image minidriver only needs to implement IStiUSD::Escape if I/O operations are required that cannot be implemented within IStiUSD::RawReadData, IStiUSD::RawWriteData, IStiUSD::RawReadCommand, or IStiUSD::RawWriteCommand methods. Parameter usage for IStiUSD::Escape is defined by the minidriver.

See Also

IStiDevice::Escape