Функция 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 драйверов фильтров NDIS.)
[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 драйверов фильтров NDIS.
Драйверы, вызывающие 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 драйверов фильтров NDIS
Инициализация драйвера фильтра
NDIS_FILTER_DRIVER_CHARACTERISTICS