Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
A rotina IoQueryFullDriverPath recupera o nome do caminho completo do arquivo binário carregado para o objeto de driver especificado. A partir do Windows 10 versão 1709, os chamadores podem consultar objetos de driver que não são seus, desde que usem a sincronização adequada para garantir que a estrutura DRIVER_OBJECT permaneça válida durante a chamada.
Sintaxe
NTSTATUS IoQueryFullDriverPath(
[in] PDRIVER_OBJECT DriverObject,
[out] PUNICODE_STRING FullPath
);
Parâmetros
[in] DriverObject
Um ponteiro para uma estrutura DRIVER_OBJECT. Se você estiver chamando IoQueryFullDriverPath em um computador que executa uma versão do Windows 10 anterior à versão 1709, essa estrutura será necessária para ser o objeto de driver para o driver de chamada.
[out] FullPath
Um ponteiro para uma estrutura de UNICODE_STRING alocada pelo chamador. No retorno bem-sucedido, essa estrutura contém o nome do caminho.
Valor de retorno
IoQueryFullDriverPath retornará STATUS_SUCCESS se a chamada buscar com êxito o nome do caminho. Os valores de retorno de erro possíveis incluem os seguintes códigos de status.
| Código de retorno | Descrição |
|---|---|
| STATUS_ACCESS_DENIED | O objeto de driver de destino não pertence ao chamador. Esse código de status só é retornado em versões do Windows 10 anteriores a 1709. |
| STATUS_NOT_FOUND | O objeto driver não tem nenhuma seção (imagem de memória carregada) associada a ele. |
| STATUS_INSUFFICIENT_RESOURCES | Recursos insuficientes estão disponíveis para executar a operação solicitada. |
Observações
Um driver pode chamar essa rotina para consultar o nome completo do caminho de seu arquivo binário ou, a partir do Windows 10 versão 1709, o nome completo do caminho do arquivo binário para outro driver.
O chamador aloca a estrutura de UNICODE_STRING apontada pelo parâmetro FullPath, mas não precisa inicializar essa estrutura. IoQueryFullDriverPath pressupõe que o conteúdo original dessa estrutura seja inválido e os substitua. Essa rotina aloca um buffer de cadeia de caracteres da memória do sistema de páginas, define o buffer membro da estrutura para apontar para esse buffer e define o MaximumLength e membros do buffer para descrever o buffer e seu conteúdo.
O chamador é responsável por liberar o armazenamento apontado por FullPath –>buffer quando a cadeia de caracteres de caminho completo não é mais necessária. Normalmente, o chamador libera esse armazenamento chamando uma rotina como ExFreePool.
Requisitos
| Requisito | Valor |
|---|---|
| de cliente com suporte mínimo | Disponível a partir do Windows 8.1. |
| da Plataforma de Destino | Universal |
| cabeçalho | ntddk.h (incluem Wdm.h, Ntddk.h, Ntifs.h) |
| biblioteca | NtosKrnl.lib |
| de DLL | NtosKrnl.exe |
| IRQL | <= APC_LEVEL |