IWiaDevMgr::RegisterEventCallbackProgram 方法 (wia_xp.h)
IWiaDevMgr::RegisterEventCallbackProgram 方法注册应用程序以接收设备事件。 它主要用于与不是为 WIA 编写的应用程序向后兼容。
语法
HRESULT RegisterEventCallbackProgram(
[in] LONG lFlags,
[in] BSTR bstrDeviceID,
[in] const GUID *pEventGUID,
[in] BSTR bstrCommandline,
[in] BSTR bstrName,
[in] BSTR bstrDescription,
[in] BSTR bstrIcon
);
参数
[in] lFlags
类型: LONG
指定注册标志。 可以设置为以下值:
注册标志 | 含义 |
---|---|
WIA_REGISTER_EVENT_CALLBACK | 报名参加活动。 |
WIA_UNREGISTER_EVENT_CALLBACK | 删除事件的注册。 |
WIA_SET_DEFAULT_HANDLER | 将应用程序设置为默认事件处理程序。 |
[in] bstrDeviceID
类型: BSTR
指定设备标识符。 传递 NULL 以在所有 WIA 设备上注册事件。
[in] pEventGUID
类型: const GUID*
指定应用程序要为其注册的事件。 有关有效事件 GUID 的列表,请参阅 WIA 事件标识符。
[in] bstrCommandline
类型: BSTR
指定一个字符串,其中包含调用应用程序所需的完整路径名称和相应的命令行参数。 应使用两对引号,例如“”C:\Program Files\MyExe.exe“/arg1”。
[in] bstrName
类型: BSTR
指定应用程序的名称。 当多个应用程序注册同一事件时,向用户显示此名称。
[in] bstrDescription
类型: BSTR
指定应用程序的说明。 当多个应用程序注册同一事件时,向用户显示此说明。
[in] bstrIcon
类型: BSTR
指定表示应用程序的图标。 当多个应用程序注册同一事件时,该图标会显示给用户。 字符串包含应用程序的名称和图标的从 0 开始的索引, (可能有多个图标表示应用程序) 用逗号分隔。 例如,“MyApp, 0”。
返回值
类型: HRESULT
如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。
注解
使用 IWiaDevMgr::RegisterEventCallbackProgram 注册WIA_ACTION_EVENT类型的硬件设备事件。 发生注册应用程序的事件时,将启动应用程序并将事件信息传输到应用程序。
应用程序使用 EnumRegisterEventInfo 方法检索指向事件注册属性的枚举器对象的指针。
应用程序可以通过检查事件枚举返回的 WIA_DEV_CAP 结构的 ulFlags 值来查找事件是操作类型还是通知类型 ( 或两者) 事件。
程序应仅使用 IWiaDevMgr::RegisterEventCallbackProgram 方法与未为 WIA 体系结构编写的应用程序向后兼容。 新应用程序应使用组件对象模型 (COM) WIA 体系结构提供的接口。 具体而言,他们应调用 IWiaDevMgr::RegisterEventCallbackInterface 或 IWiaDevMgr::RegisterEventCallbackCLSID 来注册设备事件。
通常,此方法由安装程序或脚本调用。 安装程序或脚本注册应用程序以接收 WIA 设备事件。 事件发生时,应用程序将由 WIA 运行时系统启动。
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows 2000 专业版、Windows XP [仅限桌面应用] |
最低受支持的服务器 | Windows Server 2003 [仅限桌面应用] |
目标平台 | Windows |
标头 | wia_xp.h (包括 Wia.h) |
Library | Wiaguid.lib |
DLL | Wiaservc.dll |