ReactOS 0.4.15-dev-7961-gdcf9eb0
obtypes.h
Go to the documentation of this file.
1/******************************************************************************
2 * Object Manager Types *
3 ******************************************************************************/
4
6#define MAXIMUM_FILENAME_LENGTH 256
7#define OBJ_NAME_PATH_SEPARATOR ((WCHAR)L'\\')
8
9#define OBJECT_TYPE_CREATE 0x0001
10#define OBJECT_TYPE_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
11
12#define DIRECTORY_QUERY 0x0001
13#define DIRECTORY_TRAVERSE 0x0002
14#define DIRECTORY_CREATE_OBJECT 0x0004
15#define DIRECTORY_CREATE_SUBDIRECTORY 0x0008
16#define DIRECTORY_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0xF)
17
18#define SYMBOLIC_LINK_QUERY 0x0001
19#define SYMBOLIC_LINK_ALL_ACCESS (STANDARD_RIGHTS_REQUIRED | 0x1)
20
21#define DUPLICATE_CLOSE_SOURCE 0x00000001
22#define DUPLICATE_SAME_ACCESS 0x00000002
23#define DUPLICATE_SAME_ATTRIBUTES 0x00000004
24
25#define OB_FLT_REGISTRATION_VERSION_0100 0x0100
26#define OB_FLT_REGISTRATION_VERSION OB_FLT_REGISTRATION_VERSION_0100
27
28typedef ULONG OB_OPERATION;
29
30#define OB_OPERATION_HANDLE_CREATE 0x00000001
31#define OB_OPERATION_HANDLE_DUPLICATE 0x00000002
32
37
44
49
51 _In_ OB_OPERATION Operation;
52 _ANONYMOUS_UNION union {
54 _ANONYMOUS_STRUCT struct {
64
68
72
77
79 _In_ OB_OPERATION Operation;
80 _ANONYMOUS_UNION union {
82 _ANONYMOUS_STRUCT struct {
93
97
100 _In_ PVOID RegistrationContext,
101 _Inout_ POB_PRE_OPERATION_INFORMATION OperationInformation);
102
103typedef VOID
105 _In_ PVOID RegistrationContext,
106 _In_ POB_POST_OPERATION_INFORMATION OperationInformation);
107
110 _In_ OB_OPERATION Operations;
114
122
123typedef struct _OBJECT_NAME_INFORMATION {
126
127/* Exported object types */
128#ifdef _NTSYSTEM_
136#else
159#endif
160
162$if (_NTIFS_)
163typedef enum _OBJECT_INFORMATION_CLASS {
167$if (_NTIFS_) // we should remove these, but the kernel needs them :-/
168 /* Not for public use */
171 ObjectHandleFlagInformation = 4,
172 ObjectSessionInformation = 5,
173 MaxObjectInfoClass
175$if (_NTIFS_)
177
179
_OBJECT_INFORMATION_CLASS
Definition: DriverTester.h:53
@ ObjectTypeInformation
Definition: DriverTester.h:56
@ ObjectBasicInformation
Definition: DriverTester.h:54
@ ObjectNameInformation
Definition: DriverTester.h:55
#define VOID
Definition: acefi.h:82
LONG NTSTATUS
Definition: precomp.h:26
#define NTSYSAPI
Definition: ntoskrnl.h:12
#define _NTIFS_
Definition: ifssupp.h:20
enum _OBJECT_INFORMATION_CLASS OBJECT_INFORMATION_CLASS
@ ObjectTypesInformation
Definition: winternl.h:851
#define _Inout_
Definition: ms_sal.h:378
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
ULONG ACCESS_MASK
Definition: nt_native.h:40
struct _OBJECT_NAME_INFORMATION OBJECT_NAME_INFORMATION
struct _OBJECT_NAME_INFORMATION * POBJECT_NAME_INFORMATION
#define _ANONYMOUS_UNION
Definition: ntbasedef.h:30
#define _ANONYMOUS_STRUCT
Definition: ntbasedef.h:56
unsigned short USHORT
Definition: pedump.c:61
UNICODE_STRING Name
Definition: nt_native.h:1270
_In_ PVOID RegistrationContext
Definition: obtypes.h:119
_In_ USHORT OperationRegistrationCount
Definition: obtypes.h:117
_In_ UNICODE_STRING Altitude
Definition: obtypes.h:118
_In_ OB_OPERATION_REGISTRATION * OperationRegistration
Definition: obtypes.h:120
_In_ POBJECT_TYPE * ObjectType
Definition: obtypes.h:109
_In_ POB_POST_OPERATION_CALLBACK PostOperation
Definition: obtypes.h:112
_In_ OB_OPERATION Operations
Definition: obtypes.h:110
_In_ POB_PRE_OPERATION_CALLBACK PreOperation
Definition: obtypes.h:111
Definition: obtypes.h:65
_In_ ACCESS_MASK GrantedAccess
Definition: obtypes.h:66
Definition: obtypes.h:69
_In_ ACCESS_MASK GrantedAccess
Definition: obtypes.h:70
Definition: obtypes.h:78
_ANONYMOUS_UNION union _OB_POST_OPERATION_INFORMATION::@4161 DUMMYUNIONNAME
_In_ ULONG KernelHandle
Definition: obtypes.h:83
_In_ NTSTATUS ReturnStatus
Definition: obtypes.h:90
_In_ PVOID CallContext
Definition: obtypes.h:89
_In_ POB_POST_OPERATION_PARAMETERS Parameters
Definition: obtypes.h:91
_In_ POBJECT_TYPE ObjectType
Definition: obtypes.h:88
_In_ ULONG Flags
Definition: obtypes.h:81
_ANONYMOUS_STRUCT struct _OB_POST_OPERATION_INFORMATION::@4161::@4162 DUMMYSTRUCTNAME
_In_ PVOID Object
Definition: obtypes.h:87
_In_ OB_OPERATION Operation
Definition: obtypes.h:79
_In_ ULONG Reserved
Definition: obtypes.h:84
_Inout_ ACCESS_MASK DesiredAccess
Definition: obtypes.h:34
_In_ ACCESS_MASK OriginalDesiredAccess
Definition: obtypes.h:35
_In_ ACCESS_MASK OriginalDesiredAccess
Definition: obtypes.h:40
_Inout_ ACCESS_MASK DesiredAccess
Definition: obtypes.h:39
_In_ POB_PRE_OPERATION_PARAMETERS Parameters
Definition: obtypes.h:62
_In_ OB_OPERATION Operation
Definition: obtypes.h:51
_In_ POBJECT_TYPE ObjectType
Definition: obtypes.h:60
_ANONYMOUS_STRUCT struct _OB_PRE_OPERATION_INFORMATION::@4159::@4160 DUMMYSTRUCTNAME
_ANONYMOUS_UNION union _OB_PRE_OPERATION_INFORMATION::@4159 DUMMYUNIONNAME
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG
Definition: typedefs.h:59
Definition: obtypes.h:73
_In_ OB_POST_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation
Definition: obtypes.h:75
_In_ OB_POST_CREATE_HANDLE_INFORMATION CreateHandleInformation
Definition: obtypes.h:74
_Inout_ OB_PRE_DUPLICATE_HANDLE_INFORMATION DuplicateHandleInformation
Definition: obtypes.h:47
_Inout_ OB_PRE_CREATE_HANDLE_INFORMATION CreateHandleInformation
Definition: obtypes.h:46
#define __CREATE_NTOS_DATA_IMPORT_ALIAS(_Name)
#define _WDMDDK_
Definition: wdm.template.h:26
union _OB_POST_OPERATION_PARAMETERS * POB_POST_OPERATION_PARAMETERS
POBJECT_TYPE * TmTransactionObjectType
struct _OB_POST_CREATE_HANDLE_INFORMATION OB_POST_CREATE_HANDLE_INFORMATION
struct _OB_PRE_OPERATION_INFORMATION OB_PRE_OPERATION_INFORMATION
union _OB_PRE_OPERATION_PARAMETERS OB_PRE_OPERATION_PARAMETERS
POBJECT_TYPE * SeTokenObjectType
Definition: token.c:17
OB_PREOP_CALLBACK_STATUS(NTAPI * POB_PRE_OPERATION_CALLBACK)(_In_ PVOID RegistrationContext, _Inout_ POB_PRE_OPERATION_INFORMATION OperationInformation)
Definition: obtypes.h:99
$endif(_WDMDDK_) $if(_NTIFS_) typedef enum _OBJECT_INFORMATION_CLASS
Definition: obtypes.h:161
POBJECT_TYPE * TmResourceManagerObjectType
enum _OB_PREOP_CALLBACK_STATUS * POB_PREOP_CALLBACK_STATUS
struct _OB_OPERATION_REGISTRATION * POB_OPERATION_REGISTRATION
POBJECT_TYPE * CmKeyObjectType
struct _OB_POST_OPERATION_INFORMATION * POB_POST_OPERATION_INFORMATION
POBJECT_TYPE * PsThreadType
Definition: thread.c:20
struct _OB_PRE_CREATE_HANDLE_INFORMATION * POB_PRE_CREATE_HANDLE_INFORMATION
$if(_WDMDDK_) typedef ULONG OB_OPERATION
Definition: ke.h:1
POBJECT_TYPE * ExEventObjectType
Definition: event.c:18
struct _OB_PRE_CREATE_HANDLE_INFORMATION OB_PRE_CREATE_HANDLE_INFORMATION
struct _OB_PRE_DUPLICATE_HANDLE_INFORMATION OB_PRE_DUPLICATE_HANDLE_INFORMATION
struct _OB_POST_CREATE_HANDLE_INFORMATION * POB_POST_CREATE_HANDLE_INFORMATION
union _OB_POST_OPERATION_PARAMETERS OB_POST_OPERATION_PARAMETERS
union _OB_PRE_OPERATION_PARAMETERS * POB_PRE_OPERATION_PARAMETERS
VOID(NTAPI * POB_POST_OPERATION_CALLBACK)(_In_ PVOID RegistrationContext, _In_ POB_POST_OPERATION_INFORMATION OperationInformation)
Definition: obtypes.h:104
struct _OB_OPERATION_REGISTRATION OB_OPERATION_REGISTRATION
struct _OB_PRE_OPERATION_INFORMATION * POB_PRE_OPERATION_INFORMATION
enum _OB_PREOP_CALLBACK_STATUS OB_PREOP_CALLBACK_STATUS
POBJECT_TYPE * TmTransactionManagerObjectType
struct _OB_POST_DUPLICATE_HANDLE_INFORMATION OB_POST_DUPLICATE_HANDLE_INFORMATION
POBJECT_TYPE * IoFileObjectType
Definition: iomgr.c:36
struct _OB_PRE_DUPLICATE_HANDLE_INFORMATION * POB_PRE_DUPLICATE_HANDLE_INFORMATION
POBJECT_TYPE * PsProcessType
Definition: process.c:20
struct _OB_POST_OPERATION_INFORMATION OB_POST_OPERATION_INFORMATION
_OB_PREOP_CALLBACK_STATUS
Definition: obtypes.h:94
@ OB_PREOP_SUCCESS
Definition: obtypes.h:95
struct _OB_CALLBACK_REGISTRATION * POB_CALLBACK_REGISTRATION
struct _OB_CALLBACK_REGISTRATION OB_CALLBACK_REGISTRATION
struct _OB_POST_DUPLICATE_HANDLE_INFORMATION * POB_POST_DUPLICATE_HANDLE_INFORMATION
POBJECT_TYPE * ExSemaphoreObjectType
Definition: sem.c:22
POBJECT_TYPE * TmEnlistmentObjectType