次の方法で共有


IWiaMiniDrv::d rvDeviceCommand メソッド (wiamindr_lh.h)

IWiaMiniDrv::d rvDeviceCommand メソッドは、WIA デバイスにコマンドを発行します。

構文

HRESULT drvDeviceCommand(
  BYTE        *__MIDL__IWiaMiniDrv0043,
  LONG        __MIDL__IWiaMiniDrv0044,
  const GUID  *__MIDL__IWiaMiniDrv0045,
  IWiaDrvItem **__MIDL__IWiaMiniDrv0046,
  LONG        *__MIDL__IWiaMiniDrv0047
);

パラメーター

__MIDL__IWiaMiniDrv0043

lFlags [in]

引っ込み思案。

__MIDL__IWiaMiniDrv0044

pWiasContext [in]

WIA 項目コンテキストへのポインター。

__MIDL__IWiaMiniDrv0045

plCommand [in] を する

WIA コマンド GUID をポイントします。

__MIDL__IWiaMiniDrv0046

plDevErrVal [out]

このメソッドの状態コードを受け取るメモリの場所を指します。 このメソッドが S_OKを返す場合、格納される値は 0 になります。 それ以外の場合、ミニドライバー固有のエラー コードは、このパラメーターが指す場所に格納されます。

__MIDL__IWiaMiniDrv0047

ppWiaDrvItem [out, optional]

IWiaDrvItem インターフェイスへのポインターを受け取ることができるメモリ位置を指します。 以下の解説を参照してください。

戻り値

成功した場合、メソッドは S_OK を返し、plDevErrVal によって指デバイス エラー値をクリアする必要があります。 メソッドが失敗した場合は、標準の COM エラー コードを返し、plDevErrVal によって指されるメモリにミニドライバー固有のエラー コード値配置する必要があります。

plDevErrVal 指す値は、IWiaMiniDrv::d rvGetDeviceErrorStr 呼び出すことによって、文字列に変換できます。

備考

IWiaMiniDrv::d rvDeviceCommand メソッドは、WIA サービスまたはアプリケーションによって生成されたコマンドをデバイスに発行するために WIA サービスによって呼び出されます。 WIA サービスは、デバイスが IWiaMiniDrv::d rvGetCapabilities メソッドでサポートできるコマンドに対して、IWiaMiniDrv::d rvDeviceCommand メソッドのみを呼び出します。

ppWiaDrvItem パラメーターは省略可能と見なす必要があります。ミニドライバーは通常、それが指すメモリの場所を設定しないためです。 ただし、特定のコマンドの場合、ミニドライバーは、新しく作成された項目のアドレスを、このパラメーターが指す場所に配置します。 たとえば、写真を撮るコマンドが発行された場合 (plCommandがWIA_CMD_TAKE_PICTUREに設定)、デバイスは新しいイメージを生成し、ミニドライバーがドライバー項目ツリーに新しい項目を作成し、*ppWiaDrvItem を新しい項目のアドレスに設定します。 これにより、新しい項目が作成されたことを WIA サービスに通知します。

ミニドライバーには、デバイスが IWiaMiniDrv::d rvGetCapabilities メソッドでサポートできるカスタム コマンドの一覧を含めることができます。

WIA サービスは、このメソッドを呼び出す前にプロパティを書き込むことはありません。 コマンドがプロパティ設定に依存している場合、ミニドライバーは、コマンドを発行する前 IWiaMiniDrv::d rvWriteItemProperties を呼び出す必要があります。 たとえば、写真を撮るコマンド (WIA_CMD_TAKE_PICTURE) は、シャッター速度と絞り設定に依存する場合があります。この設定は、コマンドを発行する前にデバイスに書き込む必要があります。

必要条件

要件 価値
ターゲット プラットフォーム デスクトップ
ヘッダー wiamindr_lh.h (Wiamindr.h を含む)

関連項目

IWiaMiniDrv

IWiaMiniDrv::d rvGetCapabilities

IWiaMiniDrv::d rvWriteItemProperties