Compartilhar via


Função IoQueryFullDriverPath (ntddk.h)

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

Consulte também

DRIVER_OBJECT

ExFreePool

UNICODE_STRING