次の方法で共有


プロパティ シートの拡張機能

[プロパティ] コンテキスト メニュー項目は、デバイスの [スキャナーとカメラ] コントロール パネル フォルダー (ルート項目) または [マイ コンピューター] フォルダーのスキャナーまたはカメラ のプロパティ シートにアクセスできます。

カメラとスキャナーのプロパティ シート拡張機能では、特定の画像取得セッションのユーザー インターフェイスを提供することもできます。つまり、ルート以外の IWiaItem オブジェクト (Microsoft Windows SDK のドキュメントを参照) は、ユーザーが既定のスキャン ダイアログを使用しているときにアクティブになります。 これらの拡張機能には、イメージ取得ダイアログの詳細プロパティまたは詳細設定リンクを使用してアクセスします。 プロパティのコンテキスト メニューからアクションを選択すると、WIA は、 IShellExtInit インターフェイスと IShellPropSheetExt インターフェイスのベンダー指定の実装を使用してプロパティ シートを構築します (Windows SDK のドキュメントを参照)。

プロパティ シートとコンテキスト メニュー UI 拡張機能の両方で、選択した項目を記述する IDataObject インターフェイス (Windows SDK ドキュメントで説明) では、WIAItemNames 形式または WIAItemPointer 形式が使用されます。 これらの形式とその形式名は wiadevd.h で定義されています。

CFSTR_WIAITEMNAMESという形式名を持つWIAItemNames形式は、IWiaItem識別子のダブルヌル終端リストを指すHGLOBALを返します。 各識別子は、 <デバイスID>::<完全パス名>の形式です。 ルート項目の場合、完全なパス名の部分は空です。

WIAItemPointer 形式は、Microsoft Windows XP 以降のバージョンでサポートされています。 形式名はCFSTR_WIAITEMPTR。 WIAItemPointer 形式は、 tymed メンバーが TYMED_ISTREAM に設定されている (Windows SDK ドキュメントで宣言されている) STGMEDIUM 構造体を返します。 この形式は、ユーザーが 1 つの項目のみを選択する場合に使用できます。 プロパティ シートまたはコンテキスト拡張は、STGMEDIUM 構造体に格納されている IStream オブジェクトで CoUnmarshalInterface を呼び出して、IWiaItem インターフェイスを取得できます。 ( CoUnmarshalInterface 関数と IStream インターフェイスと IWiaItem インターフェイスの説明については、Windows SDK のドキュメントを参照してください)。この形式を使用すると、プロパティ シート上のすべてのページで、適切にマーシャリングされた IWiaItem インターフェイスを共有できます。これはスキャン中に重要です。