Функция NdisFRegisterFilterDriver (ndis.h)
Драйвер фильтра вызываетФункция NdisFRegisterFilterDriver для регистрации функций FilterXxx с помощью NDIS.
Синтаксис
NDIS_STATUS NdisFRegisterFilterDriver(
[in] PDRIVER_OBJECT DriverObject,
[in] NDIS_HANDLE FilterDriverContext,
PNDIS_FILTER_DRIVER_CHARACTERISTICS FilterDriverCharacteristics,
[out] PNDIS_HANDLE NdisFilterDriverHandle
);
Параметры
[in] DriverObject
Указатель на непрозрачный объект драйвера, который драйвер фильтра получил в своей подпрограмме DriverEntry в параметре Argument1 . (Дополнительные сведения см. в разделе DriverEntry of NDIS Filter Drivers.)
[in] FilterDriverContext
Дескриптор выделенной драйвером контекстной области, в которой драйвер хранит сведения о состоянии и конфигурации.
FilterDriverCharacteristics
Указатель на NDIS_FILTER_DRIVER_CHARACTERISTICS структуру, созданную драйвером фильтра и инициализируемыми точками входа функции FilterXxx .
[out] NdisFilterDriverHandle
Указатель на переменную дескриптора. Если вызов NdisFRegisterFilterDriver завершается успешно, NDIS заполняет эту переменную дескриптором драйвера фильтра. Драйвер фильтра сохраняет этот дескриптор, а затем передает его в функции NDIS, такие как NdisFDeregisterFilterDriver, которым требуется дескриптор драйвера фильтра в качестве входного параметра.
Возвращаемое значение
NdisFRegisterFilterDriver возвращает одно из следующих значений состояния:Код возврата | Описание |
---|---|
|
NdisFRegisterFilterDriver возвращает NDIS_STATUS_SUCCESS, если он зарегистрировал драйвер фильтра. |
|
Недопустимая версия, указанная в элементе MajorNdisVersion структуры FilterCharacteristics . |
|
По крайней мере один из элементов, указанных в NDIS_FILTER_DRIVER_CHARACTERISTICS является недопустимым. |
|
По крайней мере один из входных параметров, переданных драйвером Недопустимый NdisFRegisterFilterDriver . |
|
Сбой NdisFRegisterFilterDriver из-за нехватки ресурсов. |
|
NdisFRegisterFilterDriver возвращает NDIS_STATUS_FAILURE, если ни одно из предыдущих значений не применяется. |
Комментарии
Драйвер фильтра вызываетФункция NdisFRegisterFilterDriver из подпрограммы DriverEntry. Дополнительные сведения о DriverEntry см. в разделе DriverEntry of NDIS Filter Drivers.
Драйверы, вызывающие NdisFRegisterFilterDriver, должны быть подготовлены к немедленному вызову любой из своих функций FilterXxx . Дополнительные сведения см. в разделе Инициализация драйвера фильтра.
Каждый драйвер фильтра экспортирует набор функций FilterXxx, настроив структура NDIS_FILTER_DRIVER_CHARACTERISTICS и вызовы NdisFRegisterFilterDriver. NDIS копирует эту структуру во внутреннее хранилище библиотеки NDIS.
Чтобы разрешить драйверам фильтров регистрировать необязательные службы, NDIS вызывает функцию FilterSetOptions в контексте NdisFRegisterFilterDriver.
После регистрации драйвер фильтра может позже вызвать функцию NdisSetOptionalHandlers , чтобы изменить точки входа для необязательных функций FilterXxx .
Драйверы фильтров вызываютФункция NdisFDeregisterFilterDriver для освобождения ресурсов, которые ранее были выделены с помощью NdisFRegisterFilterDriver.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Поддерживается в NDIS 6.0 и более поздних версиях. |
Целевая платформа | Персональный компьютер |
Верхняя часть | ndis.h (включая Ndis.h) |
Библиотека | Ndis.lib |
IRQL | PASSIVE_LEVEL |
Правила соответствия DDI | Irql_Filter_Driver_Function(ndis), NdisFDeregisterFilterDriver(ndis) |
См. также раздел
DriverEntry of NDIS Filter Drivers
Инициализация драйвера фильтра
NDIS_FILTER_DRIVER_CHARACTERISTICS