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 값을 반환합니다.
| 반환 코드 | 묘사 |
|---|---|
|
인스턴스 또는 볼륨이 축소되고 있습니다. 오류 코드입니다. |
|
인스턴스가 네트워크 볼륨에 연결됩니다. 오류 코드입니다. |
발언
VolumeHandle 매개 변수에서 반환된 핸들이 더 이상 필요하지 않은 경우 호출자는 FltClose호출하여 해제해야 합니다. 따라서 FltOpenVolume 대한 모든 성공적인 호출은 FltClose대한 후속 호출과 일치해야 합니다.
파일 개체 포인터가 VolumeFileObject 매개 변수에 반환되는 경우 호출자는 ObDereferenceObject호출하여 더 이상 필요하지 않은 경우 해제해야 합니다.
Instance 매개 변수로 지정된 인스턴스를 로컬 볼륨에 연결해야 합니다. 네트워크 볼륨에 연결된 경우 FltOpenVolume STATUS_INVALID_PARAMETER 반환합니다.
지정된 볼륨의 디바이스 개체에 대한 포인터를 얻으려면 FltGetDeviceObject호출합니다.
지정된 인스턴스가 연결된 볼륨에 대한 자세한 정보를 얻으려면 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 |