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

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

Синтаксис

NTSTATUS NmrDeregisterProvider(
  [in] HANDLE NmrProviderHandle
);

Параметры

[in] NmrProviderHandle

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

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

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

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

Комментарии

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

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

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

Требования

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

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

ClientDetachProvider

EvtDriverUnload

NmrRegisterProvider

NmrWaitForProviderDeregisterComplete

ProviderDetachClient

Выгрузить