註冊事件
下列範例使用 WINDOWS 映射取得 (WIA) 1.0 IWiaDevMgr::RegisterEventCallbackCLSID 方法,在 WIA (WIA) 裝置連線時註冊通知。 應用程式也可以使用 WIA 1.0 IWiaDevMgr::RegisterEventCallbackInterface 和 WIA 1.0 IWiaDevMgr::RegisterEventCallbackProgram 來註冊事件。 透過 Windows Vista 和更新版本,您可以使用 Windows 映像下載 (WIA) 2.0 IWiaDevMgr2::RegisterEventCallbackCLSID、 IWiaDevMgr2::RegisterEventCallbackInterface或 IWiaDevMgr2::RegisterEventCallbackProgram 方法來註冊事件。
假設範例取自註冊為元件物件模型的應用程式, (COM) 跨進程伺服器物件。
呼叫 IWiaDevMgr::RegisterEventCallbackCLSID (或IWiaDevMgr2::RegisterEventCallbackCLSID) 如下所示:
pWiaDevMgr->RegisterEventCallbackCLSID( WIA_REGISTER_EVENT_CALLBACK,
NULL,
WIA_EVENT_DEVICE_CONNECTED,
pCLSID,
bstrName,
bstrDescription,
bstrIcon
);
在先前的程式碼中, pWiaDevMgr 是 IWiaDevMgr (或 IWiaDevMgr2) 介面的有效指標,WIA_REGISTER_EVENT_CALLBACK是一個常數,指定此呼叫是要註冊事件,而不是取消註冊事件,WIA_EVENT_DEVICE_CONNECTED是一個常數,指定每當裝置連線到使用者的電腦時,應用程式會註冊以收到通知。 pCLSID 是應用程式的已註冊 CLSID 指標, bstrName 是應用程式的名稱, bstrDescription 是應用程式的文字描述, 而 bstrIcon 是要用於註冊事件之應用程式之圖示的影像檔名稱。
然後,應用程式必須實作 IWiaEventCallback::ImageEventCallback 方法,每當應用程式註冊的事件發生時,就會呼叫此方法。
應用程式可以使用 IWiaItem::EnumRegisterEventInfo (或 IWiaItem2::EnumRegisterEventInfo) 方法來列舉其註冊事件的相關資訊。