Здравствуйте, x64,
Я пытаюсь создать Device для своего Driver. Для этого создаю DRIVER_OBJECT.
Следующей код рабочий, но неработает сам драйвер, похоже что не обрабатывая IRP:
DRIVER_OBJECT driverObject;
PDRIVER_OBJECT pdoDriver = g_pdoDriver;
for (i = 0; i< IRP_MJ_MAXIMUM_FUNCTION; i++)
{
pdoDriver->MajorFunction[i] = Unimplemented;
}
pdoDriver->MajorFunction[IRP_MJ_CREATE] = Create;
pdoDriver->MajorFunction[IRP_MJ_WRITE] = Write;
pdoDriver->MajorFunction[IRP_MJ_READ] = Read;
pdoDriver->DriverUnload = Unload;
RtlInitUnicodeString(&DeviceName, L"\\23456789");
status = IoCreateDevice(pdoDriver, sizeof(DEVICE), &DeviceName, FILE_DEVICE_DISK_FILE_SYSTEM, 0, FALSE, &pdoDevice);