Registrieren für Ereignisse
Im folgenden Beispiel wird die methode Windows Image Acquisition (WIA) 1.0 IWiaDevMgr::RegisterEventCallbackCLSID verwendet, um sich für die Benachrichtigung zu registrieren, wenn ein Windows WIA-Gerät (Image Acquisition) mit dem System verbunden ist. Anwendungen können auch WIA 1.0 IWiaDevMgr::RegisterEventCallbackInterface und WIA 1.0 IWiaDevMgr::RegisterEventCallbackProgram verwenden, um sich für Ereignisse zu registrieren. Mit Windows Vista und höher können Sie die methoden Windows Image Acquisition (WIA) 2.0 IWiaDevMgr2::RegisterEventCallbackCLSID, IWiaDevMgr2::RegisterEventCallbackInterfaceoder IWiaDevMgr2::RegisterEventCallbackProgram verwenden, um sich für Ereignisse zu registrieren.
Es wird davon ausgegangen, dass das Beispiel aus einer Anwendung stammt, die als out-of-process-Serverobjekt Component Object Model (COM) registriert ist.
Der Aufruf von IWiaDevMgr::RegisterEventCallbackCLSID (oder IWiaDevMgr2::RegisterEventCallbackCLSID)lautet wie folgt:
pWiaDevMgr->RegisterEventCallbackCLSID( WIA_REGISTER_EVENT_CALLBACK,
NULL,
WIA_EVENT_DEVICE_CONNECTED,
pCLSID,
bstrName,
bstrDescription,
bstrIcon
);
Im vorherigen Code ist pWiaDevMgr ein gültiger Zeiger auf die Schnittstelle IWiaDevMgr (oder IWiaDevMgr2).WIA _ REGISTER EVENT _ _ CALLBACK ist eine Konstante, die angibt, dass dieser Aufruf für das Ereignis registriert werden soll, anstatt die Registrierung für das Ereignis aufheben zu müssen. WIA _ EVENT DEVICE CONNECTED ist eine _ _ Konstante, die angibt, dass die Anwendung registriert wird, um benachrichtigt zu werden, wenn ein Gerät mit dem Computer des Benutzers verbunden ist, pCLSID ein Zeiger auf die registrierte CLSID der Anwendung, bstrName ist der Name der Anwendung, bstrDescription ist eine Textbeschreibung der Anwendung, und bstrIcon ist der Name einer Bilddatei, die für das Symbol für die Anwendung verwendet werden soll, die sich für das Ereignis registriert.
Die Anwendung muss dann die IWiaEventCallback::ImageEventCallback-Methode implementieren, die immer dann aufgerufen wird, wenn ein Ereignis auftritt, für das die Anwendung registriert ist.
Eine Anwendung kann die IWiaItem::EnumRegisterEventInfo-Methode (oder IWiaItem2::EnumRegisterEventInfo)verwenden, um die Informationen zu Ereignissen aufzulisten, für die sie registriert ist.