Función ZwUnloadDriver (wdm.h)

La rutina ZwUnloadDriver descarga un controlador del sistema. Use esta rutina con extrema precaución. (Consulte lo siguiente: Sección comentarios.

Sintaxis

NTSYSAPI NTSTATUS ZwUnloadDriver(
  [in] PUNICODE_STRING DriverServiceName
);

Parámetros

[in] DriverServiceName

Puntero a una cadena Unicode con recuento que especifica una ruta de acceso a la clave del Registro del controlador, \Registry\Machine\System\CurrentControlSet\Services\<DriverName>, donde DriverName es el nombre del controlador.

Valor devuelto

ZwUnloadDriver devuelve STATUS_SUCCESS o un valor NTSTATUS de error, como STATUS_INVALID_DEVICE_REQUEST.

Si el controlador especificado en DriverServiceName no tiene establecida la rutina de devolución de llamada DriverUnload en su estructura de DRIVER_OBJECT , ZwUnloadDriver devuelve STATUS_INVALID_DEVICE_REQUEST.

Comentarios

ZwUnloadDriver descarga dinámicamente un controlador de sistema de archivos o dispositivo del sistema de archivos del sistema que se está ejecutando actualmente. No se recomienda que un controlador llame a ZwUnloadDriver en sí mismo.

Tenga en cuenta que un controlador de filtro del sistema de archivos no se puede descargar de forma segura desde un sistema en ejecución. Por lo tanto, un filtro solo debe usar ZwUnloadDriver con fines de depuración. No debe llamar a esta rutina en una versión comercial del filtro.

Si DriverName es el nombre de un controlador de dispositivo PnP, ZwUnloadDriver devuelve STATUS_INVALID_DEVICE_REQUEST y no descarga el controlador.

Un minifiltro debe usar FltUnloadFilter en lugar de ZwUnloadDriver para descargar un minifiltro auxiliar.

Nota Si la llamada a la función ZwUnloadDriver se produce en modo de usuario, debe usar el nombre "NtUnloadDriver" en lugar de "ZwUnloadDriver".
En el caso de las llamadas desde controladores en modo kernel, las versiones NtXxx y ZwXxx de una rutina de Windows Native System Services pueden comportarse de forma diferente de la manera en que controlan e interpretan los parámetros de entrada. Para obtener más información sobre la relación entre las versiones NtXxx y ZwXxx de una rutina, vea Using Nt and Zw Versions of the Native System Services Routines.

Requisitos

   
Cliente mínimo compatible Disponible en Windows XP y versiones posteriores de Windows.
Plataforma de destino Universal
Encabezado wdm.h (incluya Wdm.h, Ntddk.h, Ntifs.h)
Library NtosKrnl.lib
Archivo DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Reglas de cumplimiento de DDI HwStorPortProhibitedDIs(storport), PowerIrpDDis(wdm)

Vea también

FltUnloadFilter

RtlInitUnicodeString

UNICODE_STRING

Uso de las versiones Nt y Zw de las rutinas nativas de System Services