Написание процедуры DriverEntry для драйвера минифильтра
Каждый драйвер минифильтра файловой системы должен иметь подпрограмму DriverEntry . Подпрограмма DriverEntry вызывается при загрузке драйвера минифильтра.
Подпрограмма DriverEntry выполняет глобальную инициализацию, регистрирует драйвер минифильтра и инициирует фильтрацию. Эта подпрограмма выполняется в контексте системного потока на PASSIVE_LEVEL IRQL.
Подпрограмма DriverEntry определяется следующим образом:
NTSTATUS
(*PDRIVER_INITIALIZE) (
IN PDRIVER_OBJECT DriverObject,
IN PUNICODE_STRING RegistryPath
);
DriverEntry имеет два входных параметра. Первый, DriverObject, — это объект драйвера, созданный при загрузке драйвера минифильтра. Второй, RegistryPath, — это указатель на подсчитываемую строку Юникода, содержащую путь к разделу реестра драйвера мини-фильтра.
Подпрограмма DriverEntry драйвера минифильтра должна выполнять следующие действия по порядку:
Выполните необходимую глобальную инициализацию для драйвера минифильтра.
Зарегистрируйте драйвер мини-фильтра, вызвав FltRegisterFilter.
Инициируйте фильтрацию, вызвав FltStartFiltering.
Возвращает соответствующее значение NTSTATUS.
Этот раздел состоит из следующих частей.