#include <ntddk.h>
#include "aken.h"
#include "intrinsics.h"
Go to the source code of this file.
|
typedef NTSTATUS(* | AkenIoctl )(PVOID buf, ULONG inSize, ULONG *outSize) |
|
|
| __drv_dispatchType (IRP_MJ_CREATE) |
|
static NTSTATUS | AkenMapPhysicalMemory (const DWORD64 physicalAddress64, const DWORD64 numBytes64, DWORD64 *virtualAddress64) |
|
static NTSTATUS | AkenUnmapPhysicalMemory (const DWORD64 virtualAddress) |
|
static NTSTATUS | AkenIoctlReadPort (PVOID buf, const ULONG inSize, ULONG *outSize) |
|
static NTSTATUS | AkenIoctlWritePort (PVOID buf, const ULONG inSize, ULONG *outSize) |
|
static NTSTATUS | AkenIoctlMap (PVOID buf, const ULONG inSize, ULONG *outSize) |
|
static NTSTATUS | AkenIoctlUnmap (PVOID buf, const ULONG inSize, ULONG *outSize) |
|
static NTSTATUS | AkenIoctlReadModelSpecificRegister (PVOID buf, const ULONG inSize, ULONG *outSize) |
|
static NTSTATUS | AkenIoctlWriteModelSpecificRegister (PVOID buf, const ULONG inSize, ULONG *outSize) |
|
static NTSTATUS | AkenIoctlReadPerformanceMonitoringCounter (PVOID buf, const ULONG inSize, ULONG *outSize) |
|
static NTSTATUS | AkenIoctlUnknown (PVOID buf, const ULONG inSize, ULONG *outSize) |
|
static AkenIoctl | AkenIoctlFromCode (ULONG ioctlCode) |
|
static NTSTATUS | AkenCreate (IN PDEVICE_OBJECT deviceObject, IN PIRP irp) |
|
static NTSTATUS | AkenClose (IN PDEVICE_OBJECT deviceObject, IN PIRP irp) |
|
static NTSTATUS | AkenDeviceControl (IN PDEVICE_OBJECT deviceObject, IN PIRP irp) |
|
static VOID | AkenUnload (IN PDRIVER_OBJECT driverObject) |
|
NTSTATUS | DriverEntry (IN PDRIVER_OBJECT driverObject, IN PUNICODE_STRING registryPath) |
|
#define DEVICE_NAME L"\\Device\\Aken" |
#define WIN32_NAME L"\\DosDevices\\Aken" |
typedef NTSTATUS(* AkenIoctl)(PVOID buf, ULONG inSize, ULONG *outSize) |
__drv_dispatchType |
( |
IRP_MJ_CREATE |
| ) |
|
static NTSTATUS AkenClose |
( |
IN PDEVICE_OBJECT |
deviceObject, |
|
|
IN PIRP |
irp |
|
) |
| |
|
static |
static NTSTATUS AkenCreate |
( |
IN PDEVICE_OBJECT |
deviceObject, |
|
|
IN PIRP |
irp |
|
) |
| |
|
static |
static NTSTATUS AkenDeviceControl |
( |
IN PDEVICE_OBJECT |
deviceObject, |
|
|
IN PIRP |
irp |
|
) |
| |
|
static |
static AkenIoctl AkenIoctlFromCode |
( |
ULONG |
ioctlCode | ) |
|
|
static |
static NTSTATUS AkenIoctlMap |
( |
PVOID |
buf, |
|
|
const ULONG |
inSize, |
|
|
ULONG * |
outSize |
|
) |
| |
|
static |
static NTSTATUS AkenIoctlReadModelSpecificRegister |
( |
PVOID |
buf, |
|
|
const ULONG |
inSize, |
|
|
ULONG * |
outSize |
|
) |
| |
|
static |
static NTSTATUS AkenIoctlReadPerformanceMonitoringCounter |
( |
PVOID |
buf, |
|
|
const ULONG |
inSize, |
|
|
ULONG * |
outSize |
|
) |
| |
|
static |
static NTSTATUS AkenIoctlReadPort |
( |
PVOID |
buf, |
|
|
const ULONG |
inSize, |
|
|
ULONG * |
outSize |
|
) |
| |
|
static |
static NTSTATUS AkenIoctlUnknown |
( |
PVOID |
buf, |
|
|
const ULONG |
inSize, |
|
|
ULONG * |
outSize |
|
) |
| |
|
static |
static NTSTATUS AkenIoctlUnmap |
( |
PVOID |
buf, |
|
|
const ULONG |
inSize, |
|
|
ULONG * |
outSize |
|
) |
| |
|
static |
static NTSTATUS AkenIoctlWriteModelSpecificRegister |
( |
PVOID |
buf, |
|
|
const ULONG |
inSize, |
|
|
ULONG * |
outSize |
|
) |
| |
|
static |
static NTSTATUS AkenIoctlWritePort |
( |
PVOID |
buf, |
|
|
const ULONG |
inSize, |
|
|
ULONG * |
outSize |
|
) |
| |
|
static |
static NTSTATUS AkenMapPhysicalMemory |
( |
const DWORD64 |
physicalAddress64, |
|
|
const DWORD64 |
numBytes64, |
|
|
DWORD64 * |
virtualAddress64 |
|
) |
| |
|
static |
static VOID AkenUnload |
( |
IN PDRIVER_OBJECT |
driverObject | ) |
|
|
static |
static NTSTATUS AkenUnmapPhysicalMemory |
( |
const DWORD64 |
virtualAddress | ) |
|
|
static |
NTSTATUS DriverEntry |
( |
IN PDRIVER_OBJECT |
driverObject, |
|
|
IN PUNICODE_STRING |
registryPath |
|
) |
| |
DRIVER_INITIALIZE DriverEntry |