NDIS_FILTER_INTERFACE 구조체(ndis.h)

NDIS_FILTER_INTERFACE 구조체는 NDIS 필터의 특성을 정의합니다.

구문

typedef struct _NDIS_FILTER_INTERFACE {
  NDIS_OBJECT_HEADER Header;
  ULONG              Flags;
  ULONG              FilterType;
  ULONG              FilterRunType;
  NET_IFINDEX        IfIndex;
  NET_LUID           NetLuid;
  NDIS_STRING        FilterClass;
  NDIS_STRING        FilterInstanceName;
} NDIS_FILTER_INTERFACE, *PNDIS_FILTER_INTERFACE;

멤버

Header

필터 인터페이스 구조에 대한 NDIS_OBJECT_HEADER 구조체입니다.

NDIS는 Header가 지정하는 구조체의 Type 멤버를 NDIS_OBJECT_TYPE_DEFAULT 설정합니다.

NdisEnumerateFilterModules에 전달된 핸들이 NDIS 6.30 이상 개체에 속하는 경우 NDIS는 Revision을 NDIS_FILTER_INTERFACE_REVISION_2, Size를 NDIS_SIZEOF_FILTER_INTERFACE_REVISION_2 설정합니다.

NdisEnumerateFilterModules에 전달된 핸들이 NDIS 6.20 이전 개체에 속하는 경우 NDIS는 Revision을 NDIS_FILTER_INTERFACE_REVISION_1, Size를 NDIS_SIZEOF_FILTER_INTERFACE_REVISION_1 설정합니다.

Flags

필터를 구현하는 NDIS 드라이버의 형식을 정의하는 비트 필드입니다. 이 멤버는 다음 드라이버 유형 중 하나로 설정해야 합니다.

NDIS_FILTER_INTERFACE_IM_FILTER

필터는 NDIS 5.1 이전 필터 중간 드라이버에서 구현됩니다.

NDIS_FILTER_INTERFACE_LW_FILTER

필터는 NDIS 6.0 이상 필터 드라이버에서 구현됩니다.

NDIS_FILTER_INTERFACE_SEND_BYPASS

필터가 현재 송신 경로에 연결되어 있지 않습니다. 이 플래그는 Header.Revision 이 NDIS_FILTER_INTERFACE_REVISION_2 보다 크거나 같은 경우에만 설정됩니다.

NDIS_FILTER_INTERFACE_RECEIVE_BYPASS

필터가 현재 수신 경로에 연결되지 않았습니다. 이 플래그는 Header.Revision 이 NDIS_FILTER_INTERFACE_REVISION_2 보다 크거나 같은 경우에만 설정됩니다.

FilterType

필터의 동작 유형입니다. 이 형식은 다음 값 중 하나여야 합니다.

NdisFilterTypeMonitoring = 1

모니터링 필터입니다.

NdisFilterTypeModifying = 2

수정 필터입니다.

FilterRunType

필터에 대한 런타임 첨부 파일 우선 순위 형식입니다. 이 형식은 다음 값 중 하나여야 합니다.

NdisFilterRunTypeMandatory = 1

필수 필터입니다. 필터가 드라이버 스택에 연결되지 않으면 NDIS는 스택의 나머지 부분을 분해합니다.

NdisFilterRunTypeOptional = 2

선택적 필터입니다. 필터가 드라이버 스택에 연결되지 않으면 NDIS는 스택의 나머지 부분을 분해하지 않습니다.

IfIndex

필터 모듈의 NDIS 인터페이스 인덱스입니다.

NetLuid

필터 모듈에 할당된 NET_LUID 값입니다. NET_LUID 인터페이스 이름(RFC 2863의 ifName)과 동일합니다.

FilterClass

필터 클래스를 지정하는 UNICODE 문자열입니다. 이 문자열은 FilterClass INF 파일 항목과 동일합니다.

FilterInstanceName

필터 instance 이름입니다.

설명

The NdisEnumerateFilterModules 함수는 드라이버 스택의 각 필터에 대해 하나의 NDIS_FILTER_INTERFACE 구조를 반환합니다. Flags 멤버는 필터를 NDIS 5.1 이전 필터 중간 드라이버 또는 NDIS 6.0 이상 NDIS 필터 모듈로 식별합니다.

경량 필터는 NdisFRestartFilter를 호출하고 NdisSetOptionalHandlersNDIS_FILTER_PARTIAL_CHARACTERISTICS 구조를 제공하여 송신 또는 수신 경로에서 동적으로 삽입하거나 제거할 수 있습니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
머리글 ndis.h(Ndis.h 포함)

추가 정보

NDIS_OBJECT_HEADER

NET_LUID

NdisEnumerateFilterModules