Funzione IoQueryFullDriverPath (ntddk.h)
La routine IoQueryFullDriverPath recupera il nome completo del percorso del file binario caricato per l'oggetto driver specificato. A partire da Windows 10 versione 1709, i chiamanti possono eseguire una query per gli oggetti driver non proprietari, purché usino la sincronizzazione appropriata per garantire che la struttura DRIVER_OBJECT rimanga valida durante la chiamata.
Sintassi
NTSTATUS IoQueryFullDriverPath(
[in] PDRIVER_OBJECT DriverObject,
[out] PUNICODE_STRING FullPath
);
Parametri
[in] DriverObject
Puntatore a una struttura DRIVER_OBJECT . Se si chiama IoQueryFullDriverPath in un computer che esegue una versione di Windows 10 precedente alla versione 1709, questa struttura deve essere l'oggetto driver per il driver chiamante.
[out] FullPath
Puntatore a una struttura UNICODE_STRING allocata dal chiamante. In caso di esito positivo, questa struttura contiene il nome del percorso.
Valore restituito
IoQueryFullDriverPath restituisce STATUS_SUCCESS se la chiamata recupera correttamente il nome del percorso. I valori restituiti di errore possibili includono i codici di stato seguenti.
Codice restituito | Descrizione |
---|---|
STATUS_ACCESS_DENIED | L'oggetto driver di destinazione non appartiene al chiamante. Questo codice di stato viene restituito solo nelle versioni di Windows 10 precedenti alla 1709. |
STATUS_NOT_FOUND | All'oggetto driver non è associata alcuna sezione (immagine di memoria caricata). |
STATUS_INSUFFICIENT_RESOURCES | Sono disponibili risorse insufficienti per eseguire l'operazione richiesta. |
Commenti
Un driver può chiamare questa routine per eseguire una query sul nome completo del percorso del file binario oppure, a partire da Windows 10 versione 1709, il nome completo del percorso del file binario per un altro driver.
Il chiamante alloca la struttura UNICODE_STRING a cui punta il parametro FullPath , ma non deve inizializzare questa struttura. IoQueryFullDriverPath presuppone che il contenuto originale di questa struttura non sia valido e li sovrascriva. Questa routine alloca un buffer stringa dalla memoria di sistema di paging, imposta il membro Buffer della struttura in modo che punti a questo buffer e imposta i membri MaximumLength e Buffer per descrivere il buffer e il relativo contenuto.
Il chiamante è responsabile della liberazione dello spazio di archiviazione a cui punta FullPath-Buffer> quando la stringa del percorso completo non è più necessaria. In genere, il chiamante libera questa risorsa di archiviazione chiamando una routine come ExFreePool.
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Disponibile a partire da Windows 8.1. |
Piattaforma di destinazione | Universale |
Intestazione | ntddk.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Libreria | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | <= APC_LEVEL |