Funzione ZwUnloadDriver (wdm.h)

La routine ZwUnloadDriver scarica un driver dal sistema. Usare questa routine con attenzione estrema (vedere la sezione Osservazioni di seguito).

Sintassi

NTSYSAPI NTSTATUS ZwUnloadDriver(
  [in] PUNICODE_STRING DriverServiceName
);

Parametri

[in] DriverServiceName

Puntatore a una stringa Unicode conteggiata che specifica un percorso alla chiave del Registro di sistema del driver, , \Registry\Machine\System\CurrentControlSet\Services\<DriverName>dove DriverName è il nome del driver.

Valore restituito

ZwUnloadDriver restituisce STATUS_SUCCESS o un valore NTSTATUS di errore, ad esempio STATUS_INVALID_DEVICE_REQUEST.

Se il driver specificato in DriverServiceName non ha alcuna routine di callback DriverUnload impostata nella relativa struttura di DRIVER_OBJECT, ZwUnloadDriver restituisce STATUS_INVALID_DEVICE_REQUEST.

Commenti

ZwUnloadDriver scarica dinamicamente un driver di dispositivo o file system dal sistema attualmente in esecuzione. Non è consigliabile che un driver chiami ZwUnloadDriver su se stesso.

Un driver di filtro del file system non può essere scaricato in modo sicuro da un sistema in esecuzione. Pertanto, un filtro deve usare solo ZwUnloadDriver per scopi di debug. Non deve chiamare questa routine in una versione al dettaglio del filtro.

Se DriverName è il nome di un driver di dispositivo PnP, ZwUnloadDriver restituisce STATUS_INVALID_DEVICE_REQUEST e non scarica il driver.

Un minifilter deve usare FltUnloadFilter anziché ZwUnloadDriver per scaricare un minifilter di supporto.

Se la chiamata alla funzione ZwUnloadDriver si verifica in modalità utente, è necessario usare il nome "NtUnloadDriver" anziché "ZwUnloadDriver".

Per le chiamate dai driver in modalità kernel, le versioni NtXxx e ZwXxx di una routine di Windows Native System Services possono comportarsi in modo diverso nel modo in cui gestiscono e interpretano i parametri di input. Per altre informazioni sulla relazione tra le versioni NtXxx e ZwXxx di una routine, vedere Uso di nt e zw versioni delle routine di Servizi di sistema nativo.

Requisiti

Requisito Valore
Piattaforma di destinazione Universale
Intestazione wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Libreria NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Regole di conformità DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

Vedi anche

FltUnloadFilter

RtlInitUnicodeString

UNICODE_STRING

Uso di nt e zw versioni delle routine di Servizi di sistema nativo