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 반환합니다.
볼륨 디바이스 개체에 대한 자세한 내용은 파일 시스템 스택을 참조하세요.
FltGetVolumeFromDeviceObject 는 RetVolume 매개 변수에 반환된 불투명 볼륨 포인터에 대한 런다운 참조를 추가합니다. 이 포인터가 더 이상 필요하지 않은 경우 호출자는 FltObjectDereference를 호출하여 해제해야 합니다. 따라서 FltGetVolumeFromDeviceObject 에 대한 모든 성공적인 호출은 FltObjectDereference에 대한 후속 호출과 일치해야 합니다.
지정된 볼륨의 디바이스 개체에 대한 포인터를 얻으려면 FltGetDeviceObject를 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 유니버설 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
DLL | Fltmgr.sys |
IRQL | <= APC_LEVEL |