Acceso al modelo de propiedades de dispositivo unificado
En este tema se describe cómo un controlador de Windows Driver Frameworks (WDF) recupera o modifica las propiedades que se exponen a través del modelo de propiedades de dispositivo unificado. Los métodos enumerados están disponibles a partir de User-Mode Driver Framework (UMDF) versión 2.0 y Kernel-Mode Driver Framework (KMDF) versión 1.13.
Los controladores KMDF y UMDF pueden llamar a los métodos siguientes:
Los controladores KMDF y UMDF solo pueden llamar a los métodos siguientes antes de llamar a WdfDeviceCreate. Para obtener más información sobre cómo llamar a WdfDeviceCreate, vea Creating a Framework Device Object.
Después de llamar a WdfDeviceCreate, un controlador puede obtener información de propiedad del dispositivo llamando al método WdfDeviceXxxProperty correspondiente.
Los métodos -Ex anteriores difieren de sus homólogos que no son Ex en que permiten especificar propiedades mediante la estructura WDF_DEVICE_PROPERTY_DATA , en lugar del subconjunto que se puede especificar mediante DEVICE_REGISTRY_PROPERTY.
Antes de recibir datos de propiedad del dispositivo, los controladores suelen llamar a WdfXxxQueryProperty solo para obtener el tamaño de búfer necesario. Para algunas propiedades, el tamaño de los datos puede cambiar entre cuando se devuelve el tamaño necesario y cuando el controlador llama a WdfXxxQueryProperty de nuevo. Por lo tanto, los controladores deben llamar a WdfXxxQueryProperty dentro de un bucle que se ejecuta hasta que el estado devuelto no sea STATUS_BUFFER_TOO_SMALL.
Es mejor usar WdfXxxQueryProperty solo si se conoce el tamaño de búfer necesario y no cambia, ya que en ese caso el controlador tiene que llamar a WdfXxxQueryProperty solo una vez. Si el tamaño de búfer necesario es desconocido o varía, el controlador debe llamar a WdfXxxAllocAndQueryProperty.
Acceso a las propiedades de la interfaz de dispositivo
Los controladores UMDF pueden usar los métodos siguientes para recuperar o modificar las propiedades de la interfaz de dispositivo que se exponen a través del modelo de propiedades unificado:
Para recuperar o modificar una propiedad de interfaz de dispositivo, un controlador KMDF debe llamar directamente a IoGetDeviceInterfacePropertyData o IoSetDeviceInterfacePropertyData .