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

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

DriverEntry

NPI_PROVIDER_CHARACTERISTICS

NmrDeregisterProvider