Função ZwUnloadDriver (wdm.h)
A rotina do ZwUnloadDriver descarrega um driver do sistema. Use essa rotina com extrema cautela. (Consulte a seção Comentários a seguir .)
Sintaxe
NTSYSAPI NTSTATUS ZwUnloadDriver(
[in] PUNICODE_STRING DriverServiceName
);
Parâmetros
[in] DriverServiceName
Ponteiro para uma cadeia de caracteres Unicode contada que especifica um caminho para a chave do registro do driver, \Registry\Machine\System\CurrentControlSet\Services\<DriverName>
em que DriverName é o nome do driver.
Valor retornado
ZwUnloadDriver retorna STATUS_SUCCESS ou um valor NTSTATUS de erro, como STATUS_INVALID_DEVICE_REQUEST.
Se o driver especificado em DriverServiceName não tiver nenhuma rotina de retorno de chamada driverUnload definida em sua estrutura de DRIVER_OBJECT , o ZwUnloadDriver retornará STATUS_INVALID_DEVICE_REQUEST.
Comentários
O ZwUnloadDriver descarrega dinamicamente um driver do sistema de arquivos ou dispositivo do sistema em execução no momento. Não é recomendável que um driver chame ZwUnloadDriver em si mesmo.
Observe que um driver de filtro do sistema de arquivos não pode ser descarregado com segurança de um sistema em execução. Portanto, um filtro só deve usar o ZwUnloadDriver para fins de depuração. Ele não deve chamar essa rotina em uma versão de varejo do filtro.
Se DriverName for o nome de um driver de dispositivo PnP, ZwUnloadDriver retornará STATUS_INVALID_DEVICE_REQUEST e não descarregará o driver.
Um minifiltro deve usar FltUnloadFilter em vez de ZwUnloadDriver para descarregar um minifiltro de suporte.
Requisitos
Cliente mínimo com suporte | Disponível no Windows XP e versões posteriores do Windows. |
Plataforma de Destino | Universal |
Cabeçalho | wdm.h (include Wdm.h, Ntddk.h, Ntifs.h) |
Biblioteca | NtosKrnl.lib |
DLL | NtosKrnl.exe |
IRQL | PASSIVE_LEVEL |
Regras de conformidade DDI | HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm) |
Confira também
Usando versões Nt e Zw das rotinas de serviços nativos do sistema