필터 관리자는 미니 필터 드라이버가 컨텍스트를 개체와 연결하여 I/O 작업에서 상태를 유지할 수 있도록 지원합니다. 컨텍스트를 가질 수 있는 개체에는 파일, 볼륨, 인스턴스, 스트림, 스트림 핸들 및 트랜잭션이 포함됩니다. 미니 필터 구현 세부 정보는 미니 필터 컨텍스트 정보를 참조하세요.
타사 파일 시스템은 스트림 및 스트림 핸들 컨텍스트에서 제대로 작동하려면 FSRTL_COMMON_FCB_HEADER 구조 대신 FSRTL_ADVANCED_FCB_HEADER 구조를 사용해야 합니다.
페이징되지 않은 풀에서 할당해야 하는 볼륨 컨텍스트를 제외하고 페이징 또는 비페이지 풀에서 컨텍스트를 할당할 수 있습니다.
남아 있는 모든 참조가 릴리스되면 컨텍스트가 자동으로 해제됩니다. 미니 필터 드라이버가 컨텍스트 정리 콜백 루틴을 정의하는 경우 필터 관리자는 컨텍스트가 해제되기 전에 루틴을 호출합니다.
필터 관리자는 연결된 개체가 삭제될 때, 인스턴스가 분리된 경우 및 미니 필터 드라이버가 언로드될 때 컨텍스트 삭제를 처리합니다.
파일 페이징 또는 다음 작업 중에는 컨텍스트가 지원되지 않습니다.
만들기 요청에 대한 사전 운용 처리
닫기 요청에 대한 후속 처리
IRP_MJ_NETWORK_QUERY_OPEN 요청 처리
컨텍스트를 사용하는 미니 필터 드라이버의 예는 CTX 샘플 참조하세요.
컨텍스트 관리를 위한 필터 관리자 지원 루틴
필터 관리자는 미니 필터에 대한 다양한 지원 컨텍스트 지원 루틴을 제공합니다.
컨텍스트 만들기 및 등록:
- FltAllocateContext
- FltRegisterFilter
컨텍스트 설정:
- FltSetFileContext
- fltSetInstanceContext
- FltSetStreamContext
- FltSetStreamHandleContext
- FltSetTransactionContext
- FltSetVolumeContext
쿼리 컨텍스트:
컨텍스트 가져오기 및 참조:
- fltGetContexts
- FltGetContextsEx
- fltGetFileContext
- fltGetInstanceContext
- fltGetSectionContext
- FltGetStreamContext
- FltGetStreamHandleContext
- fltGetTransactionContext
- FltGetVolumeContext
- FltReferenceContext
컨텍스트 해제 및 삭제:
- FltDeleteContext
- FltDeleteFileContext
- FltDeleteInstanceContext
- fltDeleteStreamContext
- FltDeleteStreamHandleContext
- FltDeleteTransactionContext
- FltDeleteVolumeContext
- FltReleaseContext
- fltReleaseContextsFltReleaseContexts
- FltReleaseContextsEx