2 * PROJECT: ReactOS VT100 emulator
3 * LICENSE: GPL - See COPYING in the top level directory
4 * FILE: drivers/base/green/green.c
5 * PURPOSE: Driver entry point
6 * PROGRAMMERS: Copyright 2005-2006 Hervé Poussineau (hpoussin@reactos.org)
15 DriverUnload(IN PDRIVER_OBJECT DriverObject
)
17 // nothing to do here yet
21 * Standard DriverEntry method.
25 IN PDRIVER_OBJECT DriverObject
,
26 IN PUNICODE_STRING RegistryPath
)
28 PGREEN_DRIVER_EXTENSION DriverExtension
;
32 Status
= IoAllocateDriverObjectExtension(
35 sizeof(GREEN_DRIVER_EXTENSION
),
36 (PVOID
*)&DriverExtension
);
37 if (!NT_SUCCESS(Status
))
39 DPRINT("IoAllocateDriverObjectExtension() failed with status 0x%08lx\n", Status
);
42 RtlZeroMemory(DriverExtension
, sizeof(GREEN_DRIVER_EXTENSION
));
44 Status
= RtlDuplicateUnicodeString(
47 &DriverExtension
->RegistryPath
);
48 if (!NT_SUCCESS(Status
))
50 DPRINT("RtlDuplicateUnicodeString() failed with status 0x%08lx\n", Status
);
54 Status
= ReadRegistryEntries(RegistryPath
, DriverExtension
);
55 if (!NT_SUCCESS(Status
))
57 DPRINT("ReadRegistryEntries() failed with status 0x%08lx\n", Status
);
61 DriverObject
->DriverUnload
= DriverUnload
;
62 DriverObject
->DriverExtension
->AddDevice
= GreenAddDevice
;
64 for (i
= 0; i
<= IRP_MJ_MAXIMUM_FUNCTION
; i
++)
65 DriverObject
->MajorFunction
[i
] = GreenDispatch
;
67 return STATUS_SUCCESS
;