Partager via


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