다음을 통해 공유


FltGetVolumeProperties 함수(fltkernel.h)

FltGetVolumeProperties 루틴은 지정된 볼륨에 대한 볼륨 속성 정보를 반환합니다.

통사론

NTSTATUS FLTAPI FltGetVolumeProperties(
  [in]  PFLT_VOLUME            Volume,
  [out] PFLT_VOLUME_PROPERTIES VolumeProperties,
        ULONG                  VolumePropertiesLength,
  [out] PULONG                 LengthReturned
);

매개 변수

[in] Volume

볼륨에 대한 불투명 포인터입니다. 이 매개 변수는 필수이며 NULL 수 없습니다.

[out] VolumeProperties

요청된 볼륨 속성 정보를 수신하는 호출자 할당 버퍼에 대한 포인터입니다. 입력에서 Length 0이면 이 매개 변수는 무시됩니다. 그렇지 않으면 이 매개 변수가 필요하며 NULL 수 없습니다.

VolumePropertiesLength

VolumeProperties 매개 변수가 가리키는 버퍼의 크기(바이트)입니다. 이 매개 변수는 선택 사항이며 0일 수 있습니다. 0이면 lengthRe가 볼륨 속성을 보유하는 데 필요한 버퍼의 크기(바이트)를 받습니다. 이 매개 변수가 0이 아닌 경우 적어도 sizeof(FLT_VOLUME_PROPERTIES)값이어야 합니다.

[out] LengthReturned

VolumeProperties반환된 정보의 크기(바이트)를 수신하는 호출자 할당 변수에 대한 포인터입니다. FltGetVolumeProperties STATUS_BUFFER_TOO_SMALL 반환하거나 입력 시 Length 0이면 이 매개 변수는 볼륨 속성을 보유하는 데 필요한 버퍼의 크기(바이트)를 대신 받습니다. 이 매개 변수는 필수이며 NULL 수 없습니다.

반환 값

FltGetVolumeProperties STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 묘사
STATUS_BUFFER_OVERFLOW
VolumeProperties 매개 변수가 가리키는 버퍼는 FLT_VOLUME_PROPERTIES 구조체의 고정된 부분을 보유할 수 있을 만큼 크지만 FileSystemDriverName, FileSystemDeviceName또는 RealDeviceName 멤버를 보유할 수 없습니다. 이 경우 볼륨 정보의 고정 부분만 VolumeProperties 매개 변수가 가리키는 버퍼에 반환됩니다. LengthReturned 매개 변수는 반환된 데이터의 실제 길이(바이트)를 받습니다. 경고 코드입니다.
STATUS_BUFFER_TOO_SMALL
VolumeProperties 매개 변수가 가리키는 버퍼는 볼륨 속성 정보를 저장할 만큼 크지 않습니다. LengthReturned 매개 변수는 필요한 버퍼 크기를 받습니다. 이 경우 볼륨 정보가 반환되지 않습니다. 오류 코드입니다.

발언

FltGetVolumeProperties 시스템 교착 상태의 위험 없이 탑재 프로세스 중에 안전하게 쿼리할 수 있는 정보만 반환합니다. 따라서 미니 필터 드라이버는 일반적으로 탑재 후 콜백 함수 또는 InstanceSetupCallback(PFLT_INSTANCE_SETUP_CALLBACK) 루틴에서 이 루틴을 호출하여 지정된 볼륨에 연결할지 여부를 결정합니다.

요구 사항

요구
대상 플랫폼 보편적
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

참고 항목

FLT_VOLUME_PROPERTIES

PFLT_INSTANCE_SETUP_CALLBACK