функция обратного вызова 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:
Код возврата | Описание |
---|---|
|
Модуль поставщика успешно отсоединился от клиентского модуля. |
|
Модуль поставщика не может отсоединиться от клиентского модуля немедленно. |
Комментарии
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 |