Process Hacker
ntbasic.h File Reference
#include <pshpack4.h>
#include <poppack.h>

Go to the source code of this file.

Data Structures

struct  _QUAD
 
struct  _STRING
 
struct  _UNICODE_STRING
 
struct  _RTL_BALANCED_NODE
 
struct  _SINGLE_LIST_ENTRY32
 
struct  _STRING32
 
struct  _STRING64
 
struct  _OBJECT_ATTRIBUTES
 
struct  _OBJECT_ATTRIBUTES64
 
struct  _OBJECT_ATTRIBUTES32
 
struct  _CLIENT_ID
 
struct  _CLIENT_ID32
 
struct  _CLIENT_ID64
 
struct  _KSYSTEM_TIME
 

Macros

#define NOTHING
 
#define NT_SUCCESS(Status)   (((NTSTATUS)(Status)) >= 0)
 
#define NT_INFORMATION(Status)   ((((ULONG)(Status)) >> 30) == 1)
 
#define NT_WARNING(Status)   ((((ULONG)(Status)) >> 30) == 2)
 
#define NT_ERROR(Status)   ((((ULONG)(Status)) >> 30) == 3)
 
#define NT_FACILITY_MASK   0xfff
 
#define NT_FACILITY_SHIFT   16
 
#define NT_FACILITY(Status)   ((((ULONG)(Status)) >> NT_FACILITY_SHIFT) & NT_FACILITY_MASK)
 
#define NT_NTWIN32(Status)   (NT_FACILITY(Status) == FACILITY_NTWIN32)
 
#define WIN32_FROM_NTSTATUS(Status)   (((ULONG)(Status)) & 0xffff)
 
#define FASTCALL   __fastcall
 
#define RTL_CONSTANT_STRING(s)   { sizeof(s) - sizeof((s)[0]), sizeof(s), s }
 
#define RTL_BALANCED_NODE_RESERVED_PARENT_MASK   3
 
#define RTL_BALANCED_NODE_GET_PARENT_POINTER(Node)   ((PRTL_BALANCED_NODE)((Node)->ParentValue & ~RTL_BALANCED_NODE_RESERVED_PARENT_MASK))
 
#define OBJ_INHERIT   0x00000002
 
#define OBJ_PERMANENT   0x00000010
 
#define OBJ_EXCLUSIVE   0x00000020
 
#define OBJ_CASE_INSENSITIVE   0x00000040
 
#define OBJ_OPENIF   0x00000080
 
#define OBJ_OPENLINK   0x00000100
 
#define OBJ_KERNEL_HANDLE   0x00000200
 
#define OBJ_FORCE_ACCESS_CHECK   0x00000400
 
#define OBJ_VALID_ATTRIBUTES   0x000007f2
 
#define InitializeObjectAttributes(p, n, a, r, s)
 
#define RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a)   { sizeof(OBJECT_ATTRIBUTES), NULL, n, a, NULL, NULL }
 
#define RTL_INIT_OBJECT_ATTRIBUTES(n, a)   RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a)
 

Typedefs

typedef struct _QUAD QUAD
 
typedef struct _QUADPQUAD
 
typedef ULONG LOGICAL
 
typedef ULONG * PLOGICAL
 
typedef NTSTATUS * PNTSTATUS
 
typedef char CCHAR
 
typedef short CSHORT
 
typedef ULONG CLONG
 
typedef CCHARPCCHAR
 
typedef CSHORTPCSHORT
 
typedef CLONGPCLONG
 
typedef PCSTR PCSZ
 
typedef UCHAR KIRQL
 
typedef UCHAR * PKIRQL
 
typedef LONG KPRIORITY
 
typedef USHORT RTL_ATOM
 
typedef USHORT * PRTL_ATOM
 
typedef LARGE_INTEGER PHYSICAL_ADDRESS
 
typedef LARGE_INTEGER * PPHYSICAL_ADDRESS
 
typedef enum _EVENT_TYPE EVENT_TYPE
 
typedef enum _TIMER_TYPE TIMER_TYPE
 
typedef enum _WAIT_TYPE WAIT_TYPE
 
typedef struct _STRING STRING
 
typedef struct _STRINGPSTRING
 
typedef struct _STRING ANSI_STRING
 
typedef struct _STRINGPANSI_STRING
 
typedef struct _STRING OEM_STRING
 
typedef struct _STRINGPOEM_STRING
 
typedef const STRINGPCSTRING
 
typedef const ANSI_STRINGPCANSI_STRING
 
typedef const OEM_STRINGPCOEM_STRING
 
typedef struct _UNICODE_STRING UNICODE_STRING
 
typedef struct _UNICODE_STRINGPUNICODE_STRING
 
typedef const UNICODE_STRINGPCUNICODE_STRING
 
typedef struct _RTL_BALANCED_NODE RTL_BALANCED_NODE
 
typedef struct _RTL_BALANCED_NODEPRTL_BALANCED_NODE
 
typedef struct _SINGLE_LIST_ENTRY32 SINGLE_LIST_ENTRY32
 
typedef struct
_SINGLE_LIST_ENTRY32
PSINGLE_LIST_ENTRY32
 
typedef struct _STRING32 STRING32
 
typedef struct _STRING32PSTRING32
 
typedef STRING32 UNICODE_STRING32
 
typedef STRING32PUNICODE_STRING32
 
typedef STRING32 ANSI_STRING32
 
typedef STRING32PANSI_STRING32
 
typedef struct _STRING64 STRING64
 
typedef struct _STRING64PSTRING64
 
typedef STRING64 UNICODE_STRING64
 
typedef STRING64PUNICODE_STRING64
 
typedef STRING64 ANSI_STRING64
 
typedef STRING64PANSI_STRING64
 
typedef struct _OBJECT_ATTRIBUTES OBJECT_ATTRIBUTES
 
typedef struct _OBJECT_ATTRIBUTESPOBJECT_ATTRIBUTES
 
typedef const OBJECT_ATTRIBUTESPCOBJECT_ATTRIBUTES
 
typedef struct _OBJECT_ATTRIBUTES64 OBJECT_ATTRIBUTES64
 
typedef struct
_OBJECT_ATTRIBUTES64
POBJECT_ATTRIBUTES64
 
typedef const OBJECT_ATTRIBUTES64PCOBJECT_ATTRIBUTES64
 
typedef struct _OBJECT_ATTRIBUTES32 OBJECT_ATTRIBUTES32
 
typedef struct
_OBJECT_ATTRIBUTES32
POBJECT_ATTRIBUTES32
 
typedef const OBJECT_ATTRIBUTES32PCOBJECT_ATTRIBUTES32
 
typedef enum _NT_PRODUCT_TYPE NT_PRODUCT_TYPE
 
typedef enum _NT_PRODUCT_TYPEPNT_PRODUCT_TYPE
 
typedef enum _SUITE_TYPE SUITE_TYPE
 
typedef struct _CLIENT_ID CLIENT_ID
 
typedef struct _CLIENT_IDPCLIENT_ID
 
typedef struct _CLIENT_ID32 CLIENT_ID32
 
typedef struct _CLIENT_ID32PCLIENT_ID32
 
typedef struct _CLIENT_ID64 CLIENT_ID64
 
typedef struct _CLIENT_ID64PCLIENT_ID64
 
typedef struct _KSYSTEM_TIME KSYSTEM_TIME
 
typedef struct _KSYSTEM_TIMEPKSYSTEM_TIME
 

Enumerations

enum  _EVENT_TYPE { NotificationEvent, SynchronizationEvent }
 
enum  _TIMER_TYPE { NotificationTimer, SynchronizationTimer }
 
enum  _WAIT_TYPE { WaitAll, WaitAny }
 
enum  _NT_PRODUCT_TYPE { NtProductWinNt = 1, NtProductLanManNt, NtProductServer }
 
enum  _SUITE_TYPE {
  SmallBusiness, Enterprise, BackOffice, CommunicationServer,
  TerminalServer, SmallBusinessRestricted, EmbeddedNT, DataCenter,
  SingleUserTS, Personal, Blade, EmbeddedRestricted,
  SecurityAppliance, StorageServer, ComputeServer, WHServer,
  PhoneNT, MaxSuiteType
}
 

Functions

struct DECLSPEC_ALIGN (MEMORY_ALLOCATION_ALIGNMENT) _QUAD_PTR
 
typedef _Success_ (return >=0) LONG NTSTATUS
 

Variables

 QUAD_PTR
 
PQUAD_PTR
 

Macro Definition Documentation

#define FASTCALL   __fastcall

Definition at line 73 of file ntbasic.h.

#define InitializeObjectAttributes (   p,
  n,
  a,
  r,
 
)
Value:
{ \
(p)->Length = sizeof(OBJECT_ATTRIBUTES); \
(p)->RootDirectory = r; \
(p)->Attributes = a; \
(p)->ObjectName = n; \
(p)->SecurityDescriptor = s; \
(p)->SecurityQualityOfService = NULL; \
}

Definition at line 198 of file ntbasic.h.

#define NOTHING

Definition at line 9 of file ntbasic.h.

#define NT_ERROR (   Status)    ((((ULONG)(Status)) >> 30) == 3)

Definition at line 61 of file ntbasic.h.

#define NT_FACILITY (   Status)    ((((ULONG)(Status)) >> NT_FACILITY_SHIFT) & NT_FACILITY_MASK)

Definition at line 65 of file ntbasic.h.

#define NT_FACILITY_MASK   0xfff

Definition at line 63 of file ntbasic.h.

#define NT_FACILITY_SHIFT   16

Definition at line 64 of file ntbasic.h.

#define NT_INFORMATION (   Status)    ((((ULONG)(Status)) >> 30) == 1)

Definition at line 59 of file ntbasic.h.

#define NT_NTWIN32 (   Status)    (NT_FACILITY(Status) == FACILITY_NTWIN32)

Definition at line 67 of file ntbasic.h.

#define NT_SUCCESS (   Status)    (((NTSTATUS)(Status)) >= 0)

Definition at line 58 of file ntbasic.h.

#define NT_WARNING (   Status)    ((((ULONG)(Status)) >> 30) == 2)

Definition at line 60 of file ntbasic.h.

#define OBJ_CASE_INSENSITIVE   0x00000040

Definition at line 179 of file ntbasic.h.

#define OBJ_EXCLUSIVE   0x00000020

Definition at line 178 of file ntbasic.h.

#define OBJ_FORCE_ACCESS_CHECK   0x00000400

Definition at line 183 of file ntbasic.h.

#define OBJ_INHERIT   0x00000002

Definition at line 176 of file ntbasic.h.

#define OBJ_KERNEL_HANDLE   0x00000200

Definition at line 182 of file ntbasic.h.

#define OBJ_OPENIF   0x00000080

Definition at line 180 of file ntbasic.h.

#define OBJ_OPENLINK   0x00000100

Definition at line 181 of file ntbasic.h.

#define OBJ_PERMANENT   0x00000010

Definition at line 177 of file ntbasic.h.

#define OBJ_VALID_ATTRIBUTES   0x000007f2

Definition at line 184 of file ntbasic.h.

#define RTL_BALANCED_NODE_GET_PARENT_POINTER (   Node)    ((PRTL_BALANCED_NODE)((Node)->ParentValue & ~RTL_BALANCED_NODE_RESERVED_PARENT_MASK))

Definition at line 145 of file ntbasic.h.

#define RTL_BALANCED_NODE_RESERVED_PARENT_MASK   3

Definition at line 124 of file ntbasic.h.

#define RTL_CONSTANT_OBJECT_ATTRIBUTES (   n,
 
)    { sizeof(OBJECT_ATTRIBUTES), NULL, n, a, NULL, NULL }

Definition at line 207 of file ntbasic.h.

#define RTL_CONSTANT_STRING (   s)    { sizeof(s) - sizeof((s)[0]), sizeof(s), s }

Definition at line 120 of file ntbasic.h.

#define RTL_INIT_OBJECT_ATTRIBUTES (   n,
 
)    RTL_CONSTANT_OBJECT_ATTRIBUTES(n, a)

Definition at line 208 of file ntbasic.h.

#define WIN32_FROM_NTSTATUS (   Status)    (((ULONG)(Status)) & 0xffff)

Definition at line 68 of file ntbasic.h.

Typedef Documentation

typedef struct _STRING ANSI_STRING

Definition at line 162 of file ntbasic.h.

Definition at line 172 of file ntbasic.h.

typedef char CCHAR

Definition at line 38 of file ntbasic.h.

typedef struct _CLIENT_ID CLIENT_ID
typedef struct _CLIENT_ID32 CLIENT_ID32
typedef struct _CLIENT_ID64 CLIENT_ID64
typedef ULONG CLONG

Definition at line 40 of file ntbasic.h.

typedef short CSHORT

Definition at line 39 of file ntbasic.h.

typedef enum _EVENT_TYPE EVENT_TYPE
typedef UCHAR KIRQL

Definition at line 50 of file ntbasic.h.

typedef LONG KPRIORITY

Definition at line 51 of file ntbasic.h.

typedef struct _KSYSTEM_TIME KSYSTEM_TIME
typedef ULONG LOGICAL

Definition at line 30 of file ntbasic.h.

typedef struct _STRING OEM_STRING
typedef struct _STRING * PANSI_STRING

Definition at line 162 of file ntbasic.h.

Definition at line 172 of file ntbasic.h.

typedef const ANSI_STRING* PCANSI_STRING

Definition at line 108 of file ntbasic.h.

typedef CCHAR* PCCHAR

Definition at line 42 of file ntbasic.h.

typedef struct _CLIENT_ID * PCLIENT_ID
typedef struct _CLIENT_ID32 * PCLIENT_ID32
typedef struct _CLIENT_ID64 * PCLIENT_ID64
typedef CLONG* PCLONG

Definition at line 44 of file ntbasic.h.

Definition at line 196 of file ntbasic.h.

Definition at line 234 of file ntbasic.h.

Definition at line 222 of file ntbasic.h.

typedef const OEM_STRING* PCOEM_STRING

Definition at line 109 of file ntbasic.h.

typedef CSHORT* PCSHORT

Definition at line 43 of file ntbasic.h.

typedef const STRING* PCSTRING

Definition at line 107 of file ntbasic.h.

typedef PCSTR PCSZ

Definition at line 46 of file ntbasic.h.

Definition at line 118 of file ntbasic.h.

typedef LARGE_INTEGER PHYSICAL_ADDRESS

Definition at line 54 of file ntbasic.h.

typedef UCHAR * PKIRQL

Definition at line 50 of file ntbasic.h.

typedef struct _KSYSTEM_TIME * PKSYSTEM_TIME
typedef ULONG* PLOGICAL

Definition at line 31 of file ntbasic.h.

typedef NTSTATUS* PNTSTATUS

Definition at line 34 of file ntbasic.h.

typedef struct _STRING * POEM_STRING
typedef LARGE_INTEGER * PPHYSICAL_ADDRESS

Definition at line 54 of file ntbasic.h.

typedef struct _QUAD * PQUAD
typedef USHORT * PRTL_ATOM

Definition at line 52 of file ntbasic.h.

typedef struct _STRING * PSTRING
typedef struct _STRING32 * PSTRING32
typedef struct _STRING64 * PSTRING64
typedef struct _UNICODE_STRING * PUNICODE_STRING

Definition at line 161 of file ntbasic.h.

Definition at line 171 of file ntbasic.h.

typedef struct _QUAD QUAD
typedef USHORT RTL_ATOM

Definition at line 52 of file ntbasic.h.

typedef struct _STRING STRING
typedef struct _STRING32 STRING32
typedef struct _STRING64 STRING64
typedef enum _SUITE_TYPE SUITE_TYPE
typedef enum _TIMER_TYPE TIMER_TYPE

Definition at line 161 of file ntbasic.h.

Definition at line 171 of file ntbasic.h.

typedef enum _WAIT_TYPE WAIT_TYPE

Enumeration Type Documentation

Enumerator:
NotificationEvent 
SynchronizationEvent 

Definition at line 80 of file ntbasic.h.

Enumerator:
NtProductWinNt 
NtProductLanManNt 
NtProductServer 

Definition at line 238 of file ntbasic.h.

Enumerator:
SmallBusiness 
Enterprise 
BackOffice 
CommunicationServer 
TerminalServer 
SmallBusinessRestricted 
EmbeddedNT 
DataCenter 
SingleUserTS 
Personal 
Blade 
EmbeddedRestricted 
SecurityAppliance 
StorageServer 
ComputeServer 
WHServer 
PhoneNT 
MaxSuiteType 

Definition at line 245 of file ntbasic.h.

Enumerator:
NotificationTimer 
SynchronizationTimer 

Definition at line 86 of file ntbasic.h.

enum _WAIT_TYPE
Enumerator:
WaitAll 
WaitAny 

Definition at line 92 of file ntbasic.h.

Function Documentation

typedef _Success_ ( return >=  0)
struct DECLSPEC_ALIGN ( MEMORY_ALLOCATION_ALIGNMENT  )
read

Definition at line 24 of file ntbasic.h.

Variable Documentation

* PQUAD_PTR

Definition at line 28 of file ntbasic.h.

QUAD_PTR

Definition at line 28 of file ntbasic.h.