Функция NmrDeregisterClient (netioddk.h)

Функция NmrDeregisterClient отменяет регистрацию клиентского модуля из NMR.

Синтаксис

NTSTATUS NmrDeregisterClient(
  [in] HANDLE NmrClientHandle
);

Параметры

[in] NmrClientHandle

Дескриптор, используемый NMR для представления регистрации клиентского модуля. NMR возвращает этот дескриптор клиентскому модулю, когда клиентский модуль вызывает функцию NmrRegisterClient .

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

Функция NmrDeregisterClient возвращает один из следующих кодов NTSTATUS:

Код возврата Описание
STATUS_PENDING
NMR инициировал отмену регистрации клиентского модуля. Клиентский модуль должен вызватьФункция NmrWaitForClientDeregisterComplete ожидает завершения отмены регистрации перед выгрузкой клиентского модуля.
Другие коды состояния
Произошла ошибка.

Комментарии

Когда клиентский модуль вызывает функцию NmrDeregisterClient , nmR вызывает функцию обратного вызова ClientDetachProvider клиентского модуля и функцию обратного вызова ProviderDetachClient модуля поставщика для каждой привязки между клиентским модулем и модулем поставщика. Отмена регистрации клиентского модуля из NMR завершается после того, как клиентский модуль успешно отсоединился от всех модулей поставщика, к которым он подключен, и все эти модули поставщика успешно отсоединились от клиентского модуля.

Клиентский модуль обычно вызывает функцию NmrDeregisterClient из своей функции Unload , чтобы отсоединиться от всех модулей поставщика, к которым он подключен до выгрузки клиентского модуля из системы. После вызова функции NmrDeregisterClient клиентский модуль должен вызватьФункция NmrWaitForClientDeregisterComplete ожидает завершения отмены регистрации перед выгрузкой клиентского модуля. Клиентский модуль не должен возвращать данные из вызова функции Unload до завершения отмены регистрации.

Примечание Если клиентский модуль использует Платформу драйверов Windows, он обычно вызывает функцию NmrDeregisterClient из функции обратного вызова события EvtDriverUnload . В этом случае клиентский модуль не должен возвращать данные из вызова функции EvtDriverUnload до тех пор, пока не завершится отмена регистрации.
 

Требования

Требование Значение
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Целевая платформа Персональный компьютер
Верхняя часть netioddk.h (включая Wsk.h)
Библиотека Netio.lib
IRQL <= DISPATCH_LEVEL

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

ClientDetachProvider

EvtDriverUnload

NmrRegisterClient

NmrWaitForClientDeregisterComplete

ProviderDetachClient

Выгрузить