Gray C++ Libraries  0.0.2
A set of C++ libraries for MSVC, GNU on Windows, WinCE, Linux
cKernel.h File Reference
#include <ntddk.h>
#include <stddef.h>
#include <stdarg.h>

Go to the source code of this file.

Classes

struct  GrayKernel::CKeMem< TYPE, _UTAG >
 
struct  GrayKernel::CKeDynamic< _UTAG >
 
struct  GrayKernel::CKeInterlockedLong
 
struct  GrayKernel::CKeInterlockedPtr< TYPE >
 
struct  GrayKernel::CKeInterlockedPtrX< TYPE >
 
struct  GrayKernel::CKeSpinLock
 
struct  GrayKernel::CKeSpinLockLock
 
struct  GrayKernel::CKeSpinLockDpcLevel
 
struct  GrayKernel::CKeSpinLockLargeInteger
 
struct  GrayKernel::CKeTime
 
struct  GrayKernel::CKeObjectPtr< TYPE >
 
struct  GrayKernel::CKeHandle
 
struct  GrayKernel::CKeTimerD
 
struct  GrayKernel::CKeEvent
 
struct  GrayKernel::CKeStringUS
 
struct  GrayKernel::CKeStringU
 
struct  GrayKernel::CKeStringAS
 
struct  GrayKernel::CKeList
 
struct  GrayKernel::CKeListT< TYPE, _OFFSET_ENTRY >
 
struct  GrayKernel::CKeListObj< _UTAG >
 
struct  GrayKernel::CKePool< TYPE, _OFFSET_ENTRY >
 
struct  GrayKernel::CKeIRP
 
struct  GrayKernel::CKeIrpQueue
 
struct  GrayKernel::CKeFileObject
 
struct  GrayKernel::CKeFileHandle
 
struct  GrayKernel::CKeRegistry
 
struct  GrayKernel::CKeDeviceObject
 
struct  GrayKernel::CKeDeviceExt
 
struct  GrayKernel::CKeDriverObject
 
struct  GrayKernel::CKeDriver
 

Namespaces

 GrayKernel
 

Macros

#define _countof(a)   (sizeof(a)/sizeof((a)[0]))
 
#define HANDLE_NULL   NULL
 
#define DBG_ERROR(stmt)
 
#define DBG_WARN(stmt)
 
#define DBG_TRACE(stmt)
 
#define DBG_BLAB(stmt)
 
#define ASSERT3(exp, p1, p2, p3)
 
#define CKeMem_Free(p, _UTAG)   ::ExFreePool(p);
 

Typedefs

typedef int COMPARE_t
 
typedef CKeObjectPtr< _FILE_OBJECT > GrayKernel::CKeFileObjectPtr
 
typedef CKeObjectPtr< _DEVICE_OBJECT > GrayKernel::CKeDeviceObjectPtr
 

Functions

NTSYSAPI NTSTATUS NTAPI ObOpenObjectByPointer (PVOID Object, ULONG HandleAttributes, PACCESS_STATE PassedAccessState, ACCESS_MASK DesiredAccess, POBJECT_TYPE ObjectType, KPROCESSOR_MODE AccessMode, PHANDLE Handle)
 Documented on MSDN. More...
 
NTSYSAPI NTSTATUS NTAPI ZwQueryInformationProcess (IN HANDLE ProcessHandle, IN PROCESSINFOCLASS ProcessInformationClass, OUT PVOID ProcessInformation, IN ULONG ProcessInformationLength, OUT PULONG uReturnLength OPTIONAL)
 Documented on MSDN with Caveat. More...
 

Macro Definition Documentation

◆ _countof

#define _countof (   a)    (sizeof(a)/sizeof((a)[0]))

◆ ASSERT3

#define ASSERT3 (   exp,
  p1,
  p2,
  p3 
)

◆ CKeMem_Free

#define CKeMem_Free (   p,
  _UTAG 
)    ::ExFreePool(p);

◆ DBG_BLAB

#define DBG_BLAB (   stmt)

◆ DBG_ERROR

#define DBG_ERROR (   stmt)

◆ DBG_TRACE

#define DBG_TRACE (   stmt)

◆ DBG_WARN

#define DBG_WARN (   stmt)

◆ HANDLE_NULL

#define HANDLE_NULL   NULL

Typedef Documentation

◆ COMPARE_t

typedef int COMPARE_t

Function Documentation

◆ ObOpenObjectByPointer()

NTSYSAPI NTSTATUS NTAPI ObOpenObjectByPointer ( PVOID  Object,
ULONG  HandleAttributes,
PACCESS_STATE  PassedAccessState,
ACCESS_MASK  DesiredAccess,
POBJECT_TYPE  ObjectType,
KPROCESSOR_MODE  AccessMode,
PHANDLE  Handle 
)

Documented on MSDN.

◆ ZwQueryInformationProcess()

NTSYSAPI NTSTATUS NTAPI ZwQueryInformationProcess ( IN HANDLE  ProcessHandle,
IN PROCESSINFOCLASS  ProcessInformationClass,
OUT PVOID  ProcessInformation,
IN ULONG  ProcessInformationLength,
OUT PULONG uReturnLength  OPTIONAL 
)

Documented on MSDN with Caveat.