Função IoQueryFullDriverPath (ntddk.h)
A rotina IoQueryFullDriverPath recupera o nome completo do caminho do arquivo binário carregado para o objeto de driver especificado. A partir 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 driver do 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.
Retornar valor
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 status só é retornado em versões de 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. |
Comentários
Um driver pode chamar essa rotina para consultar o nome do caminho completo de seu arquivo binário ou, começando em Windows 10 versão 1709, o nome completo do caminho do arquivo binário para outro driver.
O chamador aloca a estrutura 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 paginada, define o membro Buffer da estrutura para apontar para esse buffer e define os membros MaximumLength e 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 |
---|---|
Cliente mínimo com suporte | Disponível a partir do Windows 8.1. |
Plataforma de Destino | Universal |
Cabeçalho | ntddk.h (inclua Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |
Confira também
Comentários
https://aka.ms/ContentUserFeedback.
Em breve: Ao longo de 2024, eliminaremos os problemas do GitHub como o mecanismo de comentários para conteúdo e o substituiremos por um novo sistema de comentários. Para obter mais informações, consulteEnviar e exibir comentários de