次の方法で共有


転送のコンテキスト

転送コンテキストは、ミニドライバーからアプリケーションへのデータ転送を記述する情報のコレクションです。 転送に関する情報は、MINIDRV_TRANSFER_CONTEXT 構造体に格納されます。 転送コンテキストには、転送されるイメージに関する情報 (サイズ、解像度、色深度 (ピクセルあたりのバイト数)、圧縮の種類、および画像形式) を含むメンバーが含まれます。 WIA サービスは、IWiaMiniDrv::drvAcquireItemData メソッドを呼び出す前に、関連する WIA 項目プロパティからこれらの値を取得します。 その後、値は MINIDRV_TRANSFER_CONTEXT 構造体に格納され、便利にアクセスできるようドライバーに渡されます。 このプロセスにより、ドライバーが WIA サービス ライブラリ ルーチンを使用して、アプリケーション項目コンテキスト (つまり、WIA サービス コンテキスト) からこれらの値を読み取る必要がなくなります。

転送コンテキストには、転送の種類 (ファイル データ転送かメモリ コールバック転送か) に関する情報も含まれます。 ファイル データ転送の場合、1 つのメンバーには、書き込まれるファイルへのハンドルが含まれます。 ミニドライバーがこのハンドルにタッチしないようにすることをお勧めします。 WIA サービスは、転送が発生する前にハンドルを開き、転送の完了時にハンドルを閉じます。 メモリ コールバック データ転送 (およびアプリケーションがミニドライバーから更新プログラムを受信するファイル データ転送) の場合、メンバーにはミニドライバーのコールバック ルーチンのアドレスが含まれます。

他のメンバーには、転送で使用されるすべてのバッファーの合計サイズ、ミニドライバーまたは WIA サービスによる割り当ての有無などの情報が含まれています。 この構造体のメンバーに関する完全なリストについては、「MINIDRV_TRANSFER_CONTEXT」 を参照してください。

ミニドライバーは、wiasGetImageInformation 関数と共に、画像自体を記述する転送コンテキスト項目の多く (幅 (ピクセル単位)、行数など) を設定します。 WIA サービスでは、ファイル ハンドル (該当する場合)、転送の種類など、データ転送に関連する転送コンテキスト項目の多くを設定します。