共用方式為


IWiaDevMgr::RegisterEventCallbackCLSID 方法 (wia_xp.h)

IWiaDevMgr::RegisterEventCallbackCLSID 方法會註冊應用程式以接收事件,即使應用程式可能未執行也一樣。

語法

HRESULT RegisterEventCallbackCLSID(
  [in] LONG       lFlags,
  [in] BSTR       bstrDeviceID,
  [in] const GUID *pEventGUID,
  [in] const GUID *pClsID,
  [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*

指定應用程式註冊的事件。 如需標準事件的清單,請參閱 WIA 事件識別符

[in] pClsID

類型: const GUID*

應用程式類別標識碼的指標 (CLSID) 。 WIA 執行時間系統會使用應用程式的 CLSID ,在註冊應用程式的事件發生時啟動應用程式。

[in] bstrName

類型: BSTR

指定註冊事件的應用程式名稱。

[in] bstrDescription

類型: BSTR

指定註冊事件之應用程式的文字描述。

[in] bstrIcon

類型: BSTR

指定要用於註冊事件之應用程式之圖示之圖像檔的名稱。

傳回值

類型: HRESULT

如果此方法成功,則會傳回 S_OK。 否則,它會傳回 HRESULT 錯誤碼。

備註

WIA 應用程式會使用這個方法來註冊,以接收類型WIA_ACTION_EVENT的硬體裝置事件。 一旦程式呼叫 IWiaDevMgr::RegisterEventCallbackCLSID,它們就會註冊以接收 WIA 裝置事件,即使它們未執行也一樣。

事件發生時,WIA 系統會決定要註冊哪些應用程式以接收事件。 它會使用 CoCreateInstance 函式和 pClsID 參數中指定的類別識別碼來建立應用程式的實例。 然後它會呼叫應用程式的 ImageEventCallback 方法來傳輸事件資訊。

應用程式可以叫用 EnumRegisterEventInfo 方法來列舉事件註冊資訊。

應用程式可以藉由檢查事件列舉所傳回之WIA_DEV_CAP結構的ulFlags值,來尋找事件是動作類型或通知類型 (或兩者) 事件。

如果應用程式不是已註冊的元件物件模型 (COM) 元件,而且與 WIA 架構不相容,開發人員應該使用 IWiaDevMgr::RegisterEventCallbackProgram ,而不是此方法。

注意 在多線程應用程式中,不保證事件通知回呼會位於註冊回呼的相同線程上。
 

規格需求

需求
最低支援的用戶端 Windows 2000 Professional、Windows XP [僅限桌面應用程式]
最低支援的伺服器 Windows Server 2003 [僅限桌面應用程式]
目標平台 Windows
標頭 wia_xp.h (包含 Wia.h)
程式庫 Wiaguid.lib
Dll Wiaservc.dll