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
275 ZwCreateDirectoryObject(
276 OUT PHANDLE DirectoryHandle
,
277 IN ACCESS_MASK DesiredAccess
,
278 IN POBJECT_ATTRIBUTES ObjectAttributes
283 ZwCreateSymbolicLinkObject(
284 OUT PHANDLE SymbolicLinkHandle
,
285 IN ACCESS_MASK DesiredAccess
,
286 IN POBJECT_ATTRIBUTES ObjectAttributes
,
287 IN PUNICODE_STRING Name
293 ZwDeleteObjectAuditAlarm(
294 IN PUNICODE_STRING SubsystemName
,
296 IN BOOLEAN GenerateOnClose
303 IN HANDLE SourceProcessHandle
,
304 IN HANDLE SourceHandle
,
305 IN HANDLE TargetProcessHandle
,
306 OUT PHANDLE TargetHandle
,
307 IN ACCESS_MASK DesiredAccess
,
308 IN ULONG HandleAttributes
,
314 ZwMakePermanentObject(
321 ZwMakeTemporaryObject(
328 ZwOpenDirectoryObject(
329 OUT PHANDLE FileHandle
,
330 IN ACCESS_MASK DesiredAccess
,
331 IN POBJECT_ATTRIBUTES ObjectAttributes
338 ACCESS_MASK DesiredAccess
,
339 POBJECT_ATTRIBUTES ObjectAttributes
345 ZwOpenSymbolicLinkObject(
346 OUT PHANDLE SymbolicLinkHandle
,
347 IN ACCESS_MASK DesiredAccess
,
348 IN POBJECT_ATTRIBUTES ObjectAttributes
353 ZwQueryDirectoryObject(
354 IN HANDLE DirectoryHandle
,
356 IN ULONG BufferLength
,
357 IN BOOLEAN ReturnSingleEntry
,
358 IN BOOLEAN RestartScan
,
359 IN OUT PULONG Context
,
360 OUT PULONG ReturnLength OPTIONAL
366 IN HANDLE ObjectHandle
,
367 IN OBJECT_INFORMATION_CLASS ObjectInformationClass
,
368 OUT PVOID ObjectInformation
,
370 OUT PULONG ResultLength OPTIONAL
376 ZwQuerySecurityObject(
378 IN SECURITY_INFORMATION SecurityInformation
,
379 OUT PSECURITY_DESCRIPTOR SecurityDescriptor
,
381 OUT PULONG ResultLength
387 ZwQuerySymbolicLinkObject(
388 IN HANDLE SymLinkObjHandle
,
389 OUT PUNICODE_STRING LinkTarget
,
390 OUT PULONG DataWritten OPTIONAL
395 ZwSetInformationObject(
396 IN HANDLE ObjectHandle
,
397 IN OBJECT_INFORMATION_CLASS ObjectInformationClass
,
398 IN PVOID ObjectInformation
,
407 IN SECURITY_INFORMATION SecurityInformation
,
408 IN PSECURITY_DESCRIPTOR SecurityDescriptor
413 ZwSignalAndWaitForSingleObject(
414 IN HANDLE SignalObject
,
415 IN HANDLE WaitObject
,
416 IN BOOLEAN Alertable
,
417 IN PLARGE_INTEGER Time
422 ZwWaitForMultipleObjects(
425 IN WAIT_TYPE WaitType
,
426 IN BOOLEAN Alertable
,
427 IN PLARGE_INTEGER Time
433 ZwWaitForSingleObject(
435 IN BOOLEAN Alertable
,
436 IN PLARGE_INTEGER Time