FltEnumerateInstanceInformationByVolume 함수(fltkernel.h)
FltEnumerateInstanceInformationByVolume 루틴은 지정된 볼륨에 연결된 미니 필터 드라이버 인스턴스 및 레거시 필터 드라이버(Windows Vista에만 해당)에 대한 정보를 제공합니다.
통사론
NTSTATUS FLTAPI FltEnumerateInstanceInformationByVolume(
[in] PFLT_VOLUME Volume,
[in] ULONG Index,
[in] INSTANCE_INFORMATION_CLASS InformationClass,
[out] PVOID Buffer,
[in] ULONG BufferSize,
[out] PULONG BytesReturned
);
매개 변수
[in] Volume
볼륨에 대한 불투명 포인터입니다.
[in] Index
정보가 요청된 미니 필터 드라이버 인스턴스 또는 레거시 필터 드라이버의 인덱스(0부터 시작하는 인덱스)입니다.
[in] InformationClass
미니 필터 드라이버 인스턴스 또는 레거시 필터 드라이버에 대해 반환할 정보 유형입니다. 이 매개 변수는 다음 값 중 하나를 가질 수 있습니다.
값 | 의미 |
---|---|
InstanceBasicInformation | Buffer 매개 변수가 가리키는 버퍼는 미니 필터 인스턴스에 대한 INSTANCE_BASIC_INFORMATION 구조를 받습니다. 레거시 필터 드라이버는 무시됩니다. |
InstanceFullInformation | Buffer 매개 변수가 가리키는 버퍼는 미니 필터 인스턴스에 대한 INSTANCE_FULL_INFORMATION 구조를 받습니다. 레거시 필터 드라이버는 무시됩니다. |
InstancePartialInformation | Buffer 매개 변수가 가리키는 버퍼는 미니 필터 인스턴스에 대한 INSTANCE_PARTIAL_INFORMATION 구조를 받습니다. 레거시 필터 드라이버는 무시됩니다. |
InstanceAggregateStandardInformation | Buffer 매개 변수가 가리키는 버퍼는 미니 필터 드라이버 인스턴스 또는 레거시 필터 드라이버에 대한 INSTANCE_AGGREGATE_STANDARD_INFORMATION 구조를 받습니다. 이 구조는 Windows Vista부터 사용할 수 있습니다. |
[out] Buffer
요청된 정보를 수신하는 호출자 할당 버퍼에 대한 포인터입니다. 버퍼에 반환되는 정보의 형식은 InformationClass 매개 변수에 의해 정의됩니다.
[in] BufferSize
Buffer 매개 변수가 가리키는 버퍼의 크기(바이트)입니다. 호출자는 지정된 InformationClass 값에 따라 이 매개 변수를 설정해야 합니다.
[out] BytesReturned
버퍼에서 반환된 바이트 수를 수신하는 호출자 할당 변수에 대한 포인터로, 버퍼가 가리키는 . BufferSize 입력 값이 너무 작으면 FltEnumerateInstanceInformationByVolume STATUS_BUFFER_TOO_SMALL 반환하고 이 변수를 요청된 정보를 저장하는 데 필요한 바이트 수로 설정합니다. 이 매개 변수는 필수이며 NULL 수 없습니다.
반환 값
FltEnumerateInstanceInformationByVolume STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.
반환 코드 | 묘사 |
---|---|
|
Buffer 매개 변수가 가리키는 버퍼가 요청된 정보를 저장할 만큼 크지 않습니다. 오류 코드입니다. |
|
일치하는 미니 필터 인스턴스가 발견되었지만 삭제되고 있습니다. 오류 코드입니다. 레거시 필터 드라이버를 언로드할 수 없으므로 이 반환 값은 레거시 필터 드라이버에 적용되지 않습니다. |
|
InformationClass 매개 변수에 잘못된 값이 지정되었습니다. 예를 들어 InstanceAggregateStandardInformation Windows Vista 이전의 운영 체제에 지정된 경우 루틴은 STATUS_INVALID_PARAMETER 반환합니다. 오류 코드입니다. |
|
볼륨의 인스턴스/필터 목록에 더 이상 항목이 없습니다. 경고 코드입니다. |
발언
Index 매개 변수를 사용하면 FltEnumerateInstanceInformationByVolumeVolume지정된 볼륨의 인스턴스/필터 목록에서 미니 필터 드라이버 인스턴스 및 레거시 필터 드라이버 중에서 선택할 수 있습니다. 인스턴스/필터 목록의 미니 필터 드라이버 인스턴스는 언제든지 변경될 수 있으므로 FltEnumerateInstanceInformationByVolume인덱스볼륨 값이 동일한 결과를 반환하도록 보장되지 않습니다.
Windows Vista부터 이 루틴은 InformationClass 매개 변수의 값이 instanceAggregateStandardInformation 경우 레거시 필터 드라이버 정보와 미니 필터 드라이버 인스턴스 정보를 모두 반환할 수 있습니다. 이전 운영 체제의 경우 INSTANCE_AGGREGATE_STANDARD_INFORMATION 구조를 사용할 수 없으므로 이 루틴은 레거시 필터 정보를 반환할 수 없습니다.
등록된 모든 미니 필터 드라이버에 대한 필터 정보를 나열하려면 FltEnumerateFilterInformation호출합니다.
지정된 미니 필터 드라이버에 대한 필터 정보를 얻으려면 FltGetFilterInformation호출합니다.
지정된 미니 필터 드라이버의 모든 인스턴스를 열거하려면 FltEnumerateInstanceInformationByFilter호출합니다.
모든 볼륨에서 모든 미니 필터 드라이버의 인스턴스를 열거하려면 FltEnumerateInstances호출합니다.
필터 관리자에 알려진 모든 볼륨을 열거하려면 FltEnumerateVolumes호출합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | fltkernel.h(FltKernel.h 포함) |
라이브러리 | FltMgr.lib |
IRQL | <= APC_LEVEL |
참고 항목
FltEnumerateInstanceInformationByFilter