Función WdfDeviceAssignInterfaceProperty (wdfdevice.h)

Importante

Solo se aplica a UMDF

El método WdfDeviceAssignInterfaceProperty modifica el valor actual de una propiedad de interfaz de dispositivo.

Nota

Para recuperar o modificar una propiedad de interfaz de dispositivo, un controlador KMDF debe llamar directamente a IoGetDeviceInterfacePropertyData o IoSetDeviceInterfacePropertyData .

Sintaxis

NTSTATUS WdfDeviceAssignInterfaceProperty(
  [in]           WDFDEVICE                           Device,
  [in]           PWDF_DEVICE_INTERFACE_PROPERTY_DATA PropertyData,
  [in]           DEVPROPTYPE                         Type,
  [in]           ULONG                               BufferLength,
  [in, optional] PVOID                               PropertyBuffer
);

Parámetros

[in] Device

Identificador de un objeto de dispositivo de marco.

[in] PropertyData

Puntero a WDF_DEVICE_INTERFACE_PROPERTY_DATA estructura.

[in] Type

Valor con tipo DEVPROPTYPE que especifica el tipo de los datos proporcionados en PropertyBuffer.

[in] BufferLength

Especifica la longitud, en bytes, del búfer al que apunta PropertyBuffer .

[in, optional] PropertyBuffer

Puntero a los datos de propiedad de la interfaz de dispositivo. Establezca este parámetro en NULL para eliminar la propiedad especificada.

Valor devuelto

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

Código devuelto Descripción
STATUS_INVALID_PARAMETER Uno de los parámetros es incorrecto.

El método podría devolver otros valores NTSTATUS.

Comentarios

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

Ejemplos

En el ejemplo de código siguiente se inicializa una estructura de WDF_DEVICE_INTERFACE_PROPERTY_DATA y, a continuación, se llama a WdfDeviceAssignInterfaceProperty.

DEFINE_DEVPROPKEY(DEVPKEY_ToasterCrispLevelDword, 0x5d0ba64a, 0x2396, 0x4bc9, 0xbf, 0x49, 0x52, 0x1d, 0xa6, 0x2b, 0x1b, 0xed, 3);  // DEVPROP_TYPE_UINT32

ULONG crispLevel = 0;
WDF_DEVICE_INTERFACE_PROPERTY_DATA propertyData;

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT(
                          &propertyData, 
                          &GUID_DEVINTERFACE_TOASTER_DRIVER
                          &DEVPKEY_ToasterCrispLevelDword
                          );

status = WdfDeviceAssignInterfaceProperty(device, 
                                          &propertData,
                                          DEVPROP_TYPE_UINT32,
                                          sizeof(crispLevel),
                                          &crispLevel);
if (!NT_SUCCESS(status)) {
    return status;
}

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8.1
Plataforma de destino Universal
Versión mínima de UMDF 2.0
Encabezado wdfdevice.h (incluir Wdf.h)
Library WUDFx02000.lib
Archivo DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

Consulte también

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceQueryInterfaceProperty