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

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

Синтаксис

NTSTATUS NmrRegisterProvider(
  [in]  PNPI_PROVIDER_CHARACTERISTICS ProviderCharacteristics,
  [in]  __drv_aliasesMem PVOID        ProviderContext,
  [out] PHANDLE                       NmrProviderHandle
);

Параметры

[in] ProviderCharacteristics

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

[in] ProviderContext

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

[out] NmrProviderHandle

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

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

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

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

Комментарии

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

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

Требования

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

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

DriverEntry

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterProvider