Функция NdisRegisterProtocolDriver (ndis.h)
Драйвер протокола вызывает функцию NdisRegisterProtocolDriver для регистрации функций ProtocolXxx с помощью NDIS.
Синтаксис
NDIS_STATUS NdisRegisterProtocolDriver(
[in, optional] NDIS_HANDLE ProtocolDriverContext,
[in] PNDIS_PROTOCOL_DRIVER_CHARACTERISTICS ProtocolCharacteristics,
[out] PNDIS_HANDLE NdisProtocolHandle
);
Параметры
[in, optional] ProtocolDriverContext
Дескриптор области контекста, выделенной драйвером, в которой драйвер хранит сведения о состоянии и конфигурации.
[in] ProtocolCharacteristics
Указатель на NDIS_PROTOCOL_DRIVER_CHARACTERISTICS структуру, которую драйвер протокола создал и инициализировал с помощью точек входа функции ProtocolXxx .
[out] NdisProtocolHandle
Указатель на переменную дескриптора, предоставляемую вызывающим абонентом. NDIS записывает дескриптор в эту переменную, который однозначно идентифицирует регистрирующийся драйвер. Драйвер должен сохранить этот дескриптор для использования в последующих вызовах функций NdisXxx .
Возвращаемое значение
NdisRegisterProtocolDriver возвращает одно из следующих значений состояния:
Код возврата | Описание |
---|---|
|
NdisRegisterProtocolDriver возвращает NDIS_STATUS_SUCCESS, если зарегистрирован драйвер протокола. |
|
Версия, указанная в элементе MajorNdisVersion структуры ProtocolCharacteristics, недопустима . |
|
Некоторые элементы структуры в параметре ProtocolCharacteristics являются недопустимыми . |
|
Сбой NdisRegisterProtocolDriver из-за нехватки ресурсов. |
|
NdisRegisterProtocolDriver возвращает NDIS_STATUS_FAILURE, если ни одно из предыдущих значений не применяется. |
Комментарии
Драйвер протокола вызывает функцию NdisRegisterProtocolDriver из процедуры DriverEntry . Дополнительные сведения о DriverEntry см. в разделе DriverEntry для драйверов протокола NDIS.
Драйверы, вызывающие NdisRegisterProtocolDriver , должны быть подготовлены к немедленному вызову любой из своих функций ProtocolXxx .
Каждый драйвер протокола экспортирует набор функций ProtocolXxx , настроив NDIS_PROTOCOL_DRIVER_CHARACTERISTICS структуру и вызов NdisRegisterProtocolDriver. NDIS копирует эту структуру во внутреннее хранилище библиотеки NDIS.
Чтобы разрешить драйверам протокола регистрировать необязательные службы, NDIS вызывает функцию ProtocolSetOptions в контексте NdisRegisterProtocolDriver.
Драйверы протокола вызываютФункция NdisDeregisterProtocolDriver для освобождения ресурсов, которые ранее были выделены с помощью NdisRegisterProtocolDriver.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | Irql_Protocol_Driver_Function(ndis) |
См. также раздел
DriverEntry of NDIS Protocol Drivers
NDIS_PROTOCOL_DRIVER_CHARACTERISTICSОбратная связь
https://aka.ms/ContentUserFeedback.
Ожидается в ближайшее время: в течение 2024 года мы постепенно откажемся от GitHub Issues как механизма обратной связи для контента и заменим его новой системой обратной связи. Дополнительные сведения см. в разделеОтправить и просмотреть отзыв по