Примечание.
Для доступа к этой странице требуется авторизация. Вы можете попробовать войти или изменить каталоги.
Для доступа к этой странице требуется авторизация. Вы можете попробовать изменить каталоги.
Драйвер фильтра вызывает функцию 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 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см. в DriverEntry драйверов фильтров NDIS.
Драйверы, вызывающие NdisFRegisterFilterDriver, должны быть подготовлены к немедленному вызову любой из своих функций FilterXxx. Дополнительные сведения см. в инициализации драйвера фильтра.
Каждый драйвер фильтра экспортирует набор функций FilterXxx путем настройки NDIS_FILTER_DRIVER_CHARACTERISTICS структура и вызов NdisFRegisterFilterDriver. NDIS копирует эту структуру во внутреннее хранилище библиотеки NDIS.
Чтобы разрешить драйверам фильтров регистрировать необязательные службы, NDIS вызывает функцию FilterSetOptions в контексте NdisFRegisterFilterDriver.
После регистрации драйвер фильтра может позже вызвать функцию NdisSetOptionalHandlers, чтобы изменить точки входа для необязательных функций FilterXxx.
Вызов драйверов фильтров функцию NdisFDeregisterFilterDriver, чтобы освободить ресурсы, которые ранее были выделены с помощью NdisFRegisterFilterDriver.
Требования
| Требование | Ценность |
|---|---|
| минимальные поддерживаемые клиентские | Поддерживается в NDIS 6.0 и более поздних версиях. |
| целевая платформа | Настольный |
| заголовка | ndis.h (include Ndis.h) |
| библиотеки | Ndis.lib |
| IRQL | PASSIVE_LEVEL |
| правил соответствия DDI | Irql_Filter_Driver_Function(ndis), NdisFDeregisterFilterDriver(ndis) |
См. также
DriverEntry драйверов фильтров NDIS
инициализации драйвера фильтра
NDIS_FILTER_DRIVER_CHARACTERISTICS