Подпрограммы DispatchCreate, DispatchClose и DispatchCreateClose
Драйвер DRIVER_DISPATCH IRP с кодами функций ввода-вывода IRP_MJ_CREATE и IRP_MJ_CLOSE соответственно. Кроме того, объединенная подпрограмма DispatchCreateClose может обрабатывать irP для обоих этих кодов функций ввода-вывода.
Запрос на создание может исходить либо из попытки подсистемы пользовательского режима получить дескриптор к объекту файла, представляющего устройство (возможно, от имени приложения или драйвера уровня подсистемы), либо при вызове драйвера более высокого уровня к IoGetDeviceObjectPointer или IoAttachDevice.
Обратный запрос на закрытие исходит от закрытия подсистемы пользовательского режима дескриптора файлового объекта, связанного с объектом устройства драйвера.
Каждый из этих запросов по своей природе является синхронным.