ReactOS 0.4.16-dev-329-g9223134
obtypes.h File Reference

Go to the source code of this file.

Classes

struct  _OB_PRE_CREATE_HANDLE_INFORMATION
 
struct  _OB_PRE_DUPLICATE_HANDLE_INFORMATION
 
union  _OB_PRE_OPERATION_PARAMETERS
 
struct  _OB_PRE_OPERATION_INFORMATION
 
struct  _OB_POST_CREATE_HANDLE_INFORMATION
 
struct  _OB_POST_DUPLICATE_HANDLE_INFORMATION
 
union  _OB_POST_OPERATION_PARAMETERS
 
struct  _OB_POST_OPERATION_INFORMATION
 
struct  _OB_OPERATION_REGISTRATION
 
struct  _OB_CALLBACK_REGISTRATION
 
struct  _OBJECT_NAME_INFORMATION
 

Macros

#define MAXIMUM_FILENAME_LENGTH   256
 
#define OBJ_NAME_PATH_SEPARATOR   ((WCHAR)L'\\')
 
#define OBJECT_TYPE_CREATE   0x0001
 
#define OBJECT_TYPE_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0x1)
 
#define DIRECTORY_QUERY   0x0001
 
#define DIRECTORY_TRAVERSE   0x0002
 
#define DIRECTORY_CREATE_OBJECT   0x0004
 
#define DIRECTORY_CREATE_SUBDIRECTORY   0x0008
 
#define DIRECTORY_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0xF)
 
#define SYMBOLIC_LINK_QUERY   0x0001
 
#define SYMBOLIC_LINK_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0x1)
 
#define DUPLICATE_CLOSE_SOURCE   0x00000001
 
#define DUPLICATE_SAME_ACCESS   0x00000002
 
#define DUPLICATE_SAME_ATTRIBUTES   0x00000004
 
#define OB_FLT_REGISTRATION_VERSION_0100   0x0100
 
#define OB_FLT_REGISTRATION_VERSION   OB_FLT_REGISTRATION_VERSION_0100
 
#define OB_OPERATION_HANDLE_CREATE   0x00000001
 
#define OB_OPERATION_HANDLE_DUPLICATE   0x00000002
 

Typedefs

typedef struct _OB_PRE_CREATE_HANDLE_INFORMATION OB_PRE_CREATE_HANDLE_INFORMATION
 
typedef struct _OB_PRE_CREATE_HANDLE_INFORMATIONPOB_PRE_CREATE_HANDLE_INFORMATION
 
typedef struct _OB_PRE_DUPLICATE_HANDLE_INFORMATION OB_PRE_DUPLICATE_HANDLE_INFORMATION
 
typedef struct _OB_PRE_DUPLICATE_HANDLE_INFORMATIONPOB_PRE_DUPLICATE_HANDLE_INFORMATION
 
typedef union _OB_PRE_OPERATION_PARAMETERS OB_PRE_OPERATION_PARAMETERS
 
typedef union _OB_PRE_OPERATION_PARAMETERSPOB_PRE_OPERATION_PARAMETERS
 
typedef struct _OB_PRE_OPERATION_INFORMATION OB_PRE_OPERATION_INFORMATION
 
typedef struct _OB_PRE_OPERATION_INFORMATIONPOB_PRE_OPERATION_INFORMATION
 
typedef struct _OB_POST_CREATE_HANDLE_INFORMATION OB_POST_CREATE_HANDLE_INFORMATION
 
typedef struct _OB_POST_CREATE_HANDLE_INFORMATIONPOB_POST_CREATE_HANDLE_INFORMATION
 
typedef struct _OB_POST_DUPLICATE_HANDLE_INFORMATION OB_POST_DUPLICATE_HANDLE_INFORMATION
 
typedef struct _OB_POST_DUPLICATE_HANDLE_INFORMATIONPOB_POST_DUPLICATE_HANDLE_INFORMATION
 
typedef union _OB_POST_OPERATION_PARAMETERS OB_POST_OPERATION_PARAMETERS
 
typedef union _OB_POST_OPERATION_PARAMETERSPOB_POST_OPERATION_PARAMETERS
 
typedef struct _OB_POST_OPERATION_INFORMATION OB_POST_OPERATION_INFORMATION
 
typedef struct _OB_POST_OPERATION_INFORMATIONPOB_POST_OPERATION_INFORMATION
 
typedef enum _OB_PREOP_CALLBACK_STATUS OB_PREOP_CALLBACK_STATUS
 
typedef enum _OB_PREOP_CALLBACK_STATUSPOB_PREOP_CALLBACK_STATUS
 
typedef OB_PREOP_CALLBACK_STATUS(NTAPIPOB_PRE_OPERATION_CALLBACK) (_In_ PVOID RegistrationContext, _Inout_ POB_PRE_OPERATION_INFORMATION OperationInformation)
 
typedef VOID(NTAPIPOB_POST_OPERATION_CALLBACK) (_In_ PVOID RegistrationContext, _In_ POB_POST_OPERATION_INFORMATION OperationInformation)
 
typedef struct _OB_OPERATION_REGISTRATION OB_OPERATION_REGISTRATION
 
typedef struct _OB_OPERATION_REGISTRATIONPOB_OPERATION_REGISTRATION
 
typedef struct _OB_CALLBACK_REGISTRATION OB_CALLBACK_REGISTRATION
 
typedef struct _OB_CALLBACK_REGISTRATIONPOB_CALLBACK_REGISTRATION
 
typedef struct _OBJECT_NAME_INFORMATION OBJECT_NAME_INFORMATION
 
typedef struct _OBJECT_NAME_INFORMATIONPOBJECT_NAME_INFORMATION
 

Enumerations

enum  _OB_PREOP_CALLBACK_STATUS { OB_PREOP_SUCCESS }
 

Functions

 $if (_WDMDDK_) typedef ULONG OB_OPERATION
 
 $endif (_WDMDDK_) $if(_NTIFS_) typedef enum _OBJECT_INFORMATION_CLASS
 

Variables

POBJECT_TYPECmKeyObjectType
 
POBJECT_TYPEIoFileObjectType
 
POBJECT_TYPEExEventObjectType
 
POBJECT_TYPEExSemaphoreObjectType
 
POBJECT_TYPETmTransactionManagerObjectType
 
POBJECT_TYPETmResourceManagerObjectType
 
POBJECT_TYPETmEnlistmentObjectType
 
POBJECT_TYPETmTransactionObjectType
 
POBJECT_TYPEPsProcessType
 
POBJECT_TYPEPsThreadType
 
POBJECT_TYPESeTokenObjectType
 
 OBJECT_INFORMATION_CLASS
 

Macro Definition Documentation

◆ DIRECTORY_ALL_ACCESS

#define DIRECTORY_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0xF)

◆ DIRECTORY_CREATE_OBJECT

#define DIRECTORY_CREATE_OBJECT   0x0004

◆ DIRECTORY_CREATE_SUBDIRECTORY

#define DIRECTORY_CREATE_SUBDIRECTORY   0x0008

◆ DIRECTORY_QUERY

#define DIRECTORY_QUERY   0x0001

◆ DIRECTORY_TRAVERSE

#define DIRECTORY_TRAVERSE   0x0002

◆ DUPLICATE_CLOSE_SOURCE

#define DUPLICATE_CLOSE_SOURCE   0x00000001

◆ DUPLICATE_SAME_ACCESS

#define DUPLICATE_SAME_ACCESS   0x00000002

◆ DUPLICATE_SAME_ATTRIBUTES

#define DUPLICATE_SAME_ATTRIBUTES   0x00000004

◆ MAXIMUM_FILENAME_LENGTH

#define MAXIMUM_FILENAME_LENGTH   256

◆ OB_FLT_REGISTRATION_VERSION

#define OB_FLT_REGISTRATION_VERSION   OB_FLT_REGISTRATION_VERSION_0100

◆ OB_FLT_REGISTRATION_VERSION_0100

#define OB_FLT_REGISTRATION_VERSION_0100   0x0100

◆ OB_OPERATION_HANDLE_CREATE

#define OB_OPERATION_HANDLE_CREATE   0x00000001

Definition at line 30 of file obtypes.h.

◆ OB_OPERATION_HANDLE_DUPLICATE

#define OB_OPERATION_HANDLE_DUPLICATE   0x00000002

Definition at line 31 of file obtypes.h.

◆ OBJ_NAME_PATH_SEPARATOR

#define OBJ_NAME_PATH_SEPARATOR   ((WCHAR)L'\\')

◆ OBJECT_TYPE_ALL_ACCESS

#define OBJECT_TYPE_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0x1)

◆ OBJECT_TYPE_CREATE

#define OBJECT_TYPE_CREATE   0x0001

◆ SYMBOLIC_LINK_ALL_ACCESS

#define SYMBOLIC_LINK_ALL_ACCESS   (STANDARD_RIGHTS_REQUIRED | 0x1)

◆ SYMBOLIC_LINK_QUERY

#define SYMBOLIC_LINK_QUERY   0x0001

Typedef Documentation

◆ OB_CALLBACK_REGISTRATION

◆ OB_OPERATION_REGISTRATION

◆ OB_POST_CREATE_HANDLE_INFORMATION

◆ OB_POST_DUPLICATE_HANDLE_INFORMATION

◆ OB_POST_OPERATION_INFORMATION

◆ OB_POST_OPERATION_PARAMETERS

◆ OB_PRE_CREATE_HANDLE_INFORMATION

◆ OB_PRE_DUPLICATE_HANDLE_INFORMATION

◆ OB_PRE_OPERATION_INFORMATION

◆ OB_PRE_OPERATION_PARAMETERS

◆ OB_PREOP_CALLBACK_STATUS

◆ OBJECT_NAME_INFORMATION

◆ POB_CALLBACK_REGISTRATION

◆ POB_OPERATION_REGISTRATION

◆ POB_POST_CREATE_HANDLE_INFORMATION

◆ POB_POST_DUPLICATE_HANDLE_INFORMATION

◆ POB_POST_OPERATION_CALLBACK

typedef VOID(NTAPI * POB_POST_OPERATION_CALLBACK) (_In_ PVOID RegistrationContext, _In_ POB_POST_OPERATION_INFORMATION OperationInformation)

Definition at line 103 of file obtypes.h.

◆ POB_POST_OPERATION_INFORMATION

◆ POB_POST_OPERATION_PARAMETERS

◆ POB_PRE_CREATE_HANDLE_INFORMATION

◆ POB_PRE_DUPLICATE_HANDLE_INFORMATION

◆ POB_PRE_OPERATION_CALLBACK

typedef OB_PREOP_CALLBACK_STATUS(NTAPI * POB_PRE_OPERATION_CALLBACK) (_In_ PVOID RegistrationContext, _Inout_ POB_PRE_OPERATION_INFORMATION OperationInformation)

Definition at line 98 of file obtypes.h.

◆ POB_PRE_OPERATION_INFORMATION

◆ POB_PRE_OPERATION_PARAMETERS

◆ POB_PREOP_CALLBACK_STATUS

◆ POBJECT_NAME_INFORMATION

Enumeration Type Documentation

◆ _OB_PREOP_CALLBACK_STATUS

Enumerator
OB_PREOP_SUCCESS 

Definition at line 94 of file obtypes.h.

94 {
enum _OB_PREOP_CALLBACK_STATUS * POB_PREOP_CALLBACK_STATUS
enum _OB_PREOP_CALLBACK_STATUS OB_PREOP_CALLBACK_STATUS
@ OB_PREOP_SUCCESS
Definition: obtypes.h:95

Function Documentation

◆ $endif()

$endif ( _WDMDDK_  )

Definition at line 161 of file obtypes.h.

163 {
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_)
@ ObjectTypeInformation
Definition: DriverTester.h:56
@ ObjectBasicInformation
Definition: DriverTester.h:54
@ ObjectNameInformation
Definition: DriverTester.h:55
#define _NTIFS_
Definition: ifssupp.h:20
@ ObjectTypesInformation
Definition: winternl.h:851
$endif(_WDMDDK_) $if(_NTIFS_) typedef enum _OBJECT_INFORMATION_CLASS
Definition: obtypes.h:161
$if(_WDMDDK_) typedef ULONG OB_OPERATION
Definition: ke.h:1
OBJECT_INFORMATION_CLASS
Definition: obtypes.h:176

Referenced by $endif().

◆ $if()

$if ( _WDMDDK_  )

Kernel definitions for AMD64

Kernel definitions for ARM

Kernel definitions for ARM64

Kernel definitions for AMD64

Kernel definitions for ARM

Kernel definitions for x86

Definition at line 1 of file ke.h.

31{
32 ULONG Dummy;
KFLOATING_SAVE
Definition: ke.h:33
* PKFLOATING_SAVE
Definition: ke.h:33
uint32_t ULONG
Definition: typedefs.h:59

Referenced by $endif().

Variable Documentation

◆ CmKeyObjectType

POBJECT_TYPE* CmKeyObjectType
extern

◆ ExEventObjectType

◆ ExSemaphoreObjectType

◆ IoFileObjectType

POBJECT_TYPE* IoFileObjectType
extern

Definition at line 36 of file iomgr.c.

Referenced by add_device(), AfdBindSocket(), BasicBehaviorChecks(), CompBattGetDeviceObjectPointer(), Control(), create_snapshot(), CreateGreenFdo(), CreateMixerPinAndSetFormat(), DispTdiAssociateAddress(), duplicate_extents(), Ext2InvalidateVolumes(), IKsPin_PinMasterClock(), invalidate_volumes(), IoCheckDesiredAccess(), IoComputeDesiredAccessFileObject(), IoCreateStreamFileObjectEx(), IoCreateStreamFileObjectLite(), IopCreateObjectTypes(), IopDeviceFsIoControl(), IopGetDeviceObjectPointer(), IopMarkBootPartition(), IopOpenLinkOrRenameTarget(), IopParseDevice(), KernelModeTest(), MmCreateArm3Section(), MmCreateSection(), MountMgrVolumeMountPointChanged(), NtCancelIoFile(), NtCreatePagingFile(), NtFlushBuffersFile(), NtLoadKeyEx(), NtLockFile(), NtNotifyChangeDirectoryFile(), NtQueryDirectoryFile(), NtQueryInformationFile(), NtQueryVolumeInformationFile(), NtReadFile(), NtSaveKeyEx(), NtSaveMergedKeys(), NtSetInformationFile(), NtSetVolumeInformationFile(), NtUnlockFile(), ObpLookupObjectName(), OpenDevice(), FxIoTargetRemote::OpenTargetHandle(), Pin_fnDeviceIoControl(), Pin_fnWrite(), PopAddRemoveSysCapsCallback(), send_subvol(), START_TEST(), TdiOpenDevice(), TestIoCreateFile(), TestObjectTypes(), TestProviderInfo(), TestSharedCacheMap(), TestSymlinks(), TestTcpConnect(), UDFInvalidateVolumes(), VfatSetRenameInformation(), WdmAudControlDeviceState(), WdmAudFrameSize(), WdmAudOpenSysAudioDevices(), WdmAudReadWrite(), and WdmAudResetStream().

◆ OBJECT_INFORMATION_CLASS

Definition at line 176 of file obtypes.h.

◆ PsProcessType

◆ PsThreadType

◆ SeTokenObjectType

◆ TmEnlistmentObjectType

POBJECT_TYPE* TmEnlistmentObjectType
extern

◆ TmResourceManagerObjectType

POBJECT_TYPE* TmResourceManagerObjectType
extern

◆ TmTransactionManagerObjectType

POBJECT_TYPE* TmTransactionManagerObjectType
extern

◆ TmTransactionObjectType

POBJECT_TYPE* TmTransactionObjectType
extern