共用方式為


IWiaDevMgr::RegisterEventCallbackInterface 方法 (wia_xp.h)

IWiaDevMgr::RegisterEventCallbackInterface 方法會註冊執行中的應用程式 Windows Image Acquisition (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 Professional、Windows XP [僅限桌面應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 wia_xp.h (包含 Wia.h)
程式庫 Wiaguid.lib
Dll Wiaservc.dll