Registro para eventos
En el ejemplo siguiente se usa el método Windows Image Acquisition (WIA) 1.0 IWiaDevMgr::RegisterEventCallbackCLSID para registrarse para recibir notificaciones cuando cualquier dispositivo de adquisición de imágenes de Windows (WIA) está conectado al sistema. Las aplicaciones también pueden usar WIA 1.0 IWiaDevMgr::RegisterEventCallbackInterface y WIA 1.0 IWiaDevMgr::RegisterEventCallbackProgram para registrarse para eventos. Con Windows Vista y versiones posteriores, puedes usar los métodos IWiaDevMgr2::RegisterEventCallbackCLSID, IWiaDevMgr2::RegisterEventCallbackInterface o IWiaDevMgr2::RegisterEventCallbackInterface o IWiaDevMgr2::RegisterEventCallbackProgram para registrar eventos.
Se supone que el ejemplo se toma de una aplicación registrada como un objeto de servidor fuera de proceso (COM) registrado como modelo de objetos componentes .
La llamada a IWiaDevMgr::RegisterEventCallbackCLSID (o IWiaDevMgr2::RegisterEventCallbackCLSID) es la siguiente:
pWiaDevMgr->RegisterEventCallbackCLSID( WIA_REGISTER_EVENT_CALLBACK,
NULL,
WIA_EVENT_DEVICE_CONNECTED,
pCLSID,
bstrName,
bstrDescription,
bstrIcon
);
En el código anterior, pWiaDevMgr es un puntero válido a la interfaz IWiaDevMgr (o IWiaDevMgr2), WIA_REGISTER_EVENT_CALLBACK es una constante que especifica que esta llamada es registrarse para el evento en lugar de anular el registro del evento, WIA_EVENT_DEVICE_CONNECTED es una constante que especifica que la aplicación se registra para recibir notificaciones cada vez que un dispositivo está conectado al equipo del usuario, pCLSID es un puntero al CLSID registrado de la aplicación, bstrName es el nombre de la aplicación, bstrDescription es una descripción de texto de la aplicación y bstrIcon es el nombre de un archivo de imagen que se usará para el icono para el registro de la aplicación para el evento.
A continuación, la aplicación debe implementar el método IWiaEventCallback::ImageEventCallback , al que se llama cada vez que se produce un evento para el que se registra la aplicación.
Una aplicación puede usar el método IWiaItem::EnumRegisterEventInfo (o IWiaItem2::EnumRegisterEventInfo) para enumerar la información sobre los eventos para los que está registrado.