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 eviceDlgIWiaDevMgr2::GetImageDlg 的标志。 此成员的可能值WIA_DEVICE_DIALOG_SINGLE_IMAGE,WIA_DEVICE_DIALOG_USE_COMMON_UI (头文件 Wiadef.h) 中定义。

hwndParent

指定对话框父窗口的句柄。

bstrFolderName

BSTR 类型的字符串,其中包含从 WIA 项获取的文件将传输到的目标文件夹的名称。

bstrFilename

BSTR 类型的字符串,其中包含用于从 WIA 项传输到 bstrFolderName 指定的目标文件夹的文件的文件名模板。 通过将其他字符追加到文件名模板,可以创建任意数量的唯一文件名。 有关文件名模板的详细信息,请参阅 PathMakeUniqueNamePathYetAnotherMakeUniqueName

lNumFiles

写入 pbstrFilePaths 数组的字符串数。

pbstrFilePaths

指向 BSTR 指针数组的指针。 每个数组元素都指向一个 BSTR,该 BSTR 包含文件的目标名称,该文件已成功传输到 由 bstrFolderName 标识的文件夹。 方法必须为此成员分配存储。 有关详细信息,请参阅以下 “备注” 部分。

pWiaItem

指向 WIA 项的 IWiaItem2 接口的指针,该接口将数据传输到 bstrFilePaths 数组中命名的文件。

注解

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