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 |