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.

Observação

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 do tipo DEVPROPTYPE que especifica o tipo dos dados fornecidos no PropertyBuffer.

[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 como NULL para excluir a propriedade especificada.

Retornar valor

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.

Comentários

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

Exemplos

O exemplo de código a seguir inicializa uma estrutura 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
Cliente mínimo com suporte Windows 8.1
Plataforma de Destino Universal
Versão mínima do UMDF 2,0
Cabeçalho wdfdevice.h (inclua Wdf.h)
Biblioteca WUDFx02000.lib
DLL WUDFx02000.dll
IRQL PASSIVE_LEVEL

Confira também

WDF_DEVICE_INTERFACE_PROPERTY_DATA

WDF_DEVICE_INTERFACE_PROPERTY_DATA_INIT

WdfDeviceAllocAndQueryInterfaceProperty

WdfDeviceQueryInterfaceProperty