ReactOS 0.4.15-dev-8135-g1bc6c90
obfuncs.h
Go to the documentation of this file.
2/******************************************************************************
3 * Object Manager Functions *
4 ******************************************************************************/
6
7#if (NTDDI_VERSION >= NTDDI_WIN2K)
15#define ObDereferenceObject ObfDereferenceObject
16
25
32#define ObReferenceObject ObfReferenceObject
33
45
55
58VOID
65
76
88
90VOID
94
103
106NTAPI
111#endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
112
113#if (NTDDI_VERSION >= NTDDI_VISTA)
116VOID
117NTAPI
121$if (_NTIFS_)
122
125NTAPI
129#endif
130
132#if (NTDDI_VERSION >= NTDDI_VISTASP1)
135NTAPI
136ObRegisterCallbacks(
137 _In_ POB_CALLBACK_REGISTRATION CallbackRegistration,
139
141VOID
142NTAPI
145
147USHORT
148NTAPI
150
151#endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */
153
154#if (NTDDI_VERSION >= NTDDI_WIN7)
159NTAPI
160ObReferenceObjectByHandleWithTag(
168
173ObfReferenceObjectWithTag(
175 _In_ ULONG Tag);
176
180NTAPI
181ObReferenceObjectByPointerWithTag(
186 _In_ ULONG Tag);
187
192ObfDereferenceObjectWithTag(
194 _In_ ULONG Tag);
195
197VOID
198NTAPI
201 _In_ ULONG Tag);
202
203#define ObDereferenceObject ObfDereferenceObject
204#define ObReferenceObject ObfReferenceObject
205#define ObDereferenceObjectWithTag ObfDereferenceObjectWithTag
206#define ObReferenceObjectWithTag ObfReferenceObjectWithTag
208$if (_NTIFS_)
209
212NTAPI
213ObOpenObjectByPointerWithTag(
220 _In_ ULONG Tag,
222
224ULONG
225NTAPI
228);
229
231#endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
232
unsigned char BOOLEAN
LONG NTSTATUS
Definition: precomp.h:26
#define _IRQL_requires_max_(irql)
Definition: driverspecs.h:230
#define APC_LEVEL
Definition: env_spec_w32.h:695
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
ULONG Handle
Definition: gdb_input.c:15
#define _NTIFS_
Definition: ifssupp.h:20
ObjectType
Definition: metafile.c:81
#define _Out_opt_
Definition: ms_sal.h:346
#define _Outptr_
Definition: ms_sal.h:427
#define _Inout_opt_
Definition: ms_sal.h:379
#define _Out_
Definition: ms_sal.h:345
#define _In_
Definition: ms_sal.h:308
#define _In_opt_
Definition: ms_sal.h:309
#define _Out_writes_bytes_opt_(size)
Definition: ms_sal.h:351
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG _Out_opt_ PULONG ReturnLength
Definition: obfuncs.h:296
NTKERNELAPI ULONG NTAPI ObGetObjectPointerCount(_In_ PVOID Object)
NTKERNELAPI VOID NTAPI ObDereferenceObjectDeferDelete(_In_ PVOID Object)
_In_ HANDLE _In_opt_ HANDLE _Out_opt_ PHANDLE _In_ ACCESS_MASK _In_ ULONG HandleAttributes
Definition: obfuncs.h:433
ULONG ACCESS_MASK
Definition: nt_native.h:40
#define FASTCALL
Definition: nt_native.h:50
_In_ ULONG _In_ ULONG _In_ ULONG Length
Definition: ntddpcm.h:102
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:455
BOOLEAN NTAPI ObIsKernelHandle(IN HANDLE Handle)
Definition: obhandle.c:3525
NTSTATUS NTAPI ObInsertObject(IN PVOID Object, IN PACCESS_STATE AccessState OPTIONAL, IN ACCESS_MASK DesiredAccess, IN ULONG ObjectPointerBias, OUT PVOID *NewObject OPTIONAL, OUT PHANDLE Handle)
Definition: obhandle.c:2935
LONG_PTR FASTCALL ObfReferenceObject(IN PVOID Object)
Definition: obref.c:308
LONG_PTR FASTCALL ObfDereferenceObject(IN PVOID Object)
Definition: obref.c:318
NTSTATUS NTAPI ObReferenceObjectByHandle(IN HANDLE Handle, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode, OUT PVOID *Object, OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL)
Definition: obref.c:494
NTSTATUS NTAPI ObReferenceObjectByPointer(IN PVOID Object, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode)
Definition: obref.c:381
NTSTATUS NTAPI ObGetObjectSecurity(IN PVOID Object, OUT PSECURITY_DESCRIPTOR *SecurityDescriptor, OUT PBOOLEAN MemoryAllocated)
Definition: obsecure.c:611
VOID NTAPI ObReleaseObjectSecurity(IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN BOOLEAN MemoryAllocated)
Definition: obsecure.c:709
unsigned short USHORT
Definition: pedump.c:61
uint32_t * PULONG
Definition: typedefs.h:59
unsigned char * PBOOLEAN
Definition: typedefs.h:53
#define NTAPI
Definition: typedefs.h:36
uint32_t ULONG
Definition: typedefs.h:59
_Must_inspect_result_ _In_ WDFCOLLECTION _In_ WDFOBJECT Object
_Must_inspect_result_ _In_ WDFDEVICE _In_ BOOLEAN _In_opt_ PVOID Tag
Definition: wdfdevice.h:4065
_Must_inspect_result_ _In_ WDFDEVICE _In_ ULONG _In_ ACCESS_MASK DesiredAccess
Definition: wdfdevice.h:2658
#define _WDMDDK_
Definition: wdm.template.h:26
#define NTKERNELAPI
_In_ USHORT _In_ ULONG _In_ PSOCKADDR _In_ PSOCKADDR _Reserved_ ULONG _In_opt_ PVOID _In_opt_ const WSK_CLIENT_CONNECTION_DISPATCH _In_opt_ PEPROCESS _In_opt_ PETHREAD _In_opt_ PSECURITY_DESCRIPTOR SecurityDescriptor
Definition: wsk.h:191
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
_In_ PEPROCESS _In_ KPROCESSOR_MODE AccessMode
Definition: mmfuncs.h:396
$endif(_WDMDDK_) $if(_NTIFS_) NTKERNELAPI NTSTATUS NTAPI ObInsertObject(_In_ PVOID Object
Definition: ke.h:202
NTKERNELAPI NTSTATUS NTAPI ObQueryNameString(_In_ PVOID Object, _Out_writes_bytes_opt_(Length) POBJECT_NAME_INFORMATION ObjectNameInfo, _In_ ULONG Length, _Out_ PULONG ReturnLength)
NTKERNELAPI USHORT NTAPI ObGetFilterVersion(VOID)
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE _In_ KPROCESSOR_MODE _Out_ PVOID _Out_opt_ POBJECT_HANDLE_INFORMATION HandleInformation
Definition: obfuncs.h:44
_Inout_opt_ PACCESS_STATE _In_opt_ ACCESS_MASK _In_ ULONG ObjectPointerBias
Definition: obfuncs.h:73
_Inout_opt_ PACCESS_STATE PassedAccessState
Definition: obfuncs.h:71
$if(_WDMDDK_) $endif(_WDMDDK_) $if(_WDMDDK_) _IRQL_requires_max_(DISPATCH_LEVEL) NTKERNELAPI LONG_PTR FASTCALL ObfDereferenceObject(_In_ PVOID Object)
Definition: ke.h:1
NTKERNELAPI VOID NTAPI ObDereferenceObjectDeferDeleteWithTag(_In_ PVOID Object, _In_ ULONG Tag)
_Inout_opt_ PACCESS_STATE _In_opt_ ACCESS_MASK _In_ ULONG _Out_opt_ PVOID * NewObject
Definition: obfuncs.h:74
_Outptr_ PVOID * RegistrationHandle
Definition: obfuncs.h:138
_Out_ PSECURITY_DESCRIPTOR _Out_ PBOOLEAN MemoryAllocated
Definition: obfuncs.h:24
NTKERNELAPI VOID NTAPI ObUnRegisterCallbacks(_In_ PVOID RegistrationHandle)
NTKERNELAPI NTSTATUS NTAPI ObQueryObjectAuditingByHandle(_In_ HANDLE Handle, _Out_ PBOOLEAN GenerateOnClose)
NTKERNELAPI NTSTATUS NTAPI ObOpenObjectByPointer(_In_ PVOID Object, _In_ ULONG HandleAttributes, _In_opt_ PACCESS_STATE PassedAccessState, _In_ ACCESS_MASK DesiredAccess, _In_opt_ POBJECT_TYPE ObjectType, _In_ KPROCESSOR_MODE AccessMode, _Out_ PHANDLE Handle)
NTKERNELAPI VOID NTAPI ObMakeTemporaryObject(_In_ PVOID Object)
_In_opt_ PVOID _In_opt_ PUNICODE_STRING _In_ PSECURITY_DESCRIPTOR _In_ PACCESS_STATE _In_ BOOLEAN _In_ BOOLEAN _In_ KPROCESSOR_MODE _In_opt_ GUID _Out_ PBOOLEAN GenerateOnClose
Definition: sefuncs.h:422