다음을 통해 공유


FltGetVolumeFromName 함수(fltkernel.h)

FltGetVolumeFromName 루틴은 이름이 VolumeName 매개 변수 값과 일치하는 볼륨에 대한 불투명 포인터를 반환합니다.

구문

NTSTATUS FLTAPI FltGetVolumeFromName(
  [in]  PFLT_FILTER      Filter,
  [in]  PCUNICODE_STRING VolumeName,
  [out] PFLT_VOLUME      *RetVolume
);

매개 변수

[in] Filter

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

[in] VolumeName

볼륨 이름을 포함하는 UNICODE_STRING 구조체에 대한 포인터입니다(예: "\Device\HarddiskVolume1", "\DosDevices\D:", "\?? \D:", 또는 "D:"). 이 매개 변수는 필수이며 NULL일 수 없습니다.

[out] RetVolume

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

반환 값

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

반환 코드 설명
STATUS_ACCESS_DENIED 호출자에게 볼륨에 대한 FILE_READ_DATA 액세스 권한이 없습니다. 오류 코드입니다.
STATUS_FLT_DELETING_OBJECT 볼륨이 축소되고 있습니다. 오류 코드입니다.
STATUS_INVALID_PARAMETER VolumeName 매개 변수에 잘못된 값이 지정되었습니다. 오류 코드입니다.
STATUS_FLT_VOLUME_NOT_FOUND 일치하는 볼륨을 찾을 수 없습니다. 오류 코드입니다.

설명

FltGetVolumeFromName 은 이름이 VolumeName과 일치하는 볼륨에 대한 필터 관리자의 전역 볼륨 목록을 검색합니다. 호출자는 볼륨에 대한 FILE_READ_DATA 액세스 권한이 있어야 합니다. 볼륨 구조를 찾으려면 FltGetVolumeFromName 에서 먼저 볼륨을 열어야 합니다.

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

지정된 볼륨의 볼륨 이름을 얻으려면 FltGetVolumeName을 호출합니다.

지정된 볼륨의 볼륨 GUID 이름을 얻으려면 FltGetVolumeGuidName을 호출합니다.

요구 사항

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

추가 정보

FltGetFilterFromName

FltGetVolumeGuidName

FltGetVolumeInstanceFromName

FltGetVolumeName

FltObjectDereference

UNICODE_STRING