PFLT_INSTANCE_SETUP_CALLBACK 콜백 함수(fltkernel.h)
미니 필터 드라이버는 PFLT_INSTANCE_SETUP_CALLBACK 형식의 루틴을 미니 필터 드라이버의 InstanceSetupCallback 루틴으로 등록할 수 있습니다.
구문
PFLT_INSTANCE_SETUP_CALLBACK PfltInstanceSetupCallback;
NTSTATUS PfltInstanceSetupCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_SETUP_FLAGS Flags,
[in] DEVICE_TYPE VolumeDeviceType,
[in] FLT_FILESYSTEM_TYPE VolumeFilesystemType
)
{...}
매개 변수
[in] FltObjects
현재 작업과 관련된 개체에 대한 불투명 포인터를 포함하는 FLT_RELATED_OBJECTS 구조체에 대한 포인터입니다.
[in] Flags
인스턴스가 연결된 이유를 나타내는 플래그의 비트 마스크입니다. 다음 중 하나 이상이 될 수 있습니다.
| 플래그 | 의미 |
|---|---|
| FLTFL_INSTANCE_SETUP_AUTOMATIC_ATTACHMENT(0x00000001) | 인스턴스가 자동으로 연결됩니다. 미니 필터 드라이버가 방금 로드되어 모든 기존 볼륨에 연결되었거나 새로 탑재된 볼륨에 연결되고 있습니다. |
| FLTFL_INSTANCE_SETUP_MANUAL_ATTACHMENT(0x00000002) | 사용자 모드 애플리케이션이 FilterAttach 또는 FilterAttachAtAltitude를 호출했거나 커널 모드 구성 요소가 FltAttachVolume 또는 FltAttachVolumeAtAltitude를 호출했기 때문에 인스턴스가 수동으로 연결됩니다. |
| FLTFL_INSTANCE_SETUP_NEWLY_MOUNTED_VOLUME(0x00000004) | 인스턴스가 새로 탑재된 볼륨에 자동으로 연결됩니다. |
| FLTFL_INSTANCE_SETUP_DETACHED_VOLUME(0x00000008) | 인스턴스가 분리된 볼륨에 연결되고 있습니다. 일부 이동식 미디어 드라이브에서 사용되는 FAT 및 CDFS와 같은 일부 파일 시스템에서 분리된 후 볼륨을 다시 연결할 수 있습니다. 연결된 스토리지 스택이 없는 경우 볼륨이 분리됩니다. 이 상태의 볼륨은 일반적으로 열려 있는 파일이 있는 분리된 볼륨입니다. |
[in] VolumeDeviceType
파일 시스템 볼륨의 디바이스 유형입니다. 다음 중 하나여야 합니다.
- FILE_DEVICE_CD_ROM_FILE_SYSTEM(0x00000002)
- FILE_DEVICE_DISK_FILE_SYSTEM(0x00000008)
- FILE_DEVICE_NETWORK_FILE_SYSTEM(0x00000014)
[in] VolumeFilesystemType
볼륨의 파일 시스템 형식입니다. 가능한 값은 FLT_FILESYSTEM_TYPE 나열됩니다.
반환 값
이 콜백 루틴은 STATUS_SUCCESS 또는 다음과 같은 NTSTATUS 값을 반환합니다.
| 반환 코드 | 설명 |
|---|---|
| STATUS_FLT_DO_NOT_ATTACH | 이 값을 반환하면 미니 필터 드라이버 인스턴스가 지정된 볼륨에 연결되지 않습니다. 오류 코드입니다. |
설명
참고
PFLT_INSTANCE_SETUP_CALLBACK 구현에서 스레드 동기화 또는 프로세스 간 통신을 수행하지 마세요. 이러한 작업을 수행하면 교착 상태가 발생할 수 있습니다.
Minifilter 드라이버가 DriverEntry 루틴에서 FltRegisterFilter를 호출하여 자신을 등록하는 경우 PFLT_INSTANCE_SETUP_CALLBACK 유형의 루틴을 미니 필터 드라이버의 InstanceSetupCallback 루틴으로 등록할 수 있습니다.
InstanceSetupCallback 루틴을 등록하기 위해 미니 필터 드라이버는 미니 필터 드라이버가 FltRegisterFilter 의 등록 매개 변수로 전달하는 FLT_REGISTRATION 구조체의 InstanceSetupCallback 멤버에 PFLT_INSTANCE_SETUP_CALLBACK 형식의 루틴 주소를 저장합니다.
필터 관리자는 새 볼륨이 탑재된 후 첫 번째 작업에서 이 루틴을 호출합니다.
필터 관리자는 미니 필터 드라이버가 자동 또는 수동 첨부 파일 요청에 응답할 수 있도록 이 루틴을 호출합니다. 이 루틴이 오류 또는 경고 NTSTATUS 코드를 반환하는 경우 미니 필터 드라이버 인스턴스는 지정된 볼륨에 연결되지 않습니다. 그렇지 않으면 미니 필터 드라이버 인스턴스가 지정된 볼륨에 연결됩니다.
요구 사항
| 대상 플랫폼 | 바탕 화면 |
| 헤더 | fltkernel.h(Fltkernel.h 포함) |
| IRQL | PASSIVE_LEVEL |
참조
피드백
다음에 대한 사용자 의견 제출 및 보기