FltOpenVolume 함수(fltkernel.h)

FltOpenVolume 루틴은 지정된 미니 필터 드라이버 인스턴스가 연결된 파일 시스템 볼륨에 대한 핸들 및 파일 개체 포인터를 반환합니다.

구문

NTSTATUS FLTAPI FltOpenVolume(
  [in]  PFLT_INSTANCE Instance,
  [out] PHANDLE       VolumeHandle,
  [out] PFILE_OBJECT  *VolumeFileObject
);

매개 변수

[in] Instance

인스턴스에 대한 불투명 인스턴스 포인터입니다. 이 인스턴스는 로컬 볼륨에 연결되어야 합니다.

[out] VolumeHandle

파일 시스템 볼륨에 대한 핸들입니다.

[out] VolumeFileObject

볼륨의 루트 디렉터리에 대한 파일 개체 포인터를 수신하는 호출자 할당 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.

반환 값

FltOpenVolume은 STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.

반환 코드 설명
STATUS_FLT_DELETING_OBJECT
인스턴스 또는 볼륨이 분해되고 있습니다. 오류 코드입니다.
STATUS_INVALID_PARAMETER
인스턴스가 네트워크 볼륨에 연결됩니다. 오류 코드입니다.

설명

VolumeHandle 매개 변수에서 반환된 핸들이 더 이상 필요하지 않은 경우 호출자는 FltClose를 호출하여 핸들을 해제해야 합니다. 따라서 FltOpenVolume에 대한 모든 성공적인 호출은 FltClose에 대한 후속 호출과 일치해야 합니다.

파일 개체 포인터가 VolumeFileObject 매개 변수에 반환되는 경우 호출자는 ObDereferenceObject를 호출하여 더 이상 필요하지 않을 때 이를 해제해야 합니다.

인스턴스 매개 변수로 지정된 인스턴스 는 로컬 볼륨에 연결되어야 합니다. 네트워크 볼륨에 연결된 경우 FltOpenVolume 은 STATUS_INVALID_PARAMETER 반환합니다.

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

지정된 인스턴스가 연결된 볼륨에 대한 자세한 정보를 얻으려면 FltQueryVolumeInformation을 호출합니다.

요구 사항

   
지원되는 최소 클라이언트 SP4, Windows XP SP3, Windows Server 2003 SP1 이상 버전의 Windows 운영 체제용 Microsoft Windows 2000 업데이트 롤업 1에서 사용할 수 있습니다.
대상 플랫폼 유니버설
헤더 fltkernel.h(Fltkernel.h 포함)
라이브러리 FltMgr.lib
DLL Fltmgr.sys
IRQL PASSIVE_LEVEL

추가 정보

FltClose

FltGetDeviceObject

FltGetFilterFromInstance

FltObjectDereference

FltQueryVolumeInformation

ObDereferenceObject