Partilhar via


Função IoGetDeviceInterfacePropertyData (wdm.h)

A rotina IoGetDeviceInterfacePropertyData recupera o valor atual de uma propriedade de interface do dispositivo .

Sintaxe

NTSTATUS IoGetDeviceInterfacePropertyData(
  [in]  PUNICODE_STRING  SymbolicLinkName,
  [in]  const DEVPROPKEY *PropertyKey,
  [in]  LCID             Lcid,
        ULONG            Flags,
  [in]  ULONG            Size,
  [out] PVOID            Data,
  [out] PULONG           RequiredSize,
  [out] PDEVPROPTYPE     Type
);

Parâmetros

[in] SymbolicLinkName

Um ponteiro para uma cadeia de caracteres que identifica a instância da interface do dispositivo. Essa cadeia de caracteres foi obtida de uma chamada anterior para o IoGetDeviceInterfaces, IoGetDeviceInterfaceAliasou rotina de IoRegisterDeviceInterface.

[in] PropertyKey

Um ponteiro para uma estrutura de DEVPROPKEY que contém a chave de propriedade da interface do dispositivo.

[in] Lcid

Especifica um identificador de localidade. Defina esse parâmetro como um valor LCID específico do idioma ou para LOCALE_NEUTRAL. O LCID LOCALE_NEUTRAL especifica que a propriedade é neutra em idioma (ou seja, não é específica para qualquer idioma). Não defina esse parâmetro como LOCALE_SYSTEM_DEFAULT ou LOCALE_USER_DEFAULT. Para obter mais informações sobre valores LCID específicos do idioma, consulte estrutura LCID.

Flags

Reservado para uso do sistema. Os drivers devem definir esse valor como zero.

[in] Size

Especifica o tamanho, em bytes, do buffer que data aponta.

[out] Data

Um ponteiro para um buffer alocado pelo chamador no qual a rotina grava os dados da propriedade da interface do dispositivo.

[out] RequiredSize

Um ponteiro para uma variável ULONG na qual IoGetDeviceInterfacePropertyData grava o tamanho necessário dos dados da propriedade. Se a rotina for bem-sucedida, o valor de tamanho necessário será o número de bytes que a rotina grava no buffer de saída que data aponta. Se a rotina retornar STATUS_BUFFER_TOO_SMALL, o valor de tamanho necessário será o tamanho do buffer que o chamador deve alocar para esse valor de propriedade.

[out] Type

Um ponteiro para uma variável de DEVPROPTYPE. Se IoGetDeviceInterfacePropertyData recuperar com êxito os dados da propriedade, a rotina gravará o valor do tipo de propriedade nessa variável. Esse valor indica o tipo de dados de propriedade que está no buffer Data.

Valor de retorno

IoGetDeviceInterfacePropertyData retornará STATUS_SUCCESS se for bem-sucedido. Os valores de retorno de erro possíveis incluem os seguintes códigos de status.

Código de retorno Descrição
STATUS_BUFFER_TOO_SMALL O buffer que data aponta é muito pequeno para conter os dados da propriedade. * RequiredSize contém o comprimento do buffer necessário.
STATUS_UNSUCCESSFUL O valor LCID especificado não é válido.
STATUS_NOT_IMPLEMENTED Não há suporte para a propriedade especificada.

Observações

Os drivers no modo kernel usam a rotina de IoGetDeviceInterfacePropertyData para recuperar as propriedades da interface do dispositivo definidas como parte do modelo de propriedade do dispositivo unificado . Para obter mais informações sobre as propriedades da interface do dispositivo, consulte Propriedades do Dispositivo.

Os drivers podem usar a rotina de IoSetDeviceInterfacePropertyData para modificar uma propriedade de interface do dispositivo.

Os chamadores de IoGetDeviceInterfacePropertyData devem estar em execução em IRQL = PASSIVE_LEVEL no contexto de um thread do sistema.

Requisitos

Requisito Valor
de cliente com suporte mínimo Disponível no Windows 8 e versões posteriores do Windows.
da Plataforma de Destino Universal
cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
biblioteca NtosKrnl.lib
de DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Consulte também

DEVPROPKEY

DEVPROPTYPE

IoSetDeviceInterfacePropertyData