FltEnumerateFilters 함수(fltkernel.h)
FltEnumerateFilters 루틴은 시스템의 등록된 모든 미니 필터 드라이버를 열거합니다.
통사론
NTSTATUS FLTAPI FltEnumerateFilters(
[out] PFLT_FILTER *FilterList,
[in] ULONG FilterListSize,
[out] PULONG NumberFiltersReturned
);
매개 변수
[out] FilterList
불투명 필터 포인터 배열을 수신하는 호출자 할당 버퍼에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 FilterListSize 매개 변수 값이 0인 경우 NULL 수 있습니다. FilterListSize 입력 시 0이고 FilterList NULL 경우 NumberFiltersRe가 매개 변수는 찾은 미니 필터 드라이버 수를 받습니다.
[in] FilterListSize
FilterList 매개 변수가 가리키는 버퍼가 보유할 수 있는 불투명 필터 포인터의 수입니다. 이 매개 변수는 선택 사항이며 0일 수 있습니다. FilterListSize 입력 시 0이고 FilterList NULL 경우 NumberFiltersRe가 매개 변수는 찾은 미니 필터 드라이버 수를 받습니다.
[out] NumberFiltersReturned
FilterList가 가리키는 배열에서 반환된 불투명 필터 포인터 수를 수신하는 호출자 할당 변수에 대한 포인터입니다 FilterListSize 매개 변수 값이 너무 작고 FilterList 입력에서NULL이 아닌 경우 FltEnumerateFilters는 STATUS_BUFFER_TOO_SMALL 반환하고 NumberFiltersRe가 찾은 미니 필터 드라이버 수를 가리키도록 설정합니다. 이 매개 변수는 필수이며 NULL 수 없습니다.
반환 값
FltEnumerateFilters STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 묘사 |
---|---|
|
FilterList 매개 변수가 가리키는 버퍼는 요청된 정보를 저장할 만큼 크지 않습니다. 오류 코드입니다. |
발언
필터는 언제든지 등록할 수 있으므로 FltEnumerateFilters 두 번의 호출은 동일한 결과를 반환하지 않습니다.
FltEnumerateFiltersFilterList가 매개 변수를 가리키는 배열에 반환된 각 불투명 필터 포인터에 런다운 참조를 추가 합니다. 이러한 포인터가 더 이상 필요하지 않은 경우 호출자는 각각에 대해 FltObjectDereference 호출하여 해제해야 합니다. 따라서 FltEnumerateFilters 대한 모든 성공적인 호출은 반환된 각 필터 포인터에 대해 FltObjectDereference 대한 후속 호출과 일치해야 합니다.
등록된 모든 미니 필터 드라이버에 대한 필터 정보를 나열하려면 FltEnumerateFilterInformation호출합니다.
모든 볼륨에서 모든 미니 필터 드라이버의 인스턴스를 열거하려면 FltEnumerateInstances호출합니다.
필터 관리자에 알려진 모든 볼륨을 열거하려면 FltEnumerateVolumes호출합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
IRQL | <= APC_LEVEL |