3 Copyright (c) Alex Ionescu. All rights reserved.
11 Type definitions for the Object Manager
15 Alex Ionescu (alex.ionescu@reactos.com) 06-Oct-2004
27 #ifndef NTOS_MODE_USER
35 IN KPROCESSOR_MODE ObjectAttributesAccessMode OPTIONAL
,
36 IN POBJECT_TYPE ObjectType
,
37 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL
,
38 IN KPROCESSOR_MODE AccessMode
,
39 IN OUT PVOID ParseContext OPTIONAL
,
41 IN ULONG PagedPoolCharge OPTIONAL
,
42 IN ULONG NonPagedPoolCharge OPTIONAL
,
48 ObGetObjectPointerCount(
54 ObReferenceObjectByName(
55 IN PUNICODE_STRING ObjectName
,
57 IN PACCESS_STATE PassedAccessState OPTIONAL
,
58 IN ACCESS_MASK DesiredAccess OPTIONAL
,
59 IN POBJECT_TYPE ObjectType
,
60 IN KPROCESSOR_MODE AccessMode
,
61 IN OUT PVOID ParseContext OPTIONAL
,
67 ObFindHandleForObject(
70 IN POBJECT_TYPE ObjectType
,
71 IN POBJECT_HANDLE_INFORMATION HandleInformation
,
90 NtCloseObjectAuditAlarm(
91 IN PUNICODE_STRING SubsystemName
,
93 IN BOOLEAN GenerateOnClose
98 NtCreateDirectoryObject(
99 OUT PHANDLE DirectoryHandle
,
100 IN ACCESS_MASK DesiredAccess
,
101 IN POBJECT_ATTRIBUTES ObjectAttributes
106 NtCreateSymbolicLinkObject(
107 OUT PHANDLE SymbolicLinkHandle
,
108 IN ACCESS_MASK DesiredAccess
,
109 IN POBJECT_ATTRIBUTES ObjectAttributes
,
110 IN PUNICODE_STRING Name
116 NtDeleteObjectAuditAlarm(
117 IN PUNICODE_STRING SubsystemName
,
119 IN BOOLEAN GenerateOnClose
125 IN HANDLE SourceProcessHandle
,
126 IN HANDLE SourceHandle
,
127 IN HANDLE TargetProcessHandle
,
128 OUT PHANDLE TargetHandle
,
129 IN ACCESS_MASK DesiredAccess
,
130 IN ULONG HandleAttributes
,
136 NtMakePermanentObject(
142 NtMakeTemporaryObject(
148 NtOpenDirectoryObject(
149 OUT PHANDLE FileHandle
,
150 IN ACCESS_MASK DesiredAccess
,
151 IN POBJECT_ATTRIBUTES ObjectAttributes
158 ACCESS_MASK DesiredAccess
,
159 POBJECT_ATTRIBUTES ObjectAttributes
164 NtOpenSymbolicLinkObject(
165 OUT PHANDLE SymbolicLinkHandle
,
166 IN ACCESS_MASK DesiredAccess
,
167 IN POBJECT_ATTRIBUTES ObjectAttributes
172 NtQueryDirectoryObject(
173 IN HANDLE DirectoryHandle
,
175 IN ULONG BufferLength
,
176 IN BOOLEAN ReturnSingleEntry
,
177 IN BOOLEAN RestartScan
,
178 IN OUT PULONG Context
,
179 OUT PULONG ReturnLength OPTIONAL
185 IN HANDLE ObjectHandle
,
186 IN OBJECT_INFORMATION_CLASS ObjectInformationClass
,
187 OUT PVOID ObjectInformation
,
189 OUT PULONG ResultLength OPTIONAL
195 NtQuerySecurityObject(
197 IN SECURITY_INFORMATION SecurityInformation
,
198 OUT PSECURITY_DESCRIPTOR SecurityDescriptor
,
200 OUT PULONG ResultLength
205 NtQuerySymbolicLinkObject(
206 IN HANDLE SymLinkObjHandle
,
207 OUT PUNICODE_STRING LinkTarget
,
208 OUT PULONG DataWritten OPTIONAL
213 NtSetInformationObject(
214 IN HANDLE ObjectHandle
,
215 IN OBJECT_INFORMATION_CLASS ObjectInformationClass
,
216 IN PVOID ObjectInformation
,
225 IN SECURITY_INFORMATION SecurityInformation
,
226 IN PSECURITY_DESCRIPTOR SecurityDescriptor
231 NtSignalAndWaitForSingleObject(
232 IN HANDLE SignalObject
,
233 IN HANDLE WaitObject
,
234 IN BOOLEAN Alertable
,
235 IN PLARGE_INTEGER Time
240 NtWaitForMultipleObjects(
243 IN WAIT_TYPE WaitType
,
244 IN BOOLEAN Alertable
,
245 IN PLARGE_INTEGER Time
250 NtWaitForSingleObject(
252 IN BOOLEAN Alertable
,
253 IN PLARGE_INTEGER Time
266 ZwCloseObjectAuditAlarm(
267 IN PUNICODE_STRING SubsystemName
,
269 IN BOOLEAN GenerateOnClose
274 ZwCreateDirectoryObject(
275 OUT PHANDLE DirectoryHandle
,
276 IN ACCESS_MASK DesiredAccess
,
277 IN POBJECT_ATTRIBUTES ObjectAttributes
282 ZwCreateSymbolicLinkObject(
283 OUT PHANDLE SymbolicLinkHandle
,
284 IN ACCESS_MASK DesiredAccess
,
285 IN POBJECT_ATTRIBUTES ObjectAttributes
,
286 IN PUNICODE_STRING Name
292 ZwDeleteObjectAuditAlarm(
293 IN PUNICODE_STRING SubsystemName
,
295 IN BOOLEAN GenerateOnClose
301 IN HANDLE SourceProcessHandle
,
302 IN HANDLE SourceHandle
,
303 IN HANDLE TargetProcessHandle
,
304 OUT PHANDLE TargetHandle
,
305 IN ACCESS_MASK DesiredAccess
,
306 IN ULONG HandleAttributes
,
312 ZwMakePermanentObject(
318 ZwMakeTemporaryObject(
324 ZwOpenDirectoryObject(
325 OUT PHANDLE FileHandle
,
326 IN ACCESS_MASK DesiredAccess
,
327 IN POBJECT_ATTRIBUTES ObjectAttributes
334 ACCESS_MASK DesiredAccess
,
335 POBJECT_ATTRIBUTES ObjectAttributes
340 ZwOpenSymbolicLinkObject(
341 OUT PHANDLE SymbolicLinkHandle
,
342 IN ACCESS_MASK DesiredAccess
,
343 IN POBJECT_ATTRIBUTES ObjectAttributes
348 ZwQueryDirectoryObject(
349 IN HANDLE DirectoryHandle
,
351 IN ULONG BufferLength
,
352 IN BOOLEAN ReturnSingleEntry
,
353 IN BOOLEAN RestartScan
,
354 IN OUT PULONG Context
,
355 OUT PULONG ReturnLength OPTIONAL
361 IN HANDLE ObjectHandle
,
362 IN OBJECT_INFORMATION_CLASS ObjectInformationClass
,
363 OUT PVOID ObjectInformation
,
365 OUT PULONG ResultLength OPTIONAL
371 ZwQuerySecurityObject(
373 IN SECURITY_INFORMATION SecurityInformation
,
374 OUT PSECURITY_DESCRIPTOR SecurityDescriptor
,
376 OUT PULONG ResultLength
381 ZwQuerySymbolicLinkObject(
382 IN HANDLE SymLinkObjHandle
,
383 OUT PUNICODE_STRING LinkTarget
,
384 OUT PULONG DataWritten OPTIONAL
389 ZwSetInformationObject(
390 IN HANDLE ObjectHandle
,
391 IN OBJECT_INFORMATION_CLASS ObjectInformationClass
,
392 IN PVOID ObjectInformation
,
401 IN SECURITY_INFORMATION SecurityInformation
,
402 IN PSECURITY_DESCRIPTOR SecurityDescriptor
407 ZwSignalAndWaitForSingleObject(
408 IN HANDLE SignalObject
,
409 IN HANDLE WaitObject
,
410 IN BOOLEAN Alertable
,
411 IN PLARGE_INTEGER Time
416 ZwWaitForMultipleObjects(
419 IN WAIT_TYPE WaitType
,
420 IN BOOLEAN Alertable
,
421 IN PLARGE_INTEGER Time
426 ZwWaitForSingleObject(
428 IN BOOLEAN Alertable
,
429 IN PLARGE_INTEGER Time