미니필터 드라이버에 대한 DriverEntry 루틴 작성

모든 파일 시스템 미니필터 드라이버에는 DriverEntry 루틴이 있어야 합니다. DriverEntry 루틴은 미니필터 드라이버가 로드될 때 호출됩니다.

DriverEntry 루틴은 전역 초기화를 수행하고, 미니필터 드라이버를 등록하고, 필터링을 시작합니다. 이 루틴은 IRQL PASSIVE_LEVEL 시스템 스레드 컨텍스트에서 실행됩니다.

DriverEntry 루틴은 다음과 같이 정의됩니다.

NTSTATUS 
(*PDRIVER_INITIALIZE) ( 
    IN PDRIVER_OBJECT DriverObject, 
    IN PUNICODE_STRING RegistryPath 
    ); 

DriverEntry 에는 두 개의 입력 매개 변수가 있습니다. 첫 번째 DriverObject는 미니필터 드라이버가 로드될 때 생성된 드라이버 개체입니다. 두 번째 RegistryPath는 미니필터 드라이버의 레지스트리 키에 대한 경로를 포함하는 계산된 유니코드 문자열에 대한 포인터입니다.

미니필터 드라이버의 DriverEntry 루틴은 다음 단계를 순서대로 수행해야 합니다.

  1. 미니필터 드라이버에 필요한 전역 초기화를 수행합니다.

  2. FltRegisterFilter를 호출하여 미니필터 드라이버를 등록합니다.

  3. FltStartFiltering을 호출하여 필터링을 시작합니다.

  4. 적절한 NTSTATUS 값을 반환합니다.

이 단원에는 다음이 포함됩니다.

미니필터 드라이버 등록

필터링 시작

미니필터 드라이버엔트리 루틴에서 상태 반환