IStiDevice::Escape method (sti.h)

The IStiDevice::Escape method sends a request for a vendor-specific I/O operation to a still image device.

Syntax

HRESULT Escape(
  [in]      STI_RAW_CONTROL_CODE EscapeFunction,
  [in]      LPVOID               lpInData,
            DWORD                cbInDataSize,
  [in, out] LPVOID               pOutData,
            DWORD                dwOutDataSize,
  [out]     LPDWORD              pdwActualData
);

Parameters

[in] EscapeFunction

Caller-supplied, vendor-defined, DWORD-sized value representing an I/O operation. The device's minidriver must recognize this value and must export an IStiUSD interface. Vendor-defined values must be greater than STI_RAW_RESERVED, which is defined in Sti.h.

[in] lpInData

Caller-supplied pointer to a buffer containing data to be sent to the device.

cbInDataSize

Caller-supplied length, in bytes, of the data contained in the buffer pointed to by lpInData.

[in, out] 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.

[out] pdwActualData

Receives the number of bytes actually written to pOutData.

Return value

If the operation succeeds, the method returns S_OK. Otherwise, it returns one of the STIERR-prefixed error codes defined in stierr.h.

Remarks

The IStiDevice::Escape method calls IStiUSD::Escape, which is exported by vendor-supplied minidrivers. The device's minidriver defines the Method parameter usage.

Before calling IStiDevice::Escape, clients of the IStiDevice COM interface must call IStillImage::CreateDevice to obtain an IStiDevice interface pointer, which provides access to a specified device.

A call to IStiDevice::Escape must be preceded by a call to IStiDevice::LockDevice and followed by a call to IStiDevice::UnLockDevice.

Requirements

Requirement Value
Target Platform Desktop
Header sti.h (include Sti.h)