Pyrogenesis  13997
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Macros Pages
Macros | Typedefs | Functions | Variables
aken.c File Reference
#include <ntddk.h>
#include "aken.h"
#include "intrinsics.h"

Go to the source code of this file.

Macros

#define WIN32_NAME   L"\\DosDevices\\Aken"
 
#define DEVICE_NAME   L"\\Device\\Aken"
 

Typedefs

typedef NTSTATUS(* AkenIoctl )(PVOID buf, ULONG inSize, ULONG *outSize)
 

Functions

 __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)
 

Variables

DRIVER_INITIALIZE DriverEntry
 

Macro Definition Documentation

#define DEVICE_NAME   L"\\Device\\Aken"

Definition at line 30 of file aken.c.

#define WIN32_NAME   L"\\DosDevices\\Aken"

Definition at line 29 of file aken.c.

Typedef Documentation

typedef NTSTATUS(* AkenIoctl)(PVOID buf, ULONG inSize, ULONG *outSize)

Definition at line 391 of file aken.c.

Function Documentation

__drv_dispatchType ( IRP_MJ_CREATE  )

Definition at line 34 of file aken.c.

static NTSTATUS AkenClose ( IN PDEVICE_OBJECT  deviceObject,
IN PIRP  irp 
)
static

Definition at line 435 of file aken.c.

static NTSTATUS AkenCreate ( IN PDEVICE_OBJECT  deviceObject,
IN PIRP  irp 
)
static

Definition at line 424 of file aken.c.

static NTSTATUS AkenDeviceControl ( IN PDEVICE_OBJECT  deviceObject,
IN PIRP  irp 
)
static

Definition at line 447 of file aken.c.

static AkenIoctl AkenIoctlFromCode ( ULONG  ioctlCode)
static

Definition at line 393 of file aken.c.

static NTSTATUS AkenIoctlMap ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static

Definition at line 273 of file aken.c.

static NTSTATUS AkenIoctlReadModelSpecificRegister ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static

Definition at line 316 of file aken.c.

static NTSTATUS AkenIoctlReadPerformanceMonitoringCounter ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static

Definition at line 356 of file aken.c.

static NTSTATUS AkenIoctlReadPort ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static

Definition at line 205 of file aken.c.

static NTSTATUS AkenIoctlUnknown ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static

Definition at line 380 of file aken.c.

static NTSTATUS AkenIoctlUnmap ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static

Definition at line 297 of file aken.c.

static NTSTATUS AkenIoctlWriteModelSpecificRegister ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static

Definition at line 339 of file aken.c.

static NTSTATUS AkenIoctlWritePort ( PVOID  buf,
const ULONG  inSize,
ULONG *  outSize 
)
static

Definition at line 241 of file aken.c.

static NTSTATUS AkenMapPhysicalMemory ( const DWORD64  physicalAddress64,
const DWORD64  numBytes64,
DWORD64 *  virtualAddress64 
)
static

Definition at line 96 of file aken.c.

static VOID AkenUnload ( IN PDRIVER_OBJECT  driverObject)
static

Definition at line 471 of file aken.c.

static NTSTATUS AkenUnmapPhysicalMemory ( const DWORD64  virtualAddress)
static

Definition at line 182 of file aken.c.

NTSTATUS DriverEntry ( IN PDRIVER_OBJECT  driverObject,
IN PUNICODE_STRING  registryPath 
)

Definition at line 489 of file aken.c.

Variable Documentation

DRIVER_INITIALIZE DriverEntry

Definition at line 33 of file aken.c.