Compartilhar via


Função WdfDeviceAssignInterfaceProperty (wdfdevice.h)

Importante

Aplica-se somente ao UMDF

O método WdfDeviceAssignInterfaceProperty modifica o valor atual de uma propriedade de interface do dispositivo .

Nota

Para recuperar ou modificar uma propriedade de interface do dispositivo, um driver KMDF deve chamar IoGetDeviceInterfacePropertyData ou IoSetDeviceInterfacePropertyData diretamente.

Sintaxe

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

Um identificador para um objeto de dispositivo de estrutura.

[in] PropertyData

Um ponteiro para WDF_DEVICE_INTERFACE_PROPERTY_DATA estrutura.

[in] Type

Um valor DEVPROPTYPEdigitado que especifica o tipo dos dados fornecidos no doPropertyBuffer.

[in] BufferLength

Especifica o comprimento, em bytes, do buffer para o qual PropertyBuffer aponta.

[in, optional] PropertyBuffer

Um ponteiro para os dados da propriedade da interface do dispositivo. Defina esse parâmetro para NULL para excluir a propriedade especificada.

Valor de retorno

Se o método WdfDeviceAssignInterfaceProperty não encontrar erros, ele retornará STATUS_SUCCESS. Os valores de retorno adicionais incluem:

Código de retorno Descrição
STATUS_INVALID_PARAMETER Um dos parâmetros está incorreto.

O método pode retornar outros valores NTSTATUS .

Observações

Para obter informações sobre métodos relacionados, consulte Acessando o modelo de propriedade do dispositivo unificado.

Exemplos

O exemplo de código a seguir inicializa uma estrutura de WDF_DEVICE_INTERFACE_PROPERTY_DATA e chama 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 Valor
de cliente com suporte mínimo Windows 8.1
da Plataforma de Destino Universal
versão mínima do UMDF 2.0
cabeçalho wdfdevice.h (inclua Wdf.h)
biblioteca WUDFx02000.lib
de DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

Consulte também

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceQueryInterfaceProperty