Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
The IWiaMiniDrv::drvDeviceCommand method issues a command to a WIA device.
Syntax
HRESULT drvDeviceCommand(
BYTE *__MIDL__IWiaMiniDrv0043,
LONG __MIDL__IWiaMiniDrv0044,
const GUID *__MIDL__IWiaMiniDrv0045,
IWiaDrvItem **__MIDL__IWiaMiniDrv0046,
LONG *__MIDL__IWiaMiniDrv0047
);
Parameters
__MIDL__IWiaMiniDrv0043
lFlags [in]
Reserved.
__MIDL__IWiaMiniDrv0044
pWiasContext [in]
Pointer to a WIA item context.
__MIDL__IWiaMiniDrv0045
plCommand [in]
Points to a WIA command GUID.
__MIDL__IWiaMiniDrv0046
plDevErrVal [out]
Points to a memory ___location that will receive a status code for this method. If this method returns S_OK, the value stored will be zero. Otherwise, a minidriver-specific error code will be stored at the ___location pointed to by this parameter.
__MIDL__IWiaMiniDrv0047
ppWiaDrvItem [out, optional]
Points to a memory ___location that can receive a pointer to an IWiaDrvItem Interface. See remarks below.
Return value
On success, the method should return S_OK and clear the device error value pointed to by plDevErrVal. If the method fails, it should return a standard COM error code and place a minidriver-specific error code value in the memory pointed to by plDevErrVal.
The value pointed to by plDevErrVal can be converted to a string by calling IWiaMiniDrv::drvGetDeviceErrorStr.
Remarks
The method IWiaMiniDrv::drvDeviceCommand is called by the WIA service to issue a WIA service or application generated command to the device. The WIA service only calls the IWiaMiniDrv::drvDeviceCommand method for a command that the device can support in the method IWiaMiniDrv::drvGetCapabilities.
The ppWiaDrvItem parameter should be considered to be optional, since the minidriver does not normally set the memory ___location it points to. For certain commands, however, the minidriver places the address of a newly created item in the ___location pointed to by this parameter. For example, if the command to take a picture is issued (plCommand is set to WIA_CMD_TAKE_PICTURE), the device produces a new image, causing the minidriver to create a new item in the driver item tree, and sets *ppWiaDrvItem to the address of the new item. This informs the WIA service that a new item was created.
The minidriver may include a list of custom commands the device can support in the method IWiaMiniDrv::drvGetCapabilities.
The WIA service does not write any properties before calling this method. If the command relies on property settings, the minidriver should call IWiaMiniDrv::drvWriteItemProperties before issuing the command. For example, the command to take a picture, WIA_CMD_TAKE_PICTURE, might rely on shutter speed and aperture settings, which need to be written to the device before the command is issued.
Requirements
Requirement | Value |
---|---|
Target Platform | Desktop |
Header | wiamindr_lh.h (include Wiamindr.h) |