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