Méthode IHWEventHandler2 ::HandleEventWithHWND (shobjidl.h)
Gère les événements d’appareil de lecture automatique qui contiennent des types de contenu que l’application n’est pas inscrite pour gérer. Cette méthode fournit un handle à la fenêtre propriétaire afin que l’interface utilisateur puisse être affichée si le processus nécessite des privilèges élevés.
Syntaxe
HRESULT HandleEventWithHWND(
[in] LPCWSTR pszDeviceID,
[in] LPCWSTR pszAltDeviceID,
[in] LPCWSTR pszEventType,
[in] HWND hwndOwner
);
Paramètres
[in] pszDeviceID
Type : LPCWSTR
Pointeur vers une mémoire tampon de chaîne qui contient l’ID d’appareil.
[in] pszAltDeviceID
Type : LPCWSTR
Pointeur vers une mémoire tampon de chaîne qui contient l’ID d’appareil de remplacement. L’AUTRE ID d’appareil est plus lisible par l’homme que l’ID d’appareil principal.
[in] pszEventType
Type : LPCWSTR
Pointeur vers une mémoire tampon de chaîne qui contient le type d’événement. Les types d’événements incluent DeviceArrival, DeviceRemoval, MediaArrival et MediaRemoval.
[in] hwndOwner
Type : HWND
Handle de la boîte de dialogue Lecture automatique qui s’est affichée.
Valeur retournée
Type : HRESULT
Si cette méthode réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Lorsqu’un gestionnaire est appelé et nécessite une élévation de privilèges immédiate dans un nouveau processus, il nécessite un handle de fenêtre parent actif pour afficher son interface utilisateur de consentement. IHWEventHandler ::HandleEvent ne pouvant pas donner de handle, seule une barre des tâches clignolante apparaît. IHWEventHandler2 ::HandleEventWithHWND fournit le HWND et permet l’affichage de l’interface utilisateur.
Notez que si le gestionnaire a été lancé par défaut au lieu d’une action utilisateur directe, le HWND n’est pas actif et la boîte de dialogue n’est pas affichée au premier plan.
Les types d’événements ne sont pas des constantes de langage C/C++ ; il s’agit de chaînes de texte littérales.
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows Vista [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2008 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | shobjidl.h |