共用方式為


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 架構撰寫的應用程式回溯相容性。 新的應用程式應該使用元件物件模型 (WIA 架構所提供的 COM) 介面。 具體而言,他們應該呼叫 IWiaDevMgr::RegisterEventCallbackInterfaceIWiaDevMgr::RegisterEventCallbackCLSID 來註冊裝置事件。

一般而言,這個方法是由安裝程式或腳本呼叫。 安裝程式或文本會註冊應用程式以接收 WIA 裝置事件。 事件發生時,將會由 WIA 執行時間系統啟動應用程式。

規格需求

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