FltOpenVolume 함수(fltkernel.h)
FltOpenVolume 루틴은 지정된 미니필터 드라이버 instance 연결된 파일 시스템 볼륨에 대한 핸들 및 파일 개체 포인터를 반환합니다.
구문
NTSTATUS FLTAPI FltOpenVolume(
[in] PFLT_INSTANCE Instance,
[out] PHANDLE VolumeHandle,
[out] PFILE_OBJECT *VolumeFileObject
);
매개 변수
[in] Instance
instance 대한 불투명 instance 포인터입니다. 이 instance 로컬 볼륨에 연결해야 합니다.
[out] VolumeHandle
파일 시스템 볼륨에 대한 핸들입니다.
[out] VolumeFileObject
볼륨의 루트 디렉터리에 대한 파일 개체 포인터를 수신하는 호출자가 할당한 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL일 수 있습니다.
반환 값
FltOpenVolume은 STATUS_SUCCESS 또는 다음과 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
instance 또는 볼륨이 분해되고 있습니다. 오류 코드입니다. |
|
instance 네트워크 볼륨에 연결됩니다. 오류 코드입니다. |
설명
VolumeHandle 매개 변수에서 반환된 핸들이 더 이상 필요하지 않은 경우 호출자는 FltClose를 호출하여 해제해야 합니다. 따라서 FltOpenVolume 에 대한 모든 성공적인 호출은 FltClose에 대한 후속 호출과 일치해야 합니다.
파일 개체 포인터가 VolumeFileObject 매개 변수에 반환되는 경우 호출자는 ObDereferenceObject를 호출하여 더 이상 필요하지 않은 경우 해제해야 합니다.
Instance 매개 변수로 지정된 instance 로컬 볼륨에 연결해야 합니다. 네트워크 볼륨에 연결된 경우 FltOpenVolume 은 STATUS_INVALID_PARAMETER 반환합니다.
지정된 볼륨에 대한 디바이스 개체에 대한 포인터를 얻으려면 FltGetDeviceObject를 호출합니다.
지정된 instance 연결된 볼륨에 대한 자세한 정보를 얻으려면 FltQueryVolumeInformation을 호출합니다.
참고: 시스템 교착 상태가 발생할 수 있으므로 NULL이 아닌 최상위 IRP 값으로 이 루틴을 호출하지 마세요. 스레드 TopLevelIrp이 설정되었는지 확인하려면 IoGetTopLevelIrp을 호출합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | 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 |