[CMAKE]
[reactos.git] / include / xdk / obfuncs.h
1 $if (_WDMDDK_)
2 /******************************************************************************
3 * Object Manager Functions *
4 ******************************************************************************/
5 $endif (_WDMDDK_)
6
7 #if (NTDDI_VERSION >= NTDDI_WIN2K)
8 $if (_WDMDDK_)
9 NTKERNELAPI
10 LONG_PTR
11 FASTCALL
12 ObfDereferenceObject(
13 IN PVOID Object);
14 #define ObDereferenceObject ObfDereferenceObject
15
16 NTKERNELAPI
17 NTSTATUS
18 NTAPI
19 ObGetObjectSecurity(
20 IN PVOID Object,
21 OUT PSECURITY_DESCRIPTOR *SecurityDescriptor,
22 OUT PBOOLEAN MemoryAllocated);
23
24 NTKERNELAPI
25 LONG_PTR
26 FASTCALL
27 ObfReferenceObject(
28 IN PVOID Object);
29 #define ObReferenceObject ObfReferenceObject
30
31 NTKERNELAPI
32 NTSTATUS
33 NTAPI
34 ObReferenceObjectByHandle(
35 IN HANDLE Handle,
36 IN ACCESS_MASK DesiredAccess,
37 IN POBJECT_TYPE ObjectType OPTIONAL,
38 IN KPROCESSOR_MODE AccessMode,
39 OUT PVOID *Object,
40 OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL);
41
42 NTKERNELAPI
43 NTSTATUS
44 NTAPI
45 ObReferenceObjectByPointer(
46 IN PVOID Object,
47 IN ACCESS_MASK DesiredAccess,
48 IN POBJECT_TYPE ObjectType OPTIONAL,
49 IN KPROCESSOR_MODE AccessMode);
50
51 NTKERNELAPI
52 VOID
53 NTAPI
54 ObReleaseObjectSecurity(
55 IN PSECURITY_DESCRIPTOR SecurityDescriptor,
56 IN BOOLEAN MemoryAllocated);
57 $endif (_WDMDDK_)
58 $if (_NTIFS_)
59
60 NTKERNELAPI
61 NTSTATUS
62 NTAPI
63 ObInsertObject(
64 IN PVOID Object,
65 IN OUT PACCESS_STATE PassedAccessState OPTIONAL,
66 IN ACCESS_MASK DesiredAccess OPTIONAL,
67 IN ULONG ObjectPointerBias,
68 OUT PVOID *NewObject OPTIONAL,
69 OUT PHANDLE Handle OPTIONAL);
70
71 NTKERNELAPI
72 NTSTATUS
73 NTAPI
74 ObOpenObjectByPointer(
75 IN PVOID Object,
76 IN ULONG HandleAttributes,
77 IN PACCESS_STATE PassedAccessState OPTIONAL,
78 IN ACCESS_MASK DesiredAccess OPTIONAL,
79 IN POBJECT_TYPE ObjectType OPTIONAL,
80 IN KPROCESSOR_MODE AccessMode,
81 OUT PHANDLE Handle);
82
83 NTKERNELAPI
84 VOID
85 NTAPI
86 ObMakeTemporaryObject(
87 IN PVOID Object);
88
89 NTKERNELAPI
90 NTSTATUS
91 NTAPI
92 ObQueryNameString(
93 IN PVOID Object,
94 OUT POBJECT_NAME_INFORMATION ObjectNameInfo OPTIONAL,
95 IN ULONG Length,
96 OUT PULONG ReturnLength);
97
98 NTKERNELAPI
99 NTSTATUS
100 NTAPI
101 ObQueryObjectAuditingByHandle(
102 IN HANDLE Handle,
103 OUT PBOOLEAN GenerateOnClose);
104 $endif (_NTIFS_)
105 #endif /* (NTDDI_VERSION >= NTDDI_WIN2K) */
106
107 #if (NTDDI_VERSION >= NTDDI_VISTA)
108 $if (_WDMDDK_)
109 NTKERNELAPI
110 VOID
111 NTAPI
112 ObDereferenceObjectDeferDelete(
113 IN PVOID Object);
114 $endif (_WDMDDK_)
115 $if (_NTIFS_)
116
117 NTKERNELAPI
118 BOOLEAN
119 NTAPI
120 ObIsKernelHandle(
121 IN HANDLE Handle);
122 $endif (_NTIFS_)
123 #endif
124
125 $if (_WDMDDK_)
126 #if (NTDDI_VERSION >= NTDDI_VISTASP1)
127 NTKERNELAPI
128 NTSTATUS
129 NTAPI
130 ObRegisterCallbacks(
131 IN POB_CALLBACK_REGISTRATION CallbackRegistration,
132 OUT PVOID *RegistrationHandle);
133
134 NTKERNELAPI
135 VOID
136 NTAPI
137 ObUnRegisterCallbacks(
138 IN PVOID RegistrationHandle);
139
140 NTKERNELAPI
141 USHORT
142 NTAPI
143 ObGetFilterVersion(VOID);
144
145 #endif /* (NTDDI_VERSION >= NTDDI_VISTASP1) */
146 $endif (_WDMDDK_)
147
148 #if (NTDDI_VERSION >= NTDDI_WIN7)
149 $if (_WDMDDK_)
150 NTKERNELAPI
151 NTSTATUS
152 NTAPI
153 ObReferenceObjectByHandleWithTag(
154 IN HANDLE Handle,
155 IN ACCESS_MASK DesiredAccess,
156 IN POBJECT_TYPE ObjectType OPTIONAL,
157 IN KPROCESSOR_MODE AccessMode,
158 IN ULONG Tag,
159 OUT PVOID *Object,
160 OUT POBJECT_HANDLE_INFORMATION HandleInformation OPTIONAL);
161
162 NTKERNELAPI
163 LONG_PTR
164 FASTCALL
165 ObfReferenceObjectWithTag(
166 IN PVOID Object,
167 IN ULONG Tag);
168
169 NTKERNELAPI
170 NTSTATUS
171 NTAPI
172 ObReferenceObjectByPointerWithTag(
173 IN PVOID Object,
174 IN ACCESS_MASK DesiredAccess,
175 IN POBJECT_TYPE ObjectType OPTIONAL,
176 IN KPROCESSOR_MODE AccessMode,
177 IN ULONG Tag);
178
179 NTKERNELAPI
180 LONG_PTR
181 FASTCALL
182 ObfDereferenceObjectWithTag(
183 IN PVOID Object,
184 IN ULONG Tag);
185
186 NTKERNELAPI
187 VOID
188 NTAPI
189 ObDereferenceObjectDeferDeleteWithTag(
190 IN PVOID Object,
191 IN ULONG Tag);
192
193 #define ObDereferenceObject ObfDereferenceObject
194 #define ObReferenceObject ObfReferenceObject
195 #define ObDereferenceObjectWithTag ObfDereferenceObjectWithTag
196 #define ObReferenceObjectWithTag ObfReferenceObjectWithTag
197 $endif (_WDMDDK_)
198 $if (_NTIFS_)
199
200 NTKERNELAPI
201 NTSTATUS
202 NTAPI
203 ObOpenObjectByPointerWithTag(
204 IN PVOID Object,
205 IN ULONG HandleAttributes,
206 IN PACCESS_STATE PassedAccessState OPTIONAL,
207 IN ACCESS_MASK DesiredAccess,
208 IN POBJECT_TYPE ObjectType OPTIONAL,
209 IN KPROCESSOR_MODE AccessMode,
210 IN ULONG Tag,
211 OUT PHANDLE Handle);
212 $endif (_NTIFS_)
213 #endif /* (NTDDI_VERSION >= NTDDI_WIN7) */
214