Функция ZwUnloadDriver (wdm.h)

Подпрограмма ZwUnloadDriver выгружает драйвер из системы. Используйте эту процедуру с крайней осторожностью. (См. следующие статьи. Раздел "Примечания".)

Синтаксис

NTSYSAPI NTSTATUS ZwUnloadDriver(
  [in] PUNICODE_STRING DriverServiceName
);

Параметры

[in] DriverServiceName

Указатель на подсчитываемую строку Юникода, указывающую путь к разделу реестра драйвера, \Registry\Machine\System\CurrentControlSet\Services\<DriverName>где DriverName — имя драйвера.

Возвращаемое значение

ZwUnloadDriver возвращает STATUS_SUCCESS или значение NTSTATUS ошибки, например STATUS_INVALID_DEVICE_REQUEST.

Если драйвер, указанный в DriverServiceName , не имеет подпрограммы обратного вызова DriverUnload в своей структуре DRIVER_OBJECT , ZwUnloadDriver возвращает STATUS_INVALID_DEVICE_REQUEST.

Remarks

ZwUnloadDriver динамически выгружает драйвер устройства или файловой системы из работающей в настоящее время системы. Не рекомендуется вызывать драйвер ZwUnloadDriver самостоятельно.

Обратите внимание, что драйвер фильтра файловой системы не может быть безопасно выгружен из работающей системы. Таким образом, фильтр должен использовать только ZwUnloadDriver для отладки. Она не должна вызывать эту подпрограмму в розничной версии фильтра.

Если DriverName — это имя драйвера устройства PnP, ZwUnloadDriver возвращает STATUS_INVALID_DEVICE_REQUEST и не выгружает драйвер.

Минифильтр должен использовать FltUnloadFilter вместо ZwUnloadDriver для выгрузки вспомогательного минифильтра.

Примечание Если вызов функции ZwUnloadDriver происходит в пользовательском режиме, следует использовать имя NtUnloadDriver вместо ZwUnloadDriver.
Для вызовов из драйверов в режиме ядра версии NtXxx и ZwXxx подпрограммы собственных системных служб Windows могут вести себя по-разному так, как они обрабатывают и интерпретируют входные параметры. Дополнительные сведения о связи между версиями подпрограммы NtXxx и ZwXxx см. в разделе "Использование версий Nt и Zw" для подпрограмм собственных системных служб.

Требования

   
Минимальная версия клиента Доступно в Windows XP и более поздних версиях Windows.
Целевая платформа Универсальное
Верхняя часть wdm.h (include Wdm.h, Ntddk.h, Ntifs.h)
Библиотека NtosKrnl.lib
DLL NtosKrnl.exe
IRQL PASSIVE_LEVEL
Правила соответствия DDI HwStorPortProhibitedDDIs(storport), PowerIrpDDis(wdm)

См. также раздел

FltUnloadFilter

RtlInitUnicodeString

UNICODE_STRING

Использование версий Nt и Zw подпрограмм собственных системных служб