Compartir a través de


Función IoQueryFullDriverPath (ntddk.h)

La rutina IoQueryFullDriverPath recupera el nombre de ruta de acceso completa del archivo binario que se carga para el objeto de controlador especificado. A partir de Windows 10 versión 1709, los autores de llamadas pueden consultar objetos de controlador que no son suyos, siempre que usen la sincronización adecuada para asegurarse de que la estructura de DRIVER_OBJECT permanece válida durante la llamada.

Sintaxis

NTSTATUS IoQueryFullDriverPath(
  [in]  PDRIVER_OBJECT  DriverObject,
  [out] PUNICODE_STRING FullPath
);

Parámetros

[in] DriverObject

Puntero a una estructura de DRIVER_OBJECT . Si llama a IoQueryFullDriverPath en un equipo que ejecuta una versión de Windows 10 anterior a la versión 1709, esta estructura es necesaria para ser el objeto de controlador para el controlador que realiza la llamada.

[out] FullPath

Puntero a una estructura de UNICODE_STRING asignada por el autor de la llamada. Si la devolución se realiza correctamente, esta estructura contiene el nombre de la ruta de acceso.

Valor devuelto

IoQueryFullDriverPath devuelve STATUS_SUCCESS si la llamada captura correctamente el nombre de la ruta de acceso. Entre los posibles valores devueltos de error se incluyen los siguientes códigos de estado.

Código devuelto Descripción
STATUS_ACCESS_DENIED El objeto de controlador de destino no pertenece al autor de la llamada. Este código de estado solo se devuelve en las versiones de Windows 10 anteriores a 1709.
STATUS_NOT_FOUND El objeto de controlador no tiene ninguna sección (imagen de memoria cargada) asociada a él.
STATUS_INSUFFICIENT_RESOURCES Hay recursos insuficientes disponibles para realizar la operación solicitada.

Comentarios

Un controlador puede llamar a esta rutina para consultar el nombre de ruta de acceso completa de su archivo binario o, a partir de Windows 10 versión 1709, el nombre de ruta de acceso completa del archivo binario para otro controlador.

El autor de la llamada asigna la estructura UNICODE_STRING a la que apunta el parámetro FullPath , pero no necesita inicializar esta estructura. IoQueryFullDriverPath supone que el contenido original de esta estructura no es válido y los sobrescribe. Esta rutina asigna un búfer de cadena de la memoria del sistema paginada, establece el miembro buffer de la estructura para que apunte a este búfer y establezca los miembros MaximumLength y Buffer para describir el búfer y su contenido.

El autor de la llamada es responsable de liberar el almacenamiento al que apunta FullPath-Buffer> cuando ya no se necesita la cadena de ruta de acceso completa. Normalmente, el autor de la llamada libera este almacenamiento llamando a una rutina como ExFreePool.

Requisitos

Requisito Value
Cliente mínimo compatible Disponible a partir de Windows 8.1.
Plataforma de destino Universal
Encabezado ntddk.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL <= APC_LEVEL

Consulte también

DRIVER_OBJECT

ExFreePool

UNICODE_STRING