Функция 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 (включая Wsk.h)
Библиотека Netio.lib
IRQL PASSIVE_LEVEL

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

DriverEntry

NPI_CLIENT_CHARACTERISTICS

NmrDeregisterClient