Функция 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:
Код возврата | Описание |
---|---|
|
NMR успешно зарегистрировал модуль поставщика. |
|
NmR не имеет достаточных системных ресурсов для регистрации модуля поставщика. |
|
Произошла ошибка. |
Комментарии
Модуль поставщика вызывает функцию NmrRegisterProvider для регистрации в качестве поставщика NPI , чтобы он смог подключиться к клиентским модулям, которые регистрируются в качестве клиентов того же NPI.
Модуль поставщика обычно вызывает функцию NmrRegisterProvider из функции DriverEntry после завершения всех остальных задач инициализации. Вызов функции NmrRegisterProvider указывает NMR, что модуль поставщика готов подключиться к любым клиентским модулям, которые зарегистрировались или будут зарегистрированы в качестве клиентов того же NPI , для которого модуль поставщика зарегистрирован в качестве поставщика.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Доступно в Windows Vista и более поздних версиях операционных систем Windows. |
Целевая платформа | Персональный компьютер |
Верхняя часть | netioddk.h (включая Wsk.h) |
Библиотека | Netio.lib |
IRQL | PASSIVE_LEVEL |
См. также раздел
Обратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по