Написание функции DriverEntry для минифильтра драйвера

Каждый драйвер мини-фильтра файловой системы должен иметь подпрограмму DriverEntry . Подпрограмма DriverEntry вызывается при загрузке драйвера мини-фильтра.

Подпрограмма DriverEntry выполняет глобальную инициализацию, регистрирует драйвер минифильтра и инициирует фильтрацию. Эта процедура выполняется в контексте системного потока на уровне IRQL PASSIVE_LEVEL.

Подпрограмма DriverEntry определяется следующим образом:

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

DriverEntry имеет два входных параметра. Первым, DriverObject, является объект драйвера, созданный при загрузке мини-фильтра драйвера. Во-вторых, RegistryPath, — это указатель на подсчитываемую строку Юникода, содержащую путь к разделу реестра драйвера минифильтра.

Подпрограмма DriverEntry драйвера minifilter должна выполнять следующие действия.

  1. Выполните любую необходимую глобальную инициализацию для драйвера мини-фильтра.

  2. Зарегистрируйте драйвер минифильтра, вызвав FltRegisterFilter.

  3. Инициируйте фильтрацию путем вызова FltStartFiltering.

  4. Возвращает соответствующее значение NTSTATUS.

В этом разделе приведено следующее:

Регистрация драйвера минифильтра

Инициирование фильтрации

Возврат состояния из подпрограммы DriverEntry minifilter