Función WdfUsbTargetDeviceWdmGetConfigurationHandle (wdfusb.h)
[Solo se aplica a KMDF]
El método WdfUsbTargetDeviceWdmGetConfigurationHandle devuelve el identificador con tipo USBD_CONFIGURATION_HANDLE asociado a la configuración actual de un dispositivo USB especificado.
Sintaxis
USBD_CONFIGURATION_HANDLE WdfUsbTargetDeviceWdmGetConfigurationHandle(
[in] WDFUSBDEVICE UsbDevice
);
Parámetros
[in] UsbDevice
Identificador de un objeto de dispositivo USB obtenido de una llamada anterior a WdfUsbTargetDeviceCreateWithParameters.
Valor devuelto
Si el controlador ha seleccionado una configuración para el dispositivo, WdfUsbTargetDeviceWdmGetConfigurationHandle devuelve el identificador de tipo USBD_CONFIGURATION_HANDLE del dispositivo. De lo contrario, el método devuelve NULL.
Se produce una comprobación de errores si el controlador proporciona un identificador de objeto no válido.
Comentarios
Un controlador basado en marco debe obtener un identificador de tipo USBD_CONFIGURATION_HANDLE solo si crea un URB que contiene una estructura de _URB_SELECT_INTERFACE .
El controlador puede llamar a WdfUsbTargetDeviceWdmGetConfigurationHandle después de llamar a WdfUsbTargetDeviceSelectConfig. El identificador con tipo USBD_CONFIGURATION_HANDLE que WdfUsbTargetDeviceWdmGetConfigurationHandle devuelve es válido hasta que el controlador llama a WdfUsbTargetDeviceSelectConfig de nuevo o se elimina el objeto de dispositivo USB. Si el controlador proporciona una función EvtCleanupCallback para el objeto de dispositivo USB y, si el objeto se elimina antes de que el controlador llame a WdfUsbTargetDeviceSelectConfig de nuevo, el identificador es válido hasta que se devuelve la función EvtCleanupCallback del objeto.
Para obtener más información sobre el método WdfUsbTargetDeviceWdmGetConfigurationHandle y los destinos de E/S USB, consulte Destinos de E/S USB.
Ejemplos
En el ejemplo de código siguiente se obtiene un identificador para la configuración actual de un dispositivo USB especificado.
USBD_CONFIGURATION_HANDLE deviceConfigHdl;
deviceConfigHdl = WdfUsbTargetDeviceWdmGetConfigurationHandle(UsbDevice);
Requisitos
Requisito | Value |
---|---|
Plataforma de destino | Universal |
Versión mínima de KMDF | 1.0 |
Encabezado | wdfusb.h (incluya Wdfusb.h) |
Library | Wdf01000.sys (consulte Control de versiones de la biblioteca de marcos). |
IRQL | <=DISPATCH_LEVEL |
Reglas de cumplimiento de DDI | DriverCreate(kmdf), KmdfIrql(kmdf), KmdfIrql2(kmdf), KmdfIrqlExplicit(kmdf), UsbKmdfIrql(kmdf), UsbKmdfIrql2(kmdf), UsbKmdfIrqlExplicit(kmdf) |