Функция NmrRegisterClient (netioddk.h)

Функция NmrRegisterClient регистрирует клиентский модуль с помощью NMR.

Синтаксис

NTSTATUS NmrRegisterClient(
  [in]  PNPI_CLIENT_CHARACTERISTICS ClientCharacteristics,
  [in]  __drv_aliasesMem PVOID      ClientContext,
  [out] PHANDLE                     NmrClientHandle
);

Параметры

[in] ClientCharacteristics

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

[in] ClientContext

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

[out] NmrClientHandle

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

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

Функция NmrRegisterClient возвращает один из следующих кодов NTSTATUS:

Код возврата Описание
STATUS_SUCCESS
NMR успешно зарегистрировал клиентский модуль.
STATUS_INSUFFICIENT_RESOURCES
У NMR недостаточно системных ресурсов для регистрации клиентского модуля.
Другие коды состояния
Произошла ошибка.

Комментарии

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

Клиентский модуль обычно вызывает функцию NmrRegisterClient из своей функции DriverEntry после завершения всех других задач инициализации. Вызов функции NmrRegisterClient указывает nmR, что клиентский модуль готов присоединиться к любым модулям поставщика, зарегистрированным или зарегистрированным в качестве поставщиков того же NPI , для которого клиентский модуль зарегистрирован в качестве клиента.

Требования

   
Минимальная версия клиента Доступно в Windows Vista и более поздних версиях операционных систем Windows.
Целевая платформа Рабочий стол
Заголовок netioddk.h (include Wsk.h)
Библиотека Netio.lib
IRQL PASSIVE_LEVEL

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

DriverEntry

NPI_CLIENT_CHARACTERISTICS

NmrDeregisterClient