Share via


註冊事件

下列範例使用 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::RegisterEventCallbackCLSIDIWiaDevMgr2::RegisterEventCallbackInterfaceIWiaDevMgr2::RegisterEventCallbackProgram 方法來註冊事件。

假設範例取自註冊為元件物件模型的應用程式, (COM) 跨進程伺服器物件。

呼叫 IWiaDevMgr::RegisterEventCallbackCLSID (或IWiaDevMgr2::RegisterEventCallbackCLSID) 如下所示:

    pWiaDevMgr->RegisterEventCallbackCLSID( WIA_REGISTER_EVENT_CALLBACK,
                                            NULL,
                                            WIA_EVENT_DEVICE_CONNECTED,
                                            pCLSID,
                                            bstrName,
                                            bstrDescription,
                                            bstrIcon
                                            );

在先前的程式碼中, pWiaDevMgrIWiaDevMgr (或 IWiaDevMgr2) 介面的有效指標,WIA_REGISTER_EVENT_CALLBACK是一個常數,指定此呼叫是要註冊事件,而不是取消註冊事件,WIA_EVENT_DEVICE_CONNECTED是一個常數,指定每當裝置連線到使用者的電腦時,應用程式會註冊以收到通知。 pCLSID 是應用程式的已註冊 CLSID 指標, bstrName 是應用程式的名稱, bstrDescription 是應用程式的文字描述, 而 bstrIcon 是要用於註冊事件之應用程式之圖示的影像檔名稱。

然後,應用程式必須實作 IWiaEventCallback::ImageEventCallback 方法,每當應用程式註冊的事件發生時,就會呼叫此方法。

應用程式可以使用 IWiaItem::EnumRegisterEventInfo (或 IWiaItem2::EnumRegisterEventInfo) 方法來列舉其註冊事件的相關資訊。