IWiaDevMgr2::RegisterEventCallbackCLSID 方法
IWiaDevMgr2::RegisterEventCallbackCLSID 方法注册应用程序以接收事件,即使应用程序未运行也是如此。
语法
HRESULT RegisterEventCallbackCLSID(
[in] LONG lFlags,
[in] BSTR bstrDeviceID,
[in] const GUID *pEventGUID,
[in, unique] const GUID *pClsID,
[in] BSTR bstrName,
[in] BSTR bstrDescription,
[in] BSTR bstrIcon
);
参数
-
lFlags [in]
-
类型: LONG
指定注册标志。 可以设置为以下值:
注册标志 含义 WIA_REGISTER_EVENT_CALLBACK 报名参加活动。 WIA_UNREGISTER_EVENT_CALLBACK 删除事件的注册。 WIA_SET_DEFAULT_HANDLER 将应用程序设置为默认事件处理程序。 -
bstrDeviceID [in]
-
类型: BSTR
指定设备标识符。 传递 NULL 以在所有 WIA 2.0 设备上注册事件。
-
pEventGUID [in]
-
类型: const GUID*
指定应用程序要注册的事件。 有关标准事件的列表,请参阅 WIA 事件标识符。
-
pClsID [in]
-
类型: const GUID*
指向 CLSID) (应用程序类 ID 的指针。 WIA 2.0 运行时系统使用应用程序 CLSID 在发生注册应用程序的事件时启动应用程序。
-
bstrName [in]
-
类型: BSTR
指定为事件注册的应用程序的名称。
-
bstrDescription [in]
-
类型: BSTR
指定为事件注册的应用程序的文本说明。
-
bstrIcon [in]
-
类型: BSTR
指定要用于注册事件的应用程序的图标的图像文件的名称。
返回值
类型: HRESULT
如果此方法成功,则返回 S_OK。 否则,它将返回 HRESULT 错误代码。
备注
WIA 2.0 应用程序使用此方法注册以接收硬件设备事件。 调用 IWiaDevMgr2::RegisterEventCallbackCLSID 后,应用程序注册为接收 WIA 2.0 设备事件,即使它未运行。
事件发生时,WIA 2.0 系统将确定注册哪个应用程序以接收事件。 它使用 CoCreateInstance 函数和 pClsID 参数中指定的 CLSID 来创建应用程序的实例,然后调用 ImageEventCallback 方法将事件信息传输到应用程序。
应用程序可以调用 EnumRegisterEventInfo 方法来枚举事件注册信息。
如果应用程序不是 COM) 组件的已注册组件对象模型 (,并且与 WIA 2.0 体系结构不兼容,请使用 IWiaDevMgr2::RegisterEventCallbackProgram 方法注册应用程序以用于设备事件。
注意
在多线程应用程序中,无法保证在注册回调的同一线程上返回事件通知回调。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows Vista [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2008 [仅限桌面应用] |
标头 |
|