FltGetVolumeInformation 함수(fltkernel.h)
FltGetVolumeInformation 루틴은 지정된 볼륨에 대한 정보를 제공합니다.
구문
NTSTATUS FLTAPI FltGetVolumeInformation(
[in] PFLT_VOLUME Volume,
[in] FILTER_VOLUME_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
매개 변수
[in] Volume
볼륨에 대한 불투명 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
[in] InformationClass
요청된 정보 유형입니다. 이 매개 변수는 필수이며 다음 값 중 하나여야 합니다.
값 | 의미 |
---|---|
FilterVolumeBasicInformation | Buffer 매개 변수는 볼륨에 대한 FILTER_VOLUME_BASIC_INFORMATION 구조를 받습니다. |
FilterVolumeStandardInformation | Buffer 매개 변수는 볼륨에 대한 FILTER_VOLUME_STANDARD_INFORMATION 구조를 받습니다. 이 구조는 Windows Vista부터 사용할 수 있습니다. |
[out] Buffer
요청된 정보를 수신하는 호출자가 할당한 버퍼에 대한 포인터입니다. 버퍼에 반환된 정보의 형식은 InformationClass 매개 변수에 의해 정의됩니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
[in] BufferSize
Buffer 매개 변수가 가리키는 버퍼의 크기(바이트)입니다. 호출자는 지정된 InformationClass 값에 따라 이 매개 변수를 설정해야 합니다. 이 매개 변수는 필수입니다.
[out] BytesReturned
버퍼가 가리키는 버퍼에 반환된 바이트 수를 수신하는 호출자 할당 변수에 대한 포인터입니다. BufferSize의 입력 값이 너무 작으면 FltGetVolumeInformation은 STATUS_BUFFER_TOO_SMALL 반환하고 이 변수를 요청된 정보를 저장하는 데 필요한 바이트 수로 설정합니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
반환 값
FltGetVolumeInformation은 다음 중 하나와 같은 STATUS_SUCCESS 또는 적절한 NTSTATUS 상태 코드를 반환합니다.
반환 코드 | 설명 |
---|---|
|
InformationClass 매개 변수에 잘못된 값이 지정되었습니다. 예를 들어 Windows Vista 이전의 운영 체제에서 FilterVolumeStandardInformation 이 지정된 경우 루틴은 STATUS_INVALID_PARAMETER 반환합니다. 오류 코드입니다. |
|
Buffer 매개 변수가 가리키는 버 퍼 가 요청된 정보를 저장할 만큼 크지 않습니다. 오류 코드입니다. |
설명
FltEnumerateVolumes 루틴에서 반환하는 것과 같은 불투명 볼륨 포인터가 있는 경우 FltGetVolumeInformation 루틴은 Volume 매개 변수를 통해 전달된 불투명 볼륨 포인터가 가리키는 볼륨에 대한 정보를 제공합니다. 호출자는 결국 FltObjectDereference 루틴을 호출하여 불투명 볼륨 포인터를 해제해야 합니다.
FltGetVolumeInformation 루틴은 단일 볼륨에 대한 정보를 반환합니다. 그러나 불투명 볼륨 포인터 목록을 지정하면 루틴을 반복적으로 사용하여 해당 볼륨 정보 구조 목록을 만들 수 있습니다. 이러한 목록에서 두 개 이상의 구조체에 동일한 볼륨 이름을 포함할 수 있습니다. 자세한 내용은 중복 볼륨 이름을 사용하여 볼륨 열거형 이해를 참조하세요.
필터 관리자에 알려진 모든 볼륨에 대한 볼륨 정보를 나열하려면 FltEnumerateVolumeInformation을 호출합니다.
다음 목록에는 사용 중일 수 있는 관련 정보가 포함되어 있습니다.
- 시스템에 등록된 모든 미니필터 드라이버를 열거하려면 FltEnumerateFilters 루틴을 호출합니다 .
- 지정된 볼륨에 연결된 미니필터 드라이버 인스턴스에 대한 정보를 얻으려면 FltEnumerateInstanceInformationByVolume 루틴을 호출합니다.
- 지정된 미니필터 드라이버 또는 볼륨에 대한 미니필터 드라이버 인스턴스를 열 거하려면 FltEnumerateInstances 루틴을 호출합니다.
- 시스템의 모든 볼륨을 열거하려면 FltEnumerateVolumes 루틴을 호출합니다 .
- 지정된 VDO(볼륨 디바이스 개체)로 표시되는 볼륨에 대한 불투명 포인터를 가져오려면 FltGetVolumeFromDeviceObject 루틴을 호출합니다.
- 지정된 파일 스트림이 있는 볼륨에 대한 불투명 포인터를 가져오려면 FltGetVolumeFromFileObject 루틴을 호출합니다.
- 지정된 미니필터 드라이버 instance 연결된 볼륨에 대한 불투명 포인터를 가져오려면 FltGetVolumeFromInstance 루틴을 호출합니다.
- 이름이 지정된 볼륨 이름과 일치하는 볼륨에 대한 불투명 포인터를 가져오려면 FltGetVolumeFromName 루틴을 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 이 루틴은 Windows Vista부터 사용할 수 있습니다. |
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(FltKernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |
추가 정보
FILTER_VOLUME_BASIC_INFORMATION
FILTER_VOLUME_STANDARD_INFORMATION