NdisEnumerateFilterModules 함수(ndis.h)

NdisEnumerateFilterModules 함수는 모든 필터 모듈을 열거하고 필터 스택에서 중간 드라이버 인스턴스를 필터링합니다.

구문

NDIS_STATUS NdisEnumerateFilterModules(
  [in]      NDIS_HANDLE NdisHandle,
  [in]      PVOID       InterfaceBuffer,
  [in]      ULONG       InterfaceBufferLength,
  [in, out] PULONG      BytesNeeded,
  [in, out] PULONG      BytesWritten
);

매개 변수

[in] NdisHandle

호출자 초기화 중에 가져온 NDIS 핸들입니다. 이 핸들에 대한 자세한 내용은 풀 핸들 가져오기를 참조하세요.

핸들이 NDIS 미니포트 어댑터 핸들인 경우 NDIS는 최상위 필터 모듈부터 시작하여 현재 미니포트 어댑터에 연결된 모든 인터페이스 모듈에 대한 정보를 반환합니다.

핸들이 NDIS 바인딩 핸들인 경우 NDIS는 최상위 필터 모듈부터 시작하여 현재 기본 미니포트 어댑터에 연결된 모든 필터 모듈에 대한 정보를 반환합니다.

핸들이 NDIS 필터 모듈 핸들인 경우 NDIS는 최상위 필터 모듈부터 시작하여 지정된 필터 모듈이 연결된 기본 미니포트 어댑터에 현재 연결된 모든 필터 모듈에 대한 정보를 반환합니다.

[in] InterfaceBuffer

최상위 필터부터 시작하여 NDIS가 필터 스택의 모든 필터 모듈에 대한 정보를 반환하는 호출자 할당 메모리 블록에 대한 포인터입니다. 이 버퍼에는 스택의 각 필터 모듈에 대해 하나씩 0개 이상의 NDIS_FILTER_INTERFACE 구조가 뒤따르는 NDIS_ENUM_FILTERS 구조체가 포함됩니다.

[in] InterfaceBufferLength

InterfaceBuffer 멤버에서 호출자가 제공한 메모리 블록의 길이(바이트)입니다.

[in, out] BytesNeeded

NDIS가 필터 스택의 모든 필터에 대한 인터페이스 정보를 성공적으로 반환하는 데 필요한 총 바이트 수를 쓰는 호출자 제공 변수에 대한 포인터입니다.

[in, out] BytesWritten

NDIS가 InterfaceBuffer의 메모리에 쓴 총 바이트를 쓰는 호출자 제공 변수에 대한 포인터입니다.

반환 값

NdisEnumerateFilterModules는 다음 상태 값 중 하나를 반환합니다.

반환 코드 설명
NDIS_STATUS_SUCCESS
작업이 성공적으로 완료되었습니다.
NDIS_STATUS_INVALID_PARAMETER
NdisHandle 매개 변수가 유효한 NDIS 미니포트 어댑터, 프로토콜 바인딩 또는 필터 모듈 핸들이 아니므로 NdisEnumerateFilterModules가 실패했습니다.
NDIS_STATUS_BUFFER_TOO_SHORT
InterfaceBuffer 매개 변수에 제공된 버퍼가 너무 짧아 NDIS에서 모든 정보를 반환할 수 없어 NdisEnumerateFilterModules가 실패했습니다. InterfaceBuffer에서 부분 결과를 작성한 경우 BytesWritten 매개 변수의 값에는 부분 결과의 길이가 포함됩니다.

설명

NDIS 미니포트 드라이버, 프로토콜 드라이버 또는 필터 드라이버는 NdisEnumerateFilterModules 함수를 호출하여 필터 스택의 모든 필터를 열거할 수 있습니다.

NdisEnumerateFilterModules 는 필터 모듈 목록을 반환하고 드라이버 스택의 위쪽에서 아래쪽으로 중간 드라이버를 필터링합니다. 예를 들어 필터 모듈(F1 및 F2)이 미니포트 어댑터(M1)에 연결되어 있고 F2가 F1 이상인 경우 NdisEnumerateFilterModules 는 F2, F1 순서로 목록을 반환합니다. M1에 바인딩된 필터 중간 드라이버(M2)도 있는 경우 M2가 F2보다 높고 다른 필터(F3)가 M2에 연결된 경우 NdisEnumerateFilterModules 는 필터 목록을 F3, M2, F2, F1 순서로 반환합니다.

요구 사항

요구 사항
지원되는 최소 클라이언트 NDIS 6.0 이상에서 지원됩니다.
대상 플랫폼 데스크톱
머리글 ndis.h(Ndis.h 포함)
라이브러리 Ndis.lib
IRQL PASSIVE_LEVEL
DDI 규정 준수 규칙 Irql_Filter_Driver_Function(ndis)

추가 정보

NDIS_ENUM_FILTERS

NDIS_FILTER_INTERFACE