Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
La rutina IoQueryFullDriverPath recupera el nombre de ruta de acceso completo del archivo binario que se carga para el objeto de controlador especificado. A partir de la versión 1709 de Windows 10, los autores de llamadas pueden consultar objetos de controlador que no son suyos, siempre y cuando 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 llamas 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 de llamada.
[out] FullPath
Puntero a una estructura de UNICODE_STRING asignada por el autor de la llamada. Si la devolución es correcta, 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 del controlador de destino no pertenece al autor de la llamada. Este código de estado solo se devuelve en versiones de Windows 10 anteriores a 1709. |
| STATUS_NOT_FOUND | El objeto driver no tiene ninguna sección (imagen de memoria cargada) asociada. |
| STATUS_INSUFFICIENT_RESOURCES | Los recursos insuficientes están disponibles para realizar la operación solicitada. |
Observaciones
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 completo 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 es necesario 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 cadenas de la memoria del sistema paginada, establece el búfer de la estructura para que apunte a este búfer y establece el MaximumLength y miembros del búfer 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 | Valor |
|---|---|
| cliente mínimo admitido | Disponible a partir de Windows 8.1. |
| de la plataforma de destino de | Universal |
| encabezado de | ntddk.h (incluya Wdm.h, Ntddk.h, Ntifs.h) |
| biblioteca de | NtosKrnl.lib |
| DLL de | NtosKrnl.exe |
| irQL | <= APC_LEVEL |