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