Функция 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 из функции Выгрузки , чтобы отключиться от всех клиентских модулей, к которым он подключен до выгрузки модуля поставщика из системы. После вызова функции NmrDeregisterProvider необходимо вызвать модуль поставщикаФункция NmrWaitForProviderDeregisterComplete ожидает завершения дерегистрации до выгрузки модуля поставщика. Модуль поставщика не должен возвращать вызов функции Выгрузки до завершения дерегистрации.

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

Требования

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

См. также

ClientDetachProvider

EvtDriverUnload

NmrRegisterProvider

NmrWaitForProviderDeregisterComplete

ProviderDetachClient

Выгрузить