функция обратного вызова NPI_CLIENT_ATTACH_PROVIDER_FN (netioddk.h)
Функция обратного вызова клиентского модуля ClientAttachProvider подключает модуль клиента к модулю поставщика.
Синтаксис
NPI_CLIENT_ATTACH_PROVIDER_FN NpiClientAttachProviderFn;
NTSTATUS NpiClientAttachProviderFn(
[in] HANDLE NmrBindingHandle,
[in] PVOID ClientContext,
[in] PNPI_REGISTRATION_INSTANCE ProviderRegistrationInstance
)
{...}
Параметры
[in] NmrBindingHandle
Дескриптор, используемый NMR для представления привязки между клиентским модулем и модулем поставщика.
[in] ClientContext
Указатель на контекст регистрации клиентского модуля. Клиентский модуль передает этот указатель на NMR при вызове функции NmrRegisterClient для регистрации в NMR.
[in] ProviderRegistrationInstance
Указатель на объект структура NPI_REGISTRATION_INSTANCE. Эта структура содержит данные регистрации модуля поставщика.
Возвращаемое значение
Функция обратного вызова клиентского модуля ClientAttachProvider возвращает один из следующих кодов NTSTATUS:
Возвращаемый код | Описание |
---|---|
|
Клиентский модуль и модуль поставщика успешно подключены друг к другу. |
|
Либо клиентский модуль не подключился к модулю поставщика, либо модуль поставщика не подключился к клиентскому модулю. |
|
Произошла ошибка. |
Замечания
После регистрации клиентского модуля в NMR NMR nmR вызывает функцию обратного вызова клиентского модуля ClientAttachProvider для каждого модуля поставщика, зарегистрированного в качестве поставщика той же NPI, для которой клиентский модуль зарегистрирован в качестве клиента.
NMR также вызывает функцию обратного вызова клиентского модуля ClientAttachProvider всякий раз, когда новый сетевой модуль регистрируется в качестве поставщика того же NPI, для которого клиентский модуль зарегистрирован в качестве клиента.
Клиентский модуль может проверить данные регистрации модуля поставщика. Эти данные указываются параметром ProviderRegistrationInstance. Клиентский модуль использует эти данные для определения того, будет ли он подключаться к модулю поставщика:
- Если клиентский модуль определяет, что он подключится к модулю поставщика, функция обратного вызова ClientAttachProvider вызывает функцию NmrClientAttachProvider для продолжения процесса вложения. В этой ситуации функция обратного вызова клиента ClientAttachProvider должна возвращать код состояния, возвращаемый вызовом функция NmrClientAttachProvider.
- Если клиентский модуль определяет, что он не будет подключаться к модулю поставщика, функция обратного вызова ClientAttachProvider должна возвращать STATUS_NOINTERFACE.
NMR вызывает клиента ClientAttachProvider функцию обратного вызова в IRQL = PASSIVE_LEVEL.
Требования
Требование | Ценность |
---|---|
минимальные поддерживаемые клиентские | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
целевая платформа | Виндоус |
заголовка | netioddk.h (include Wsk.h) |
IRQL | PASSIVE_LEVEL |