Compartir a través de


Función WdfDeviceQueryInterfaceProperty (wdfdevice.h)

[Solo se aplica a UMDF]

El método WdfDeviceQueryInterfaceProperty recupera una propiedad de interfaz de dispositivo especificada.

Sintaxis

NTSTATUS WdfDeviceQueryInterfaceProperty(
  [in]  WDFDEVICE                           Device,
  [in]  PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
  [in]  ULONG                               BufferLength,
  [out] PVOID                               PropertyBuffer,
  [out] PULONG                              ResultLength,
  [out] PDEVPROPTYPE                        Type
);

Parámetros

[in] Device

Identificador de un objeto de dispositivo de marco.

[in] PropertyData

Puntero a una estructura WDF_DEVICE_INTERFACE_PROPERTY_DATA que identifica la propiedad de interfaz de dispositivo que se va a recuperar.

[in] BufferLength

Tamaño, en bytes, del búfer al que apunta PropertyBuffer.

[out] PropertyBuffer

Puntero a un búfer asignado por el autor de la llamada que recibe la propiedad de interfaz de dispositivo solicitada. El puntero puede ser NULL si el parámetro BufferLength es cero.

[out] ResultLength

Ubicación proporcionada por el autor de la llamada que, en devolución, contiene el tamaño, en bytes, de la información que WdfDeviceQueryInterfaceProperty almacenada en PropertyBuffer. Si el valor devuelto de la función es STATUS_BUFFER_TOO_SMALL, esta ubicación recibe el tamaño de búfer necesario.

[out] Type

Puntero a una variable DEVPROPTYPEtipo que identifica el tipo de datos de propiedad a los que WdfDeviceQueryInterfaceProperty almacenados en el búfer al que PropertyBuffer.

Valor devuelto

Si el método WdfDeviceQueryInterfaceProperty no encuentra ningún error, devuelve STATUS_SUCCESS. Entre los valores devueltos adicionales se incluyen:

Código devuelto Descripción
STATUS_BUFFER_TOO_SMALL
El búfer de entrada es demasiado pequeño para recibir la información.
STATUS_INVALID_PARAMETER_2
El valor del parámetro especificado no es válido.
 

El método podría devolver otros valores ntstatus de .

Observaciones

Antes de recibir datos de propiedad del dispositivo, los controladores normalmente llaman al método WdfDeviceQueryInterfaceProperty 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 WdfDeviceQueryInterfaceProperty de nuevo. Por lo tanto, los controladores deben llamar a WdfDeviceQueryInterfaceProperty dentro de un bucle que se ejecuta hasta que no se STATUS_BUFFER_TOO_SMALL el estado devuelto.

Es mejor usar WdfDeviceQueryInterfaceProperty solo si el tamaño de búfer necesario se conoce y no cambia, ya que en ese caso el controlador tiene que llamar a WdfDeviceQueryInterfaceProperty solo una vez. Si el tamaño de búfer necesario es desconocido o varía, el controlador debe llamar a WdfDeviceAllocAndQueryInterfaceProperty.

Para obtener información sobre los métodos relacionados, consulte Acceso al modelo de propiedades de dispositivo unificado.

Requisitos

Requisito Valor
cliente mínimo admitido Windows 8.1
de la plataforma de destino de Universal
versión mínima de UMDF 2.0
encabezado de wdfdevice.h (incluya Wdf.h)
biblioteca de WUDFx02000.lib
DLL de WUDFx02000.dll
irQL PASSIVE_LEVEL

Consulte también

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceAssignInterfaceProperty