Funzione WdfDeviceAssignInterfaceProperty (wdfdevice.h)

Importante

Si applica solo a UMDF

Il metodo WdfDeviceAssignInterfaceProperty modifica il valore corrente di una proprietà dell'interfaccia del dispositivo.

Nota

Per recuperare o modificare una proprietà dell'interfaccia del dispositivo, un driver KMDF deve chiamare direttamente IoGetDeviceInterfacePropertyData o IoSetDeviceInterfacePropertyData .

Sintassi

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

Parametri

[in] Device

Handle per un oggetto dispositivo framework.

[in] PropertyData

Puntatore alla struttura WDF_DEVICE_INTERFACE_PROPERTY_DATA .

[in] Type

Valore tipizzato DEVPROPTYPE che specifica il tipo di dati forniti in PropertyBuffer.

[in] BufferLength

Specifica la lunghezza, in byte, del buffer a cui punta PropertyBuffer .

[in, optional] PropertyBuffer

Puntatore ai dati della proprietà dell'interfaccia del dispositivo. Impostare questo parametro su NULL per eliminare la proprietà specificata.

Valore restituito

Se il metodo WdfDeviceAssignInterfaceProperty non rileva errori, restituisce STATUS_SUCCESS. I valori restituiti aggiuntivi includono:

Codice restituito Descrizione
STATUS_INVALID_PARAMETER Uno dei parametri non è corretto.

Il metodo potrebbe restituire altri valori NTSTATUS.

Commenti

Per informazioni sui metodi correlati, vedere Accesso al modello di proprietà del dispositivo unificato.

Esempio

L'esempio di codice seguente inizializza una struttura WDF_DEVICE_INTERFACE_PROPERTY_DATA e quindi chiama 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;
}

Requisiti

Requisito Valore
Client minimo supportato Windows 8.1
Piattaforma di destinazione Universale
Versione UMDF minima 2,0
Intestazione wdfdevice.h (include Wdf.h)
Libreria WUDFx02000.lib
DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

Vedi anche

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceQueryInterfaceProperty