ReactOS  0.4.13-dev-235-g7373cb3
obtypes.h File Reference
#include <umtypes.h>
#include <extypes.h>
Include dependency graph for obtypes.h:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

struct  _OB_DUMP_CONTROL
 
struct  _OBJECT_HANDLE_ATTRIBUTE_INFORMATION
 
struct  _OBJECT_DIRECTORY_INFORMATION
 
struct  _OBJECT_TYPE_INFORMATION
 
struct  _OBJECT_ALL_TYPES_INFORMATION
 
struct  _OBJECT_CREATE_INFORMATION
 
struct  _OBJECT_TYPE_INITIALIZER
 
struct  _OBJECT_TYPE
 
struct  _OBJECT_DIRECTORY_ENTRY
 
struct  _OBJECT_DIRECTORY
 
struct  _OBJECT_HEADER_NAME_INFO
 
struct  _OBJECT_HANDLE_COUNT_ENTRY
 
struct  _OBJECT_HANDLE_COUNT_DATABASE
 
struct  _OBJECT_HEADER_HANDLE_INFO
 
struct  _OBJECT_HEADER_CREATOR_INFO
 
struct  _OBJECT_HEADER_QUOTA_INFO
 
struct  _OBJECT_HEADER
 
struct  _OBP_LOOKUP_CONTEXT
 
struct  _DEVICE_MAP
 
struct  _OBJECT_SYMBOLIC_LINK
 

Macros

#define OBJ_KERNEL_EXCLUSIVE   0x00010000L
 
#define OBJ_VALID_KERNEL_ATTRIBUTES
 
#define OB_FLAG_CREATE_INFO   0x01
 
#define OB_FLAG_KERNEL_MODE   0x02
 
#define OB_FLAG_CREATOR_INFO   0x04
 
#define OB_FLAG_EXCLUSIVE   0x08
 
#define OB_FLAG_PERMANENT   0x10
 
#define OB_FLAG_SECURITY   0x20
 
#define OB_FLAG_SINGLE_PROCESS   0x40
 
#define OB_FLAG_DEFER_DELETE   0x80
 
#define OB_FLAG_KERNEL_EXCLUSIVE   0x40000000
 
#define OBJECT_TO_OBJECT_HEADER(o)   CONTAINING_RECORD((o), OBJECT_HEADER, Body)
 
#define OBJECT_HEADER_TO_NAME_INFO(h)
 
#define OBJECT_HEADER_TO_HANDLE_INFO(h)
 
#define OBJECT_HEADER_TO_QUOTA_INFO(h)
 
#define OBJECT_HEADER_TO_CREATOR_INFO(h)
 
#define OBJECT_HEADER_TO_EXCLUSIVE_PROCESS(h)
 
#define DUPLICATE_SAME_ATTRIBUTES   0x00000004
 
#define NUMBER_HASH_BUCKETS   37
 
#define DOSDEVICE_DRIVE_UNKNOWN   0
 
#define DOSDEVICE_DRIVE_CALCULATE   1
 
#define DOSDEVICE_DRIVE_REMOVABLE   2
 
#define DOSDEVICE_DRIVE_FIXED   3
 
#define DOSDEVICE_DRIVE_REMOTE   4
 
#define DOSDEVICE_DRIVE_CDROM   5
 
#define DOSDEVICE_DRIVE_RAMDISK   6
 

Typedefs

typedef enum _OB_OPEN_REASON OB_OPEN_REASON
 
typedef struct _OB_DUMP_CONTROL OB_DUMP_CONTROL
 
typedef struct _OB_DUMP_CONTROLPOB_DUMP_CONTROL
 
typedef VOID(NTAPIOB_DUMP_METHOD) (_In_ PVOID Object, _In_opt_ POB_DUMP_CONTROL Control)
 
typedef NTSTATUS(NTAPIOB_OPEN_METHOD) (_In_ OB_OPEN_REASON Reason, _In_opt_ PEPROCESS Process, _In_ PVOID ObjectBody, _In_ ACCESS_MASK GrantedAccess, _In_ ULONG HandleCount)
 
typedef VOID(NTAPIOB_CLOSE_METHOD) (_In_opt_ PEPROCESS Process, _In_ PVOID Object, _In_ ACCESS_MASK GrantedAccess, _In_ ULONG ProcessHandleCount, _In_ ULONG SystemHandleCount)
 
typedef VOID(NTAPIOB_DELETE_METHOD) (_In_ PVOID Object)
 
typedef NTSTATUS(NTAPIOB_PARSE_METHOD) (_In_ PVOID ParseObject, _In_ PVOID ObjectType, _Inout_ PACCESS_STATE AccessState, _In_ KPROCESSOR_MODE AccessMode, _In_ ULONG Attributes, _Inout_ PUNICODE_STRING CompleteName, _Inout_ PUNICODE_STRING RemainingName, _Inout_opt_ PVOID Context, _In_opt_ PSECURITY_QUALITY_OF_SERVICE SecurityQos, _Out_ PVOID *Object)
 
typedef NTSTATUS(NTAPIOB_SECURITY_METHOD) (_In_ PVOID Object, _In_ SECURITY_OPERATION_CODE OperationType, _In_ PSECURITY_INFORMATION SecurityInformation, _In_ PSECURITY_DESCRIPTOR SecurityDescriptor, _Inout_ PULONG CapturedLength, _Inout_ PSECURITY_DESCRIPTOR *ObjectSecurityDescriptor, _In_ POOL_TYPE PoolType, _In_ PGENERIC_MAPPING GenericMapping)
 
typedef NTSTATUS(NTAPIOB_QUERYNAME_METHOD) (_In_ PVOID Object, _In_ BOOLEAN HasObjectName, _Out_ POBJECT_NAME_INFORMATION ObjectNameInfo, _In_ ULONG Length, _Out_ PULONG ReturnLength, _In_ KPROCESSOR_MODE AccessMode)
 
typedef BOOLEAN(NTAPIOB_OKAYTOCLOSE_METHOD) (_In_opt_ PEPROCESS Process, _In_ PVOID Object, _In_ HANDLE Handle, _In_ KPROCESSOR_MODE AccessMode)
 
typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFORMATION OBJECT_HANDLE_ATTRIBUTE_INFORMATION
 
typedef struct _OBJECT_HANDLE_ATTRIBUTE_INFORMATIONPOBJECT_HANDLE_ATTRIBUTE_INFORMATION
 
typedef struct _OBJECT_DIRECTORY_INFORMATION OBJECT_DIRECTORY_INFORMATION
 
typedef struct _OBJECT_DIRECTORY_INFORMATIONPOBJECT_DIRECTORY_INFORMATION
 
typedef struct _OBJECT_TYPE_INFORMATION OBJECT_TYPE_INFORMATION
 
typedef struct _OBJECT_TYPE_INFORMATIONPOBJECT_TYPE_INFORMATION
 
typedef struct _OBJECT_ALL_TYPES_INFORMATION OBJECT_ALL_TYPES_INFORMATION
 
typedef struct _OBJECT_ALL_TYPES_INFORMATIONPOBJECT_ALL_TYPES_INFORMATION
 
typedef struct _OBJECT_CREATE_INFORMATION OBJECT_CREATE_INFORMATION
 
typedef struct _OBJECT_CREATE_INFORMATIONPOBJECT_CREATE_INFORMATION
 
typedef struct _OBJECT_TYPE_INITIALIZER OBJECT_TYPE_INITIALIZER
 
typedef struct _OBJECT_TYPE_INITIALIZERPOBJECT_TYPE_INITIALIZER
 
typedef struct _OBJECT_TYPE OBJECT_TYPE
 
typedef struct _OBJECT_DIRECTORY_ENTRY OBJECT_DIRECTORY_ENTRY
 
typedef struct _OBJECT_DIRECTORY_ENTRYPOBJECT_DIRECTORY_ENTRY
 
typedef struct _OBJECT_DIRECTORY OBJECT_DIRECTORY
 
typedef struct _OBJECT_DIRECTORYPOBJECT_DIRECTORY
 
typedef struct _OBJECT_HEADER_NAME_INFO OBJECT_HEADER_NAME_INFO
 
typedef struct _OBJECT_HEADER_NAME_INFOPOBJECT_HEADER_NAME_INFO
 
typedef struct _OBJECT_HANDLE_COUNT_ENTRY OBJECT_HANDLE_COUNT_ENTRY
 
typedef struct _OBJECT_HANDLE_COUNT_ENTRYPOBJECT_HANDLE_COUNT_ENTRY
 
typedef struct _OBJECT_HANDLE_COUNT_DATABASE OBJECT_HANDLE_COUNT_DATABASE
 
typedef struct _OBJECT_HANDLE_COUNT_DATABASEPOBJECT_HANDLE_COUNT_DATABASE
 
typedef struct _OBJECT_HEADER_HANDLE_INFO OBJECT_HEADER_HANDLE_INFO
 
typedef struct _OBJECT_HEADER_HANDLE_INFOPOBJECT_HEADER_HANDLE_INFO
 
typedef struct _OBJECT_HEADER_CREATOR_INFO OBJECT_HEADER_CREATOR_INFO
 
typedef struct _OBJECT_HEADER_CREATOR_INFOPOBJECT_HEADER_CREATOR_INFO
 
typedef struct _OBJECT_HEADER_QUOTA_INFO OBJECT_HEADER_QUOTA_INFO
 
typedef struct _OBJECT_HEADER_QUOTA_INFOPOBJECT_HEADER_QUOTA_INFO
 
typedef struct _OBJECT_HEADER OBJECT_HEADER
 
typedef struct _OBJECT_HEADERPOBJECT_HEADER
 
typedef struct _OBP_LOOKUP_CONTEXT OBP_LOOKUP_CONTEXT
 
typedef struct _OBP_LOOKUP_CONTEXTPOBP_LOOKUP_CONTEXT
 
typedef struct _DEVICE_MAP DEVICE_MAP
 
typedef struct _DEVICE_MAPPDEVICE_MAP
 
typedef struct _OBJECT_SYMBOLIC_LINK OBJECT_SYMBOLIC_LINK
 
typedef struct _OBJECT_SYMBOLIC_LINKPOBJECT_SYMBOLIC_LINK
 

Enumerations

enum  _OB_OPEN_REASON {
  ObCreateHandle, ObOpenHandle, ObDuplicateHandle, ObInheritHandle,
  ObMaxOpenReason
}
 

Variables

PDEVICE_MAP NTSYSAPI ObSystemDeviceMap
 

Macro Definition Documentation

◆ DOSDEVICE_DRIVE_CALCULATE

#define DOSDEVICE_DRIVE_CALCULATE   1

Definition at line 164 of file obtypes.h.

◆ DOSDEVICE_DRIVE_CDROM

#define DOSDEVICE_DRIVE_CDROM   5

Definition at line 168 of file obtypes.h.

◆ DOSDEVICE_DRIVE_FIXED

#define DOSDEVICE_DRIVE_FIXED   3

Definition at line 166 of file obtypes.h.

◆ DOSDEVICE_DRIVE_RAMDISK

#define DOSDEVICE_DRIVE_RAMDISK   6

Definition at line 169 of file obtypes.h.

◆ DOSDEVICE_DRIVE_REMOTE

#define DOSDEVICE_DRIVE_REMOTE   4

Definition at line 167 of file obtypes.h.

◆ DOSDEVICE_DRIVE_REMOVABLE

#define DOSDEVICE_DRIVE_REMOVABLE   2

Definition at line 165 of file obtypes.h.

◆ DOSDEVICE_DRIVE_UNKNOWN

#define DOSDEVICE_DRIVE_UNKNOWN   0

Definition at line 163 of file obtypes.h.

◆ DUPLICATE_SAME_ATTRIBUTES

#define DUPLICATE_SAME_ATTRIBUTES   0x00000004

Definition at line 153 of file obtypes.h.

◆ NUMBER_HASH_BUCKETS

#define NUMBER_HASH_BUCKETS   37

Definition at line 158 of file obtypes.h.

◆ OB_FLAG_CREATE_INFO

#define OB_FLAG_CREATE_INFO   0x01

Definition at line 97 of file obtypes.h.

◆ OB_FLAG_CREATOR_INFO

#define OB_FLAG_CREATOR_INFO   0x04

Definition at line 99 of file obtypes.h.

◆ OB_FLAG_DEFER_DELETE

#define OB_FLAG_DEFER_DELETE   0x80

Definition at line 104 of file obtypes.h.

◆ OB_FLAG_EXCLUSIVE

#define OB_FLAG_EXCLUSIVE   0x08

Definition at line 100 of file obtypes.h.

◆ OB_FLAG_KERNEL_EXCLUSIVE

#define OB_FLAG_KERNEL_EXCLUSIVE   0x40000000

Definition at line 109 of file obtypes.h.

◆ OB_FLAG_KERNEL_MODE

#define OB_FLAG_KERNEL_MODE   0x02

Definition at line 98 of file obtypes.h.

◆ OB_FLAG_PERMANENT

#define OB_FLAG_PERMANENT   0x10

Definition at line 101 of file obtypes.h.

◆ OB_FLAG_SECURITY

#define OB_FLAG_SECURITY   0x20

Definition at line 102 of file obtypes.h.

◆ OB_FLAG_SINGLE_PROCESS

#define OB_FLAG_SINGLE_PROCESS   0x40

Definition at line 103 of file obtypes.h.

◆ OBJ_KERNEL_EXCLUSIVE

#define OBJ_KERNEL_EXCLUSIVE   0x00010000L

Definition at line 91 of file obtypes.h.

◆ OBJ_VALID_KERNEL_ATTRIBUTES

#define OBJ_VALID_KERNEL_ATTRIBUTES
Value:
OBJ_KERNEL_EXCLUSIVE)
#define OBJ_VALID_ATTRIBUTES
Definition: winternl.h:233

Definition at line 92 of file obtypes.h.

◆ OBJECT_HEADER_TO_CREATOR_INFO

#define OBJECT_HEADER_TO_CREATOR_INFO (   h)
Value:
struct _OBJECT_HEADER_CREATOR_INFO * POBJECT_HEADER_CREATOR_INFO
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
smooth NULL
Definition: ftsmooth.c:416
#define PCHAR
Definition: match.c:90
#define OB_FLAG_CREATOR_INFO
Definition: obtypes.h:99

Definition at line 126 of file obtypes.h.

◆ OBJECT_HEADER_TO_EXCLUSIVE_PROCESS

#define OBJECT_HEADER_TO_EXCLUSIVE_PROCESS (   h)
Value:
((!((h)->Flags & OB_FLAG_EXCLUSIVE)) ? \
(h)->QuotaInfoOffset))->ExclusiveProcess))
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
_Must_inspect_result_ _In_ ULONG Flags
Definition: wsk.h:170
smooth NULL
Definition: ftsmooth.c:416
#define OB_FLAG_EXCLUSIVE
Definition: obtypes.h:100
#define PCHAR
Definition: match.c:90

Definition at line 131 of file obtypes.h.

◆ OBJECT_HEADER_TO_HANDLE_INFO

#define OBJECT_HEADER_TO_HANDLE_INFO (   h)
Value:
((POBJECT_HEADER_HANDLE_INFO)(!(h)->HandleInfoOffset ? \
NULL: ((PCHAR)(h) - (h)->HandleInfoOffset)))
struct _OBJECT_HEADER_HANDLE_INFO * POBJECT_HEADER_HANDLE_INFO
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
#define PCHAR
Definition: match.c:90

Definition at line 118 of file obtypes.h.

◆ OBJECT_HEADER_TO_NAME_INFO

#define OBJECT_HEADER_TO_NAME_INFO (   h)
Value:
((POBJECT_HEADER_NAME_INFO)(!(h)->NameInfoOffset ? \
NULL: ((PCHAR)(h) - (h)->NameInfoOffset)))
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
#define PCHAR
Definition: match.c:90
struct _OBJECT_HEADER_NAME_INFO * POBJECT_HEADER_NAME_INFO

Definition at line 114 of file obtypes.h.

◆ OBJECT_HEADER_TO_QUOTA_INFO

#define OBJECT_HEADER_TO_QUOTA_INFO (   h)
Value:
((POBJECT_HEADER_QUOTA_INFO)(!(h)->QuotaInfoOffset ? \
NULL: ((PCHAR)(h) - (h)->QuotaInfoOffset)))
GLfloat GLfloat GLfloat GLfloat h
Definition: glext.h:7723
#define PCHAR
Definition: match.c:90
struct _OBJECT_HEADER_QUOTA_INFO * POBJECT_HEADER_QUOTA_INFO

Definition at line 122 of file obtypes.h.

◆ OBJECT_TO_OBJECT_HEADER

#define OBJECT_TO_OBJECT_HEADER (   o)    CONTAINING_RECORD((o), OBJECT_HEADER, Body)

Definition at line 111 of file obtypes.h.

Typedef Documentation

◆ DEVICE_MAP

◆ OB_CLOSE_METHOD

Definition at line 201 of file obtypes.h.

◆ OB_DELETE_METHOD

typedef VOID(NTAPI * OB_DELETE_METHOD) (_In_ PVOID Object)

Definition at line 210 of file obtypes.h.

◆ OB_DUMP_CONTROL

◆ OB_DUMP_METHOD

typedef VOID(NTAPI * OB_DUMP_METHOD) (_In_ PVOID Object, _In_opt_ POB_DUMP_CONTROL Control)

Definition at line 186 of file obtypes.h.

◆ OB_OKAYTOCLOSE_METHOD

Definition at line 251 of file obtypes.h.

◆ OB_OPEN_METHOD

Definition at line 192 of file obtypes.h.

◆ OB_OPEN_REASON

◆ OB_PARSE_METHOD

◆ OB_QUERYNAME_METHOD

Definition at line 241 of file obtypes.h.

◆ OB_SECURITY_METHOD

◆ OBJECT_ALL_TYPES_INFORMATION

◆ OBJECT_CREATE_INFORMATION

◆ OBJECT_DIRECTORY

◆ OBJECT_DIRECTORY_ENTRY

◆ OBJECT_DIRECTORY_INFORMATION

◆ OBJECT_HANDLE_ATTRIBUTE_INFORMATION

◆ OBJECT_HANDLE_COUNT_DATABASE

◆ OBJECT_HANDLE_COUNT_ENTRY

◆ OBJECT_HEADER

◆ OBJECT_HEADER_CREATOR_INFO

◆ OBJECT_HEADER_HANDLE_INFO

◆ OBJECT_HEADER_NAME_INFO

◆ OBJECT_HEADER_QUOTA_INFO

◆ OBJECT_SYMBOLIC_LINK

◆ OBJECT_TYPE

◆ OBJECT_TYPE_INFORMATION

◆ OBJECT_TYPE_INITIALIZER

◆ OBP_LOOKUP_CONTEXT

◆ PDEVICE_MAP

◆ POB_DUMP_CONTROL

◆ POBJECT_ALL_TYPES_INFORMATION

◆ POBJECT_CREATE_INFORMATION

◆ POBJECT_DIRECTORY

◆ POBJECT_DIRECTORY_ENTRY

◆ POBJECT_DIRECTORY_INFORMATION

◆ POBJECT_HANDLE_ATTRIBUTE_INFORMATION

◆ POBJECT_HANDLE_COUNT_DATABASE

◆ POBJECT_HANDLE_COUNT_ENTRY

◆ POBJECT_HEADER

◆ POBJECT_HEADER_CREATOR_INFO

◆ POBJECT_HEADER_HANDLE_INFO

◆ POBJECT_HEADER_NAME_INFO

◆ POBJECT_HEADER_QUOTA_INFO

◆ POBJECT_SYMBOLIC_LINK

◆ POBJECT_TYPE_INFORMATION

◆ POBJECT_TYPE_INITIALIZER

◆ POBP_LOOKUP_CONTEXT

Enumeration Type Documentation

◆ _OB_OPEN_REASON

Enumerator
ObCreateHandle 
ObOpenHandle 
ObDuplicateHandle 
ObInheritHandle 
ObMaxOpenReason 

Definition at line 139 of file obtypes.h.

Variable Documentation

◆ ObSystemDeviceMap