функция обратного вызова NPI_PROVIDER_DETACH_CLIENT_FN (netioddk.h)

Функция обратного вызова ProviderDetachClient модуля поставщика отсоединяет модуль поставщика от клиентского модуля.

Синтаксис

NPI_PROVIDER_DETACH_CLIENT_FN NpiProviderDetachClientFn;

NTSTATUS NpiProviderDetachClientFn(
  [in] PVOID ProviderBindingContext
)
{...}

Параметры

[in] ProviderBindingContext

Указатель на контекст модуля поставщика для привязки между модулем поставщика и клиентским модулем, от которого он отсоединяется. Функция обратного вызова ProviderAttachClient модуля поставщика возвращает этот указатель на NMR при подключении к клиентскому модулю.

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

Функция обратного вызова ProviderDetachClient модуля поставщика возвращает один из следующих кодов NTSTATUS:

Код возврата Описание
STATUS_SUCCESS
Модуль поставщика успешно отсоединился от клиентского модуля.
STATUS_PENDING
Не удалось немедленно отключить модуль поставщика от клиентского модуля.

Remarks

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

После вызова функции обратного вызова ProviderDetachClient модуль поставщика больше не должен выполнять вызовы ни одной из функций обратного вызова NPI клиентского модуля. Если при вызове функции обратного вызова ProviderDetachClient модуля поставщика нет вызовов NPI модуля клиента, функция обратного вызова ProviderDetachClient модуля поставщика возвращает STATUS_SUCCESS.

Если выполняются вызовы одной или нескольких функций обратного вызова NPI клиентского модуля при вызове функции обратного вызова ProviderDetachClient модуля поставщика , функция обратного вызова ProviderDetachClient модуля поставщика возвращает STATUS_PENDING. В этом случае модуль поставщика должен вызвать Функция NmrProviderDetachClientComplete после завершения всех выполняемых вызовов функций обратного вызова NPI модуля клиента. Вызов Функция NmrProviderDetachClientComplete уведомляет NMR о завершении отсоединения от клиентского модуля.

NMR вызывает клиентский модуль Функция обратного вызова ClientCleanupBindingContext и модуль поставщикаФункция обратного вызова ProviderCleanupBindingContext после того, как клиентский модуль и модуль поставщика завершили отсоединение друг от друга.

NMR вызывает функцию обратного вызова ProviderDetachClient модуля поставщика в любом irQL <= DISPATCH_LEVEL.

Требования

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

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

ClientCleanupBindingContext

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterClient

NmrDeregisterProvider

NmrProviderDetachClientComplete

ProviderAttachClient

ProviderCleanupBindingContext