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이면 LengthReturned 은 볼륨 속성을 보유하는 데 필요한 버퍼의 크기(바이트)를 받습니다. 이 매개 변수가 0이 아닌 경우 적어도 sizeof(FLT_VOLUME_PROPERTIES)의 값이어야 합니다.
[out] LengthReturned
VolumeProperties에 반환된 정보의 크기(바이트)를 수신하는 호출자가 할당한 변수에 대한 포인터입니다. FltGetVolumeProperties가 STATUS_BUFFER_TOO_SMALL 반환하거나 Length가 입력 시 0이면 이 매개 변수는 볼륨 속성을 보유하는 데 필요한 버퍼의 크기(바이트)를 대신 받습니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.
반환 값
FltGetVolumeProperties 는 STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
VolumeProperties 매개 변수가 가리키는 버퍼는 FLT_VOLUME_PROPERTIES 구조체의 고정 부분을 보유할 만큼 충분히 크지만 FileSystemDriverName, FileSystemDeviceName 또는 RealDeviceName 멤버는 보유하지 않습니다. 이 경우 볼륨 정보의 고정 부분만 VolumeProperties 매개 변수가 가리키는 버퍼에 반환됩니다. LengthReturned 매개 변수는 반환된 데이터의 실제 길이(바이트)를 받습니다. 경고 코드입니다. |
|
VolumeProperties 매개 변수가 가리키는 버퍼가 볼륨 속성 정보를 저장할 만큼 크지 않습니다. LengthReturned 매개 변수는 필요한 버퍼 크기를 받습니다. 이 경우 볼륨 정보가 반환되지 않습니다. 오류 코드입니다. |
설명
FltGetVolumeProperties 는 시스템 교착 상태의 위험 없이 탑재 프로세스 중에 안전하게 쿼리할 수 있는 정보만 반환합니다. 따라서 미니필터 드라이버는 일반적으로 탑재 후 콜백 함수 또는 instanceSetupCallback (PFLT_INSTANCE_SETUP_CALLBACK) 루틴에서 이 루틴을 호출하여 지정된 볼륨에 연결할지 여부를 결정합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |