Inscription pour des événements
L’exemple suivant utilise la méthode IWiaDevMgr::RegisterEventCallbackCLSID d’acquisition d’images Windows (WIA) 1.0 pour s’inscrire à la notification quand un appareil d’acquisition d’images Windows (WIA) est connecté au système. Les applications peuvent également utiliser WIA 1.0 IWiaDevMgr::RegisterEventCallbackInterface et WIA 1.0 IWiaDevMgr::RegisterEventCallbackProgram pour s’inscrire à des événements. Avec Windows Vista et versions ultérieures, vous pouvez utiliser les méthodes D’acquisition d’images Windows (WIA) 2.0 IWiaDevMgr2::RegisterEventCallbackCLSID, IWiaDevMgr2::RegisterEventCallbackInterface ou IWiaDevMgr2::RegisterEventCallbackProgram pour vous inscrire aux événements.
Il est supposé que l’exemple provient d’une application inscrite en tant qu’objet serveur hors processus COM (Component Object Model).
L’appel à IWiaDevMgr::RegisterEventCallbackCLSID (ou IWiaDevMgr2::RegisterEventCallbackCLSID) est le suivant :
pWiaDevMgr->RegisterEventCallbackCLSID( WIA_REGISTER_EVENT_CALLBACK,
NULL,
WIA_EVENT_DEVICE_CONNECTED,
pCLSID,
bstrName,
bstrDescription,
bstrIcon
);
Dans le code précédent, pWiaDevMgr est un pointeur valide vers l’interface IWiaDevMgr (ou IWiaDevMgr2), WIA_REGISTER_EVENT_CALLBACK est une constante qui spécifie que cet appel consiste à inscrire l’événement plutôt qu’à annuler l’inscription de l’événement, WIA_EVENT_DEVICE_CONNECTED est une constante qui spécifie que l’application s’inscrit pour être avertie chaque fois qu’un appareil est connecté à l’ordinateur de l’utilisateur, pCLSID est un pointeur vers le CLSID inscrit de l’application, bstrName est le nom de l’application, bstrDescription est une description textuelle de l’application et bstrIcon est le nom d’un fichier image à utiliser pour l’icône pour l’inscription de l’application pour l’événement.
L’application doit ensuite implémenter la méthode IWiaEventCallback::ImageEventCallback , qui est appelée chaque fois qu’un événement se produit pour lequel l’application est inscrite.
Une application peut utiliser la méthode IWiaItem::EnumRegisterEventInfo (ou IWiaItem2::EnumRegisterEventInfo) pour énumérer les informations sur les événements pour lesquels elle est inscrite.