WdfUsbTargetDeviceWdmGetConfigurationHandle, fonction (wdfusb.h)
[S’applique uniquement à KMDF]
La méthode WdfUsbTargetDeviceWdmGetConfigurationHandle retourne le handle USBD_CONFIGURATION_HANDLE typé associé à la configuration actuelle d’un périphérique USB spécifié.
Syntaxe
USBD_CONFIGURATION_HANDLE WdfUsbTargetDeviceWdmGetConfigurationHandle(
[in] WDFUSBDEVICE UsbDevice
);
Paramètres
[in] UsbDevice
Handle vers un objet de périphérique USB obtenu à partir d’un appel précédent à WdfUsbTargetDeviceCreateWithParameters.
Valeur de retour
Si le pilote a sélectionné une configuration pour l’appareil, WdfUsbTargetDeviceWdmGetConfigurationHandle retourne le handle USBD_CONFIGURATION_HANDLE typé de l’appareil. Sinon, la méthode retourne NULL.
Une vérification de bogue se produit si le pilote fournit un handle d’objet non valide.
Remarques
Un pilote basé sur le framework doit obtenir un handle USBD_CONFIGURATION_HANDLE typé uniquement s’il crée un URB qui contient une structure de _URB_SELECT_INTERFACE.
Le pilote peut appeler WdfUsbTargetDeviceWdmGetConfigurationHandle une fois qu’il a appelé WdfUsbTargetDeviceSelectConfig. Le handle USBD_CONFIGURATION_HANDLE typé qui WdfUsbTargetDeviceWdmGetConfigurationHandle est valide jusqu’à ce que le pilote appelle WdfUsbTargetDeviceSelectConfig ou que l’objet périphérique USB soit supprimé. Si le pilote fournit une fonction EvtCleanupCallback pour l’objet périphérique USB et si l’objet est supprimé avant que le pilote appelle WdfUsbTargetDeviceSelectConfig, le handle est valide jusqu’à ce que la fonction EvtCleanupCallback retourne.
Pour plus d’informations sur la méthode WdfUsbTargetDeviceWdmGetConfigurationHandle et les cibles d’E/S USB, consultez cibles d’E/S USB.
Exemples
L’exemple de code suivant obtient un handle à la configuration actuelle d’un périphérique USB spécifié.
USBD_CONFIGURATION_HANDLE deviceConfigHdl;
deviceConfigHdl = WdfUsbTargetDeviceWdmGetConfigurationHandle(UsbDevice);
Exigences
Exigence | Valeur |
---|---|
plateforme cible | Universel |
version minimale de KMDF | 1.0 |
d’en-tête | wdfusb.h (include Wdfusb.h) |
bibliothèque | Wdf01000.sys (voir Versioning de la bibliothèque Framework.) |
IRQL | <=DISPATCH_LEVEL |
règles de conformité DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |