Função IoGetDevicePropertyData (wdm.h)
A rotina IoGetDevicePropertyData recupera a configuração atual de uma propriedade de dispositivo.
Sintaxe
NTSTATUS IoGetDevicePropertyData(
[in] PDEVICE_OBJECT Pdo,
[in] const DEVPROPKEY *PropertyKey,
[in] LCID Lcid,
ULONG Flags,
[in] ULONG Size,
[out] PVOID Data,
[out] PULONG RequiredSize,
[out] PDEVPROPTYPE Type
);
Parâmetros
[in] Pdo
Um ponteiro para o PDO (objeto de dispositivo físico) para o dispositivo que está sendo consultado.
[in] PropertyKey
Um ponteiro para uma estrutura DEVPROPKEY que especifica a chave de propriedade do dispositivo.
[in] Lcid
Um identificador de localidade. Defina esse parâmetro como um valor LCID específico do idioma ou para LOCALE_NEUTRAL. O LCID do LOCALE_NEUTRAL especifica que a propriedade é neutra em idioma (ou seja, não é específica de 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 0.
[in] Size
O tamanho, em bytes, do buffer para o qual os dados apontam.
[out] Data
Um ponteiro para os dados da propriedade do dispositivo.
[out] RequiredSize
Um ponteiro para um ULONG para receber o tamanho das informações de propriedade retornadas em Dados. Se IoGetDevicePropertyData retornar STATUS_BUFFER_TOO_SMALL, o chamador poderá usar esse valor para alocar um buffer do tamanho correto.
[out] Type
Um ponteiro para um valor DEVPROPTYPE . Se IoGetDevicePropertyData for concluído com êxito, a rotina usará Type para fornecer o tipo de dados retornado no buffer de dados .
Retornar valor
IoGetDevicePropertyData retorna um valor NTSTATUS. Essa rotina pode retornar um dos seguintes valores:
Código de retorno | Descrição |
---|---|
|
A operação foi realizada com êxito. O buffer de dados contém os dados recuperados. **Type* contém o tipo dos dados recuperados. |
|
O buffer de dados é muito pequeno. **RequiredSize* contém o comprimento do buffer necessário. |
|
A propriedade do dispositivo especificada não foi encontrada. |
Comentários
Os drivers no modo kernel usam a rotina IoGetDevicePropertyData para recuperar as propriedades do dispositivo definidas como parte do modelo de propriedade do dispositivo unificado.
Para ver os tipos de propriedade disponíveis para uso por essa rotina, consulte DEVPROP_TYPE_BYTE e páginas adjacentes para DEVPROP_TYPE_*
.
Os drivers podem usar a rotina IoSetDevicePropertyData para modificar uma propriedade do dispositivo.
Os chamadores de IoGetDevicePropertyData devem estar em execução em IRQL <= APC_LEVEL no contexto de um thread do sistema.
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows Vista. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Regras de conformidade de DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |