다음을 통해 공유


FltGetVolumeFromDeviceObject 함수(fltkernel.h)

FltGetVolumeFromDeviceObject 루틴은 VDO(볼륨 디바이스 개체)로 표시되는 볼륨에 대한 불투명 포인터를 반환합니다.

구문

NTSTATUS FLTAPI FltGetVolumeFromDeviceObject(
  [in]  PFLT_FILTER    Filter,
  [in]  PDEVICE_OBJECT DeviceObject,
  [out] PFLT_VOLUME    *RetVolume
);

매개 변수

[in] Filter

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

[in] DeviceObject

볼륨 디바이스 개체에 대한 포인터입니다.

[out] RetVolume

볼륨에 대한 불투명 포인터를 수신하는 호출자가 할당한 변수에 대한 포인터입니다. 이 매개 변수는 필수이며 NULL일 수 없습니다.

반환 값

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

반환 코드 설명
STATUS_FLT_DELETING_OBJECT 볼륨이 축소되고 있습니다. 오류 코드입니다.
STATUS_INVALID_PARAMETER DeviceObject 매개 변수에 지정된 볼륨 디바이스 개체가 유효한 볼륨 디바이스 개체 포인터가 아니거나 일치하는 볼륨을 찾을 수 없습니다. 오류 코드입니다.

설명

DeviceObject 매개 변수는 필터 또는 파일 시스템 볼륨 디바이스 개체(VDO)에 대한 포인터일 수 있습니다. 스토리지 디바이스 개체를 가리키는 경우 FltGetVolumeFromDeviceObject 는 STATUS_INVALID_PARAMETER 반환합니다.

볼륨 디바이스 개체에 대한 자세한 내용은 파일 시스템 스택을 참조하세요.

FltGetVolumeFromDeviceObjectRetVolume 매개 변수에 반환된 불투명 볼륨 포인터에 대한 런다운 참조를 추가합니다. 이 포인터가 더 이상 필요하지 않은 경우 호출자는 FltObjectDereference를 호출하여 해제해야 합니다. 따라서 FltGetVolumeFromDeviceObject 에 대한 모든 성공적인 호출은 FltObjectDereference에 대한 후속 호출과 일치해야 합니다.

지정된 볼륨의 디바이스 개체에 대한 포인터를 얻으려면 FltGetDeviceObject를 호출합니다.

요구 사항

요구 사항
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
DLL Fltmgr.sys
IRQL <= APC_LEVEL

추가 정보

FltGetDeviceObject

FltGetDiskDeviceObject

FltObjectDereference