PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK 콜백 함수(fltkernel.h)
미니필터 드라이버는 PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK 유형의 루틴을 미니필터 드라이버의 InstanceQueryTeardownCallback 루틴으로 등록할 수 있습니다.
구문
PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK PfltInstanceQueryTeardownCallback;
NTSTATUS PfltInstanceQueryTeardownCallback(
[in] PCFLT_RELATED_OBJECTS FltObjects,
[in] FLT_INSTANCE_QUERY_TEARDOWN_FLAGS Flags
)
{...}
매개 변수
[in] FltObjects
현재 작업과 관련된 개체에 대한 불투명 포인터를 포함하는 FLT_RELATED_OBJECTS 구조체에 대한 포인터입니다.
[in] Flags
지정된 instance 쿼리 중단 콜백 루틴이 호출된 이유를 설명하는 플래그의 비트 마스크입니다. 현재 정의된 플래그가 없습니다.
반환 값
이 콜백 루틴은 다음 중 하나와 같은 STATUS_SUCCESS 또는 NTSTATUS 값을 반환합니다.
반환 코드 | 설명 |
---|---|
|
이 상태 값을 반환하면 미니필터 드라이버 instance 분리되지 않습니다. 오류 코드입니다. |
설명
Minifilter 드라이버가 DriverEntry 루틴에서 FltRegisterFilter를 호출하여 자신을 등록하는 경우 PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK 유형의 루틴을 미니필터 드라이버의 InstanceQueryTeardownCallback 루틴으로 등록할 수 있습니다.
InstanceQueryTeardownCallback 루틴을 등록하기 위해 미니필터 드라이버는 미니필터 드라이버가 FltRegisterFilter의 Registration 매개 변수로 전달하는 FLT_REGISTRATION 구조체의 InstanceQueryTeardownCallback 멤버에 PFLT_INSTANCE_QUERY_TEARDOWN_CALLBACK 형식의 루틴 주소를 저장합니다.
필터 관리자는 미니필터 드라이버가 수동 분리 요청에 응답할 수 있도록 이 루틴을 호출합니다. 이러한 요청은 사용자 모드 애플리케이션이 FilterDetach 를 호출하거나 커널 모드 구성 요소가 FltDetachVolume을 호출할 때 수신됩니다.
이 루틴은 미니필터 드라이버가 언로드되거나 볼륨이 분리된 경우와 같이 자동 또는 필수 분리 요청에 대해 호출되지 않습니다.
이 루틴이 오류 또는 경고 NTSTATUS 코드(예: STATUS_FLT_DO_NOT_DETACH)를 반환하는 경우 미니필터 드라이버 instance 볼륨에서 분리되지 않습니다. 그렇지 않으면 instance 분리됩니다.
미니필터 드라이버가 InstanceQueryTeardownCallback 루틴을 정의하지 않으면 FilterDetach 또는 FltDetachVolume을 호출하여 인스턴스를 수동으로 분리할 수 없습니다.
요구 사항
요구 사항 | 값 |
---|---|
대상 플랫폼 | 데스크톱 |
머리글 | fltkernel.h(Fltkernel.h 포함) |
IRQL | PASSIVE_LEVEL |