Поделиться через


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

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

Синтаксис

NPI_CLIENT_DETACH_PROVIDER_FN NpiClientDetachProviderFn;

NTSTATUS NpiClientDetachProviderFn(
  [in] PVOID ClientBindingContext
)
{...}

Параметры

[in] ClientBindingContext

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

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

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

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

Комментарии

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

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

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

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

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

Требования

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

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

ClientCleanupBindingContext

NPI_CLIENT_CHARACTERISTICS

NmrClientAttachProvider

NmrClientDetachProviderComplete

NmrDeregisterClient

NmrDeregisterProvider

ProviderCleanupBindingContext