FltAttachVolume 함수(fltkernel.h)
FltAttachVolume 새 미니 필터 드라이버 인스턴스를 만들고 지정된 볼륨에 연결합니다.
통사론
NTSTATUS FLTAPI FltAttachVolume(
[in, out] PFLT_FILTER Filter,
[in, out] PFLT_VOLUME Volume,
[in, optional] PCUNICODE_STRING InstanceName,
[out] PFLT_INSTANCE *RetInstance
);
매개 변수
[in, out] Filter
호출자에 대한 불투명 필터 포인터입니다. 이 매개 변수는 필수이며 NULL 수 없습니다.
[in, out] Volume
미니 필터 드라이버 인스턴스를 연결할 볼륨에 대한 불투명 볼륨 포인터입니다. 이 매개 변수는 필수이며 NULL 수 없습니다.
[in, optional] InstanceName
새 인스턴스의 인스턴스 이름을 포함하는 UNICODE_STRING 구조체에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL 수 있습니다. NULL 경우 FltAttachVolume 레지스트리에서 미니 필터 드라이버의 기본 인스턴스 이름을 읽으려고 시도합니다. (이 매개 변수에 대한 자세한 내용은 다음 설명 섹션을 참조하세요.)
[out] RetInstance
새로 만든 인스턴스에 대한 불투명 인스턴스 포인터를 수신하는 호출자 할당 변수에 대한 포인터입니다. 이 매개 변수는 선택 사항이며 NULL 수 있습니다.
반환 값
FltAttachVolume STATUS_SUCCESS 또는 다음 중 하나와 같은 적절한 NTSTATUS 값을 반환합니다.
발언
호출자가 InstanceName대해NULL 값을 지정하는 경우 FltAttachVolume HKLM\CurrentControlSet\Services\ServiceName\Instances\InstanceName, 여기서 ServiceName 미니 필터 드라이버의 서비스 이름입니다. 이 서비스 이름은 미니 필터 드라이버의 INF 파일 DefaultInstall.Services 섹션의 AddService 지시문 지정됩니다. (필터 드라이버 INF 파일에 대한 자세한 내용은 파일 시스템 필터 드라이버 설치참조하세요.)
호출자가 InstanceName값을 지정하지 않으면 FltAttachVolume 레지스트리 경로의 InstanceName 부분에 대해 HKLM\CurrentControlSet\Services\ServiceName\Instances\DefaultInstance 아래에 레지스트리에 저장된 이름을 사용합니다.
InstanceName 매개 변수에 지정된 인스턴스 이름은 시스템 전체에서 고유해야 합니다.
FltAttachVolume*RetInstance새 인스턴스에 대한 불투명 인스턴스 포인터를 반환합니다. 이 포인터 값은 미니 필터 드라이버 인스턴스를 고유하게 식별하고 인스턴스가 볼륨에 연결되어 있는 한 일정하게 유지됩니다.
FltAttachVolume*RetInstance반환된 불투명 인스턴스 포인터에 런다운 참조를 추가합니다. 이 포인터가 더 이상 필요하지 않으면 호출자는 FltObjectDereference호출하여 해제해야 합니다. 따라서 fltAttachVolume 모든 성공적인 호출은 FltObjectDereference대한 후속 호출과 일치해야 합니다.
지정된 고도에서 볼륨에 미니 필터 드라이버 인스턴스를 연결하려면 FltAttachVolumeAtAltitude호출합니다.
동일한 볼륨에 연결된 두 개의 미니 필터 드라이버 인스턴스의 고도를 비교하려면 FltCompareInstanceAltitudes호출합니다.
볼륨에서 미니 필터 드라이버 인스턴스를 분리하려면 FltDetachVolume호출합니다.
요구 사항
요구 | 값 |
---|---|
대상 플랫폼 | 보편적 |
헤더 | fltkernel.h(Fltkernel.h 포함) |
라이브러리 | FltMgr.lib |
IRQL | PASSIVE_LEVEL |