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 |