ReactOS  r75907
obfuncs.h
Go to the documentation of this file.
2 /******************************************************************************
3  * Object Manager Functions *
4  ******************************************************************************/
6 
7 #if (NTDDI_VERSION >= NTDDI_WIN2K)
14  _In_ PVOID Object);
15 #define ObDereferenceObject ObfDereferenceObject
16 
20 NTAPI
22  _In_ PVOID Object,
25 
31  _In_ PVOID Object);
32 #define ObReferenceObject ObfReferenceObject
33 
37 NTAPI
43  _Out_ PVOID *Object,
45 
49 NTAPI
51  _In_ PVOID Object,
52  _In_ ACCESS_MASK DesiredAccess,
53  _In_opt_ POBJECT_TYPE ObjectType,
54  _In_ KPROCESSOR_MODE AccessMode);
55 
58 VOID
59 NTAPI
61  _In_ PSECURITY_DESCRIPTOR SecurityDescriptor,
62  _In_ BOOLEAN MemoryAllocated);
64 $if (_NTIFS_)
65 
68 NTAPI
70  _In_ PVOID Object,
72  _In_opt_ ACCESS_MASK DesiredAccess,
75  _Out_opt_ PHANDLE Handle);
76 
79 NTAPI
81  _In_ PVOID Object,
83  _In_opt_ PACCESS_STATE PassedAccessState,
84  _In_ ACCESS_MASK DesiredAccess,
85  _In_opt_ POBJECT_TYPE ObjectType,
86  _In_ KPROCESSOR_MODE AccessMode,
87  _Out_ PHANDLE Handle);
88 
90 VOID
91 NTAPI
93  _In_ PVOID Object);
94 
97 NTAPI
99  _In_ PVOID Object,
101  _In_ ULONG Length,
103 
105 NTSTATUS
106 NTAPI
108  _In_ HANDLE Handle,
110 $endif (_NTIFS_)
111 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
112 
113 #if (NTDDI_VERSION >= NTDDI_VISTA)
114 $if (_WDMDDK_)
116 VOID
117 NTAPI
119  _In_ PVOID Object);
121 $if (_NTIFS_)
122 
124 BOOLEAN
125 NTAPI
127  _In_ HANDLE Handle);
128 $endif (_NTIFS_)
129 #endif
130 
131 $if (_WDMDDK_)
132 #if (NTDDI_VERSION >= NTDDI_VISTASP1)
134 NTSTATUS
135 NTAPI
136 ObRegisterCallbacks(
137  _In_ POB_CALLBACK_REGISTRATION CallbackRegistration,
139 
141 VOID
142 NTAPI
145 
147 USHORT
148 NTAPI
150 
151 #endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */
153 
154 #if (NTDDI_VERSION >= NTDDI_WIN7)
155 $if (_WDMDDK_)
158 NTSTATUS
159 NTAPI
160 ObReferenceObjectByHandleWithTag(
161  _In_ HANDLE Handle,
162  _In_ ACCESS_MASK DesiredAccess,
163  _In_opt_ POBJECT_TYPE ObjectType,
164  _In_ KPROCESSOR_MODE AccessMode,
165  _In_ ULONG Tag,
166  _Out_ PVOID *Object,
167  _Out_opt_ POBJECT_HANDLE_INFORMATION HandleInformation);
168 
171 LONG_PTR
172 FASTCALL
173 ObfReferenceObjectWithTag(
174  _In_ PVOID Object,
175  _In_ ULONG Tag);
176 
179 NTSTATUS
180 NTAPI
181 ObReferenceObjectByPointerWithTag(
182  _In_ PVOID Object,
183  _In_ ACCESS_MASK DesiredAccess,
184  _In_opt_ POBJECT_TYPE ObjectType,
185  _In_ KPROCESSOR_MODE AccessMode,
186  _In_ ULONG Tag);
187 
190 LONG_PTR
191 FASTCALL
192 ObfDereferenceObjectWithTag(
193  _In_ PVOID Object,
194  _In_ ULONG Tag);
195 
197 VOID
198 NTAPI
200  _In_ PVOID Object,
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 
211 NTSTATUS
212 NTAPI
213 ObOpenObjectByPointerWithTag(
214  _In_ PVOID Object,
215  _In_ ULONG HandleAttributes,
216  _In_opt_ PACCESS_STATE PassedAccessState,
217  _In_ ACCESS_MASK DesiredAccess,
218  _In_opt_ POBJECT_TYPE ObjectType,
219  _In_ KPROCESSOR_MODE AccessMode,
220  _In_ ULONG Tag,
221  _Out_ PHANDLE Handle);
222 
224 ULONG
225 NTAPI
227  _In_ PVOID Object
228 );
229 
230 $endif (_NTIFS_)
231 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
232 
_In_ OBJECT_INFORMATION_CLASS _In_ ULONG _Out_opt_ PULONG ReturnLength
Definition: obfuncs.h:294
DWORD *typedef PVOID
Definition: winlogon.h:52
LONG_PTR FASTCALL ObfDereferenceObject(IN PVOID Object)
Definition: obref.c:212
NTKERNELAPI USHORT NTAPI ObGetFilterVersion(VOID)
_In_ HANDLE _In_opt_ HANDLE _Out_opt_ PHANDLE _In_ ACCESS_MASK _In_ ULONG HandleAttributes
Definition: obfuncs.h:429
BOOLEAN NTAPI ObIsKernelHandle(IN HANDLE Handle)
Definition: obhandle.c:3515
_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:182
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)
_Out_ PSECURITY_DESCRIPTOR _Out_ PBOOLEAN MemoryAllocated
Definition: obfuncs.h:23
LONG_PTR FASTCALL ObfReferenceObject(IN PVOID Object)
Definition: obref.c:202
_In_ HANDLE _In_opt_ HANDLE _Out_opt_ PHANDLE _In_ ACCESS_MASK DesiredAccess
Definition: obfuncs.h:429
#define _NTIFS_
Definition: ifssupp.h:20
#define _Outptr_
Definition: no_sal2.h:396
_Inout_opt_ PACCESS_STATE PassedAccessState
Definition: obfuncs.h:71
#define _WDMDDK_
Definition: wdm.template.h:26
#define FASTCALL
Definition: nt_native.h:50
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE _In_ KPROCESSOR_MODE _Out_ PVOID * Object
Definition: obfuncs.h:40
#define _In_opt_
Definition: no_sal2.h:213
_IRQL_requires_max_(PASSIVE_LEVEL) __kernel_entry NTSYSCALLAPI NTSTATUS NTAPI NtQueryObject(_In_opt_ HANDLE Handle
Definition: Messaging.c:37
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:388
NTSTATUS(* NTAPI)(IN PFILE_FULL_EA_INFORMATION EaBuffer, IN ULONG EaLength, OUT PULONG ErrorOffset)
Definition: IoEaTest.cpp:117
VOID NTAPI ObReleaseObjectSecurity(IN PSECURITY_DESCRIPTOR SecurityDescriptor, IN BOOLEAN MemoryAllocated)
Definition: obsecure.c:709
#define _Out_
Definition: no_sal2.h:323
#define NTKERNELAPI
NTSTATUS NTAPI ObReferenceObjectByPointer(IN PVOID Object, IN ACCESS_MASK DesiredAccess, IN POBJECT_TYPE ObjectType, IN KPROCESSOR_MODE AccessMode)
Definition: obref.c:275
NTSTATUS NTAPI ObGetObjectSecurity(IN PVOID Object, OUT PSECURITY_DESCRIPTOR *SecurityDescriptor, OUT PBOOLEAN MemoryAllocated)
Definition: obsecure.c:611
#define _Out_opt_
Definition: no_sal2.h:339
_In_ HANDLE Handle
Definition: extypes.h:390
unsigned char BOOLEAN
_In_ OBJECT_INFORMATION_CLASS _Out_writes_bytes_opt_(ObjectInformationLength) PVOID ObjectInformation
_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:414
NTKERNELAPI NTSTATUS NTAPI ObQueryObjectAuditingByHandle(_In_ HANDLE Handle, _Out_ PBOOLEAN GenerateOnClose)
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE _In_ KPROCESSOR_MODE _Out_ PVOID _Out_opt_ POBJECT_HANDLE_INFORMATION HandleInformation
Definition: obfuncs.h:40
NTKERNELAPI VOID NTAPI ObMakeTemporaryObject(_In_ PVOID Object)
CCHAR KPROCESSOR_MODE
Definition: ketypes.h:7
$if(_WDMDDK_)$endif(_WDMDDK_) $if(_WDMDDK_) _IRQL_requires_max_(DISPATCH_LEVEL) NTKERNELAPI LONG_PTR FASTCALL ObfDereferenceObject(_In_ PVOID Object)
Definition: ke.h:1
char * PBOOLEAN
Definition: retypes.h:11
VOID UINTN Length
Definition: acefiex.h:744
PVOID *typedef PHANDLE
Definition: ntsecpkg.h:411
NTKERNELAPI ULONG NTAPI ObGetObjectPointerCount(_In_ PVOID Object)
_Outptr_ PVOID * RegistrationHandle
Definition: obfuncs.h:138
#define DISPATCH_LEVEL
Definition: env_spec_w32.h:696
#define _In_
Definition: no_sal2.h:204
DWORD *typedef HANDLE
Definition: winlogon.h:52
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:2925
LONG NTSTATUS
Definition: DriverTester.h:11
unsigned short USHORT
Definition: pedump.c:61
NTKERNELAPI VOID NTAPI ObUnRegisterCallbacks(_In_ PVOID RegistrationHandle)
NTKERNELAPI NTSTATUS NTAPI ObQueryNameString(_In_ PVOID Object, _Out_writes_bytes_opt_(Length) POBJECT_NAME_INFORMATION ObjectNameInfo, _In_ ULONG Length, _Out_ PULONG ReturnLength)
$endif(_WDMDDK_) $if(_NTIFS_) NTKERNELAPI NTSTATUS NTAPI ObInsertObject(_In_ PVOID Object
Definition: ke.h:202
__int3264 LONG_PTR
Definition: mstsclib_h.h:276
unsigned int * PULONG
Definition: retypes.h:1
IN ULONG IN ULONG Tag
Definition: evtlib.h:155
unsigned int ULONG
Definition: retypes.h:1
_Inout_opt_ PACCESS_STATE _In_opt_ ACCESS_MASK _In_ ULONG _Out_opt_ PVOID * NewObject
Definition: obfuncs.h:71
ObjectType
Definition: metafile.c:278
#define APC_LEVEL
Definition: env_spec_w32.h:695
ULONG ACCESS_MASK
Definition: nt_native.h:40
NTKERNELAPI VOID NTAPI ObDereferenceObjectDeferDelete(_In_ PVOID Object)
NTKERNELAPI VOID NTAPI ObDereferenceObjectDeferDeleteWithTag(_In_ PVOID Object, _In_ ULONG Tag)
_Inout_opt_ PACCESS_STATE _In_opt_ ACCESS_MASK _In_ ULONG ObjectPointerBias
Definition: obfuncs.h:71
#define _Inout_opt_
Definition: no_sal2.h:258
_In_ ACCESS_MASK _In_opt_ POBJECT_TYPE _In_ KPROCESSOR_MODE AccessMode
Definition: obfuncs.h:40