IWiaDevMgr::RegisterEventCallbackInterface 方法 (wia_xp.h)

IWiaDevMgr::RegisterEventCallbackInterface 方法注册运行的应用程序 Windows 映像采集 (WIA) 事件通知。

语法

HRESULT RegisterEventCallbackInterface(
  [in]  LONG              lFlags,
  [in]  BSTR              bstrDeviceID,
  [in]  const GUID        *pEventGUID,
  [in]  IWiaEventCallback *pIWiaEventCallback,
  [out] IUnknown          **pEventObject
);

参数

[in] lFlags

类型: LONG

当前未使用。 应设置为零。

[in] bstrDeviceID

类型: BSTR

指定设备标识符。 传递 NULL 以在所有 WIA 设备上注册事件。

[in] pEventGUID

类型: const GUID*

指定应用程序要为其注册的事件。 有关标准事件的列表,请参阅 WIA 事件标识符

[in] pIWiaEventCallback

类型: IWiaEventCallback*

指向 WIA 系统用来发送事件通知的 IWiaEventCallback 接口的指针。

[out] pEventObject

类型: IUnknown**

接收指向 IUnknown 接口的指针的地址。

返回值

类型: HRESULT

如果该方法成功,则返回 S_OK。 否则,将返回 HRESULT 错误代码。

注解

警告 如果在服务停止之前使用函数,则从同一进程使用 IWiaDevMgr::RegisterEventCallbackInterfaceIWiaDevMgr2::RegisterEventCallbackInterfaceDeviceManager.RegisterEvent 方法可能会导致访问冲突。
 
开始执行时,WIA 应用程序使用此方法注册以接收WIA_NOTIFICATION_EVENT类型的硬件设备事件。 这可以防止应用程序在发生注册应用程序的另一个事件时重启。 一旦程序调用 IWiaDevMgr::RegisterEventCallbackInterface 来注册自身以接收来自设备的 WIA 事件,则注册的事件将由 WIA 系统路由到程序。

应用程序使用 EnumRegisterEventInfo 方法检索指向事件注册属性的枚举器对象的指针。

应用程序可以通过检查事件枚举返回的WIA_DEV_CAP结构的 ulFlags 值来查找事件是操作类型或通知类型 ( 还是两者) 事件。

应用程序可以使用通过 pEventObject 参数返回的 IUnknown 指针来调用 IUnknown::Release 方法来取消注册事件。

注意 在多线程应用程序中,无法保证事件通知回调将出现在注册回调的同一线程上。
 

要求

要求
最低受支持的客户端 Windows 2000 专业版、Windows XP [仅限桌面应用]
最低受支持的服务器 Windows Server 2003 [仅限桌面应用]
目标平台 Windows
标头 wia_xp.h (包括 Wia.h)
Library Wiaguid.lib
DLL Wiaservc.dll