Registrieren für Ereignisse
Im folgenden Beispiel wird die Windows Image Acquisition (WIA) 1.0 IWiaDevMgr::RegisterEventCallbackCLSID-Methode verwendet, um sich für Benachrichtigungen zu registrieren, wenn ein Windows Image Acquisition (WIA)-Gerät 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 Windows Image Acquisition (WIA) 2.0 IWiaDevMgr2::RegisterEventCallbackCLSID, IWiaDevMgr2::RegisterEventCallbackInterface oder IWiaDevMgr2::RegisterEventCallbackProgram verwenden, um sich für Ereignisse zu registrieren.
Es wird davon ausgegangen, dass das Beispiel aus einer Anwendung stammt, die als COM-Out-of-Process-Serverobjekt (Component Object Model) 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 IWiaDevMgr-Schnittstelle (oder IWiaDevMgr2), WIA_REGISTER_EVENT_CALLBACK eine Konstante ist, die angibt, dass dieser Aufruf die Registrierung für das Ereignis anstelle des Aufhebens der Registrierung für das Ereignis angibt, WIA_EVENT_DEVICE_CONNECTED eine Konstante ist, die angibt, dass die Anwendung registriert wird, um benachrichtigt zu werden, wenn ein Gerät mit dem Computer des Benutzers verbunden ist, pCLSID ist 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 Imagedatei, 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 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.