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.

Nota Se a chamada para a função ZwUnloadDriver ocorrer no modo de usuário, você deverá usar o nome "NtUnloadDriver" em vez de "ZwUnloadDriver".
 
Para chamadas de drivers do modo kernel, as versões NtXxx e ZwXxx de uma rotina do Windows Native System Services podem se comportar de forma diferente na maneira como lidam e interpretam parâmetros de entrada. Para obter mais informações sobre a relação entre as versões NtXxx e ZwXxx de uma rotina, consulte Usando versões Nt e Zw das rotinas de serviços nativos do sistema.

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

FltUnloadFilter

RtlInitUnicodeString

UNICODE_STRING

Usando versões Nt e Zw das rotinas de serviços nativos do sistema