장치 기술에 특정 필터 모델 또는 미니필터 모델이 있고 필터 드라이버 유형에 대한 템플릿을 찾을 수 없는 경우 기술별 설명서를 참조하여 UMDF, KMDF 또는 WDM을 사용할지 여부를 결정합니다. 드라이버가 루틴을 언로드하면 리소스를 정리하고 할당 해제합니다. 파일 시스템 드라이버 개발의 다음 단계는 파일 시스템 변경에 대한 알림을 등록 취소하는 것입니다. 두 번째 방법은 미니 필터 드라이버의 사후 작동 콜백 루틴을 호출하는 것입니다. FltDo완성처리시세이프는 현재 IRQL이 <= DISPATCH_LEVEL인 경우에만 I/O 연산을 끝맺습니다. 그렇지 않으면 이 루틴은 미니필터 드라이버의 SafePostCallback 루틴을 즉시 실행합니다. 이 기술은 FltDo완성처리시 세이프에 설명되어 있습니다. 자습서에서는 파일 시스템 필터 드라이버를 만들기 위한 간단한 단계를 제공했습니다. 명령줄을 사용하여 파일 시스템 필터 드라이버를 설치, 시작, 중지 및 제거하는 방법을 보여 주십습니다. 다른 파일 시스템 필터 드라이버 문제도 논의되었습니다. 첨부된 필터가 있는 파일 시스템 장치 스택을 고려하고 드라이버에서 디버그 출력을 모니터링하는 방법에 대해 설명했습니다.

이 문서의 리소스를 사용자 고유의 파일 시스템 필터 드라이버를 개발하기 위한 스켈레톤으로 사용하고 필요에 따라 해당 동작을 수정할 수 있습니다. 미니 필터 드라이버는 이 오류를 처리할 준비가 되어 있어야 합니다. 미니필터 드라이버가 이러한 오류를 처리할 수 없는 경우 I/O 작업을 보류하는 대신 FLT_PREOP_SYNCHRONIZE 반환에 설명된 기술을 사용하는 것이 좋습니다. 필터 드라이버에 대한 DriverEntry 루틴은 함수 드라이버의 루틴과 매우 유사합니다. 가장 큰 차이점은 필터 드라이버가 처리할 것으로 예상되는 IRP 유형뿐만 아니라 모든 유형의 IRP에 대해 디스패치 루틴을 설치해야 한다는 것입니다: I/O 작업에 대한 매개 변수는 콜백 데이터(FLT_CALLBACK_DATA) 구조 및 I/O 매개 변수에서 찾을 수 있습니다. 블록(FLT_IO_PARAMETER_BLOCK) 구조입니다. minifilter 드라이버의 사전 작업 콜백 루틴 및 사후 작업 콜백 루틴은 데이터 입력 매개 변수의 작업에 대한 콜백 데이터 구조에 대한 포인터를 받습니다. 콜백 데이터 구조의 Iopb 멤버는 작업에 대한 매개 변수를 포함하는 I/O 매개 변수 블록 구조에 대한 포인터입니다. 이 IRP 처리기의 유일한 책임은 요청을 다음 드라이버에 전달하는 것입니다. 다음 드라이버 개체는 장치 확장에 저장됩니다. FltCancelFileOpen의 호출자는 IRQL <= APC_LEVEL에서 실행중이어야 합니다. 그러나 minifilter 드라이버는 IRP_MJ_CREATE 작업의 경우 CREATE를 시작된 스레드의 컨텍스트에서 IRQL = PASSIVE_LEVEL에서 사후 작업 콜백 루틴이 호출되므로 사후 생성 콜백 루틴에서 이 루틴을 안전하게 호출할 수 있습니다.

작업. 드라이버를 수동으로 배포하기 전에 테스트 서명을 켜고 대상 컴퓨터에 인증서를 설치해야 합니다. 또한 DevCon 도구를 대상 컴퓨터에 복사해야 합니다. 지침은 수동 드라이버 배포를 위한 컴퓨터 준비를 참조하십시오. 대상 컴퓨터에서 명령 프롬프트 창을 관리자로 엽니다. 드라이버 패키지 폴더로 이동한 다음 올바른 하드웨어 ID를 사용하여 Devcon 명령을 입력합니다: 필터 드라이버는 주변 장치의 기능을 확장하거나 수정하거나 개인 장치의 특수 장치를 지원하는 Microsoft Windows 드라이버입니다. 컴퓨터.