функция обратного вызова 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 функций обратного вызова модуля клиента. Если не выполняется вызовы любой из функций обратного вызова NPI клиентского модуля, когда вызывается функция обратного вызова модуля поставщика ProviderDetachClient, то функция обратного вызова модуля поставщика ProviderDetachClient возвращает STATUS_SUCCESS.
Если выполняются вызовы одной или нескольких функций обратного вызова модуля клиента, NPI, когда вызывается функция обратного вызова поставщика ProviderDetachClient, функция обратного вызова модуля поставщика ProviderDetachClient возвращает STATUS_PENDING. В этой ситуации модуль поставщика должен вызвать функция NmrProviderDetachClientComplete после завершения всех выполняемых вызовов функций обратного вызова NPI модуля клиента. Вызов функция NmrProviderDetachClientComplete уведомляет NMR о завершении отсоединения от клиентского модуля.
NMR вызывает клиентский модуль функция обратного вызова ClientCleanupBindingContext и модуль поставщика ProviderCleanupBindingContext функцию обратного вызова после завершения отсоединения от модуля клиента и модуля поставщика.
NMR вызывает функцию обратного вызова модуля поставщика ProviderDetachClient в любой <IRQL = DISPATCH_LEVEL.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
целевая платформа | Виндоус |
заголовка | netioddk.h (include Wsk.h) |
IRQL | <= DISPATCH_LEVEL |