Поделиться через


Функция 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