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 a rotina IoGetDeviceInterfaces, IoGetDeviceInterfaceAlias ou IoRegisterDeviceInterface .

[in] PropertyKey

Um ponteiro para uma estrutura 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 LOCALE_NEUTRAL LCID especifica que a propriedade é neutra em idioma (ou seja, não específica a nenhum 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 para o qual os Dados apontam.

[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 para o qual os Dados apontam. 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 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 de dados .

Retornar valor

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

Código de retorno Descrição
STATUS_BUFFER_TOO_SMALL O buffer para o qual os Dados apontam é 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.

Comentários

Os drivers de modo kernel usam a rotina IoGetDeviceInterfacePropertyData para recuperar propriedades de 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 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
Cliente mínimo com suporte Disponível em Windows 8 e versões posteriores do Windows.
Plataforma de Destino Universal
Cabeçalho wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Biblioteca NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL

Confira também

DEVPROPKEY

DEVPROPTYPE

IoSetDeviceInterfacePropertyData