FltEnumerateFilters 함수(fltkernel.h)

FltEnumerateFilters 루틴은 시스템의 등록된 모든 미니필터 드라이버를 열거합니다.

구문

NTSTATUS FLTAPI FltEnumerateFilters(
  [out] PFLT_FILTER *FilterList,
  [in]  ULONG       FilterListSize,
  [out] PULONG      NumberFiltersReturned
);

매개 변수

[out] FilterList

불투명 필터 포인터 배열을 수신하는 호출자가 할당한 버퍼에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 FilterListSize 매개 변수 값이 0인 경우 NULL일 수 있습니다. FilterListSize가 입력 시 0이고 FilterListNULL인 경우 NumberFiltersReturned 매개 변수는 찾은 미니필터 드라이버 수를 받습니다.

[in] FilterListSize

FilterList 매개 변수가 가리키는 버퍼가 보유할 수 있는 불투명 필터 포인터의 수입니다. 이 매개 변수는 선택 사항이며 0일 수 있습니다. FilterListSize가 입력 시 0이고 FilterListNULL인 경우 NumberFiltersReturned 매개 변수는 찾은 미니필터 드라이버 수를 받습니다.

[out] NumberFiltersReturned

FilterList 매개 변수가 가리키는 배열에 반환된 불투명 필터 포인터 수를 수신하는 호출자 할당 변수에 대한 포인터입니다. FilterListSize 매개 변수 값이 너무 작고 FilterList가 입력에서 NULL이 아닌 경우 FltEnumerateFilters는 STATUS_BUFFER_TOO_SMALL 반환하고 NumberFiltersRe를 찾은 미니필터 드라이버 수를 가리키도록 설정합니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

반환 값

FltEnumerateFilters는 STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_BUFFER_TOO_SMALL
FilterList 매개 변수가 가리키는 버퍼가 요청된 정보를 저장할 만큼 크지 않습니다. 오류 코드입니다.

설명

필터는 언제든지 등록할 수 있으므로 FltEnumerateFilters 에 대한 두 번의 호출이 동일한 결과를 반환하도록 보장되지 않습니다.

FltEnumerateFiltersFilterList 매개 변수가 가리키는 배열에 반환된 각 불투명 필터 포인터에 런다운 참조를 추가합니다. 이러한 포인터가 더 이상 필요하지 않은 경우 호출자는 각 포인터에 대해 FltObjectDereference 를 호출하여 해제해야 합니다. 따라서 FltEnumerateFilters 에 대한 모든 성공적인 호출은 반환된 각 필터 포인터에 대해 FltObjectDereference 에 대한 후속 호출과 일치해야 합니다.

등록된 모든 미니필터 드라이버에 대한 필터 정보를 나열하려면 FltEnumerateFilterInformation을 호출합니다.

모든 볼륨에서 모든 미니필터 드라이버의 인스턴스를 열 거하려면 FltEnumerateInstances를 호출합니다.

필터 관리자에 알려진 모든 볼륨을 열거하려면 FltEnumerateVolumes를 호출합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
IRQL <= APC_LEVEL

추가 정보

FltEnumerateFilterInformation

FltEnumerateInstances

FltEnumerateVolumes

FltGetFilterInformation

FltObjectDereference