Added the source code of the WinRing0 device driver.
1 //-----------------------------------------------------------------------------
3 // Mail : hiyohiyo@crystalmark.info
4 // Web : http://openlibsys.org/
5 // License : The modified BSD license
7 // Copyright 2007-2008 OpenLibSys.org. All rights reserved.
8 //-----------------------------------------------------------------------------
14 //-----------------------------------------------------------------------------
18 //-----------------------------------------------------------------------------
20 #define NT_DEVICE_NAME L"\\Device\\WinRing0_1_2_0"
21 #define DOS_DEVICE_NAME L"\\DosDevices\\WinRing0_1_2_0"
23 //-----------------------------------------------------------------------------
25 // Function Prototypes
27 //-----------------------------------------------------------------------------
30 IN PDRIVER_OBJECT DriverObject,
31 IN PUNICODE_STRING RegistryPath
35 IN PDEVICE_OBJECT pDO,
40 IN PDRIVER_OBJECT DriverObject
43 //-----------------------------------------------------------------------------
45 // Function Prototypes for Control Code
47 //-----------------------------------------------------------------------------
54 ULONG *lpBytesReturned
62 ULONG *lpBytesReturned
70 ULONG *lpBytesReturned
79 ULONG *lpBytesReturned
88 ULONG *lpBytesReturned
91 NTSTATUS ReadPciConfig(
96 ULONG *lpBytesReturned
99 NTSTATUS WritePciConfig(
103 ULONG nOutBufferSize,
104 ULONG *lpBytesReturned
111 ULONG nOutBufferSize,
112 ULONG *lpBytesReturned
115 NTSTATUS WriteMemory(
119 ULONG nOutBufferSize,
120 ULONG *lpBytesReturned
124 //-----------------------------------------------------------------------------
126 // Support Function Prototypes
128 //-----------------------------------------------------------------------------
130 NTSTATUS pciConfigRead(ULONG pciAddress, ULONG offset, void *data, int length);
131 NTSTATUS pciConfigWrite(ULONG pciAddress, ULONG offset, void *data, int length);