FltEnumerateVolumeInformation 함수(fltkernel.h)
FltEnumerateVolumeInformation 루틴은 필터 관리자에게 알려진 볼륨에 대한 정보를 제공합니다.
구문
NTSTATUS FLTAPI FltEnumerateVolumeInformation(
[in] PFLT_FILTER Filter,
[in] ULONG Index,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
매개 변수
[in] Filter
미니필터 드라이버에 대한 불투명 필터 포인터입니다. 이 포인터는 미니필터 드라이버를 고유하게 식별하고 미니필터 드라이버가 로드되는 한 일정하게 유지됩니다.
[in] Index
정보가 요청되는 볼륨의 인덱스(0부터 시작)입니다.
[in] InformationClass
요청된 정보의 유형입니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.
값 | 의미 |
---|---|
FilterVolumeBasicInformation | Buffer 매개 변수는 볼륨에 대한 FILTER_VOLUME_BASIC_INFORMATION 구조를 받습니다. |
FilterVolumeStandardInformation | Buffer 매개 변수는 볼륨에 대한 FILTER_VOLUME_STANDARD_INFORMATION 구조를 받습니다. 이 구조는 Windows Vista부터 사용할 수 있습니다. |
[out] Buffer
요청된 정보를 수신하는 호출자가 할당한 버퍼에 대한 포인터입니다. 버퍼에 반환되는 정보의 형식은 InformationClass 매개 변수에 의해 정의됩니다.
[in] BufferSize
Buffer 매개 변수가 가리키는 버퍼의 크기(바이트)입니다. 호출자는 지정된 InformationClass 값에 따라 이 매개 변수를 설정해야 합니다.
[out] BytesReturned
버퍼가 가리키는 버퍼에 반환된 바이트 수를 수신하는 호출자 할당 변수에 대한 포인터입니다. BufferSize의 입력 값이 너무 작으면 FltEnumerateVolumeInformation은 STATUS_BUFFER_TOO_SMALL 반환하고 이 변수를 요청된 정보를 저장하는 데 필요한 바이트 수로 설정합니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
반환 값
FltEnumerateVolumeInformation 은 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
Buffer 매개 변수가 가리키는 버퍼가 요청된 정보를 저장할 만큼 크지 않습니다. 오류 코드입니다. |
|
일치하는 볼륨이 발견되었지만 철거되고 있습니다. 오류 코드입니다. |
|
InformationClass 매개 변수에 잘못된 값이 지정되었습니다. 예를 들어 Windows Vista 이전의 운영 체제에서 FilterVolumeStandardInformation 이 지정된 경우 루틴은 STATUS_INVALID_PARAMETER 반환합니다. 오류 코드입니다. |
|
볼륨의 전역 목록에 더 이상 항목이 없습니다. 경고 코드입니다. |
설명
Index 매개 변수를 사용하면 FltEnumerateVolumeInformation 루틴이 필터 관리자의 전역 볼륨 목록에서 볼륨 중에서 선택할 수 있습니다. Index 매개 변수 값이 동일한 FltEnumerateVolumeInformation에 대한 두 번의 호출은 볼륨을 언제든지 탑재하거나 분리할 수 있으므로 반드시 동일한 결과를 반환하지는 않습니다.
FltEnumerateVolumeInformation을 사용하여 볼륨 정보 구조 목록을 만드는 경우 이러한 구조체 중 두 개 이상이 동일한 볼륨 이름을 포함할 수 있습니다. 자세한 내용은 중복 볼륨 이름을 사용하여 볼륨 열거형 이해를 참조하세요.
등록된 모든 미니필터 드라이버를 열거하려면 FltEnumerateFilters를 호출합니다.
필터 관리자에 알려진 모든 볼륨을 열거하려면 FltEnumerateVolumes를 호출합니다.
등록된 모든 미니필터 드라이버에 대한 필터 정보를 나열하려면 FltEnumerateFilterInformation을 호출합니다.
지정된 미니필터 드라이버에 대한 필터 정보를 얻으려면 FltGetFilterInformation을 호출합니다.
지정된 미니필터 드라이버의 모든 인스턴스를 열거하려면 FltEnumerateInstanceInformationByFilter를 호출합니다.
지정된 볼륨의 모든 미니필터 드라이버 인스턴스를 열 거하려면 FltEnumerateInstanceInformationByVolume을 호출합니다.
모든 볼륨에서 모든 미니필터 드라이버의 인스턴스를 열 거하려면 FltEnumerateInstances를 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(FltKernel.h 포함) |
라이브러리 | FltMgr.lib |
IRQL | <= APC_LEVEL |
추가 정보
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION
FltEnumerateInstanceInformationByFilter