次の方法で共有


DEVICEDIALOGDATA2構造体 (wiadevd.h)

DEVICEDIALOGDATA2構造体には、カスタム デバイス ダイアログを実装するために必要なすべてのデータが含まれています。

構文

typedef struct tagDEVICEDIALOGDATA2 {
  DWORD     cbSize;
  IWiaItem2 *pIWiaItemRoot;
  DWORD     dwFlags;
  HWND      hwndParent;
  BSTR      bstrFolderName;
  BSTR      bstrFilename;
  LONG      lNumFiles;
  BSTR      *pbstrFilePaths;
  IWiaItem2 *pWiaItem;
} DEVICEDIALOGDATA2, *LPDEVICEDIALOGDATA2, *PDEVICEDIALOGDATA2;

メンバー

cbSize

この構造体のサイズをバイト単位で指定します。

pIWiaItemRoot

アプリケーション項目ツリーの有効なルート項目を表す IWiaItem2 インターフェイスを指します。

dwFlags

呼び出し元プログラムによって IWiaItem2::D eviceDlg および IWiaDevMgr2::GetImageDlg に渡されるフラグを指定します。 このメンバーに使用できる値は、WIA_DEVICE_DIALOG_SINGLE_IMAGEとWIA_DEVICE_DIALOG_USE_COMMON_UIです (ヘッダー ファイル Wiadef.h で定義されています)。

hwndParent

ダイアログの親ウィンドウへのハンドルを指定します。

bstrFolderName

WIA アイテムから取得したファイルの転送先フォルダーの名前を含む BSTR 型の文字列。

bstrFilename

WIA アイテムから bstrFolderName によって指定された宛先フォルダーに転送されるファイルに使用されるファイル名テンプレートを含む BSTR 型の文字列。 ファイル名テンプレートに追加の文字を追加することで、任意の数の一意のファイル名を作成できます。 ファイル名テンプレートの詳細については、「 PathMakeUniqueName 」および「 PathYetAnotherMakeUniqueName」を参照してください。

lNumFiles

pbstrFilePaths 配列に書き込まれた文字列の数。

pbstrFilePaths

BSTR ポインターの配列へのポインター。 各配列要素は、bstrFolderName で識別されるフォルダーに正常に転送されたファイルの宛先名を含む BSTR を指します。 メソッドは、このメンバーのストレージを割り当てる必要があります。 詳細については、次の 「解説 」セクションを参照してください。

pWiaItem

bstrFilePaths 配列で指定されたファイルまたはファイルにデータを転送する WIA 項目の IWiaItem2 インターフェイスへのポインター。

注釈

DEVICEDIALOGDATA2構造体は、 IWiaUIExtension2::D eviceDialog メソッドによって使用されます。

DeviceDialog メソッドは、CoTaskMemAlloc 関数を呼び出して pbstrFilePaths で指定された BSTR ポインター配列を割り当て、SysAllocString 関数を呼び出して配列が指す各文字列を割り当てる必要があります。 呼び出し元のプログラムは、ポインター配列と文字列のストレージを解放する役割を担います。

IWiaItem2 インターフェイスへの参照を保持するには、DeviceDialog メソッドがインターフェイスで IUnknown::AddRef メソッドを呼び出してから、呼び出しから戻る必要があります。

IWiaItem2 オブジェクトのプロパティに関する情報にアクセスするには、DeviceDialog メソッドがオブジェクトに対してクエリを実行して、その IWiaPropertyStorage インターフェイスを取得する必要があります。 IWiaItem2 オブジェクトからデータを転送するには、DeviceDialog メソッドがオブジェクトに対してクエリを実行して、その IWiaTransfer インターフェイスを取得する必要があります。

要件

要件
Header wiadevd.h (Wiadevd.h を含む)

こちらもご覧ください

CoTaskMemAlloc

IUnknown::AddRef

IWiaDevMgr2::GetImageDlg

IWiaItem2

IWiaItem2::D eviceDlg

IWiaPropertyStorage

IWiaTransfer

IWiaUIExtension2::D eviceDialog

PathMakeUniqueName

PathYetAnotherMakeUniqueName 関数

SysAllocString