Add NDK 1.00-pre. Needs some TLC in umtypes.h and a lot of fixes. Not used anywhere...
[reactos.git] / reactos / include / ndk / obfuncs.h
1 /*
2 * PROJECT: ReactOS Native Headers
3 * FILE: include/ndk/obfuncs.h
4 * PURPOSE: Protoypes for OBject Manager Functions not defined in DDK/IFS
5 * PROGRAMMER: Alex Ionescu (alex@relsoft.net)
6 * UPDATE HISTORY:
7 * Created 06/10/04
8 */
9 #ifndef _OBFUNCS_H
10 #define _OBFUNCS_H
11
12 /* DEPENDENCIES **************************************************************/
13
14 /* FUNCTION TYPES ************************************************************/
15
16 /* PROTOTYPES ****************************************************************/
17
18 NTSTATUS
19 STDCALL
20 ObCreateObject (
21 IN KPROCESSOR_MODE ObjectAttributesAccessMode OPTIONAL,
22 IN POBJECT_TYPE ObjectType,
23 IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
24 IN KPROCESSOR_MODE AccessMode,
25 IN OUT PVOID ParseContext OPTIONAL,
26 IN ULONG ObjectSize,
27 IN ULONG PagedPoolCharge OPTIONAL,
28 IN ULONG NonPagedPoolCharge OPTIONAL,
29 OUT PVOID *Object
30 );
31
32 ULONG
33 STDCALL
34 ObGetObjectPointerCount (
35 IN PVOID Object
36 );
37
38 NTSTATUS
39 STDCALL
40 ObInsertObject (
41 IN PVOID Object,
42 IN PACCESS_STATE PassedAccessState OPTIONAL,
43 IN ACCESS_MASK DesiredAccess,
44 IN ULONG AdditionalReferences,
45 OUT PVOID *ReferencedObject OPTIONAL,
46 OUT PHANDLE Handle
47 );
48
49 VOID
50 STDCALL
51 ObMakeTemporaryObject (
52 IN PVOID Object
53 );
54
55 NTSTATUS
56 STDCALL
57 ObOpenObjectByPointer (
58 IN PVOID Object,
59 IN ULONG HandleAttributes,
60 IN PACCESS_STATE PassedAccessState OPTIONAL,
61 IN ACCESS_MASK DesiredAccess OPTIONAL,
62 IN POBJECT_TYPE ObjectType OPTIONAL,
63 IN KPROCESSOR_MODE AccessMode,
64 OUT PHANDLE Handle
65 );
66
67 NTSTATUS
68 STDCALL
69 ObQueryNameString (
70 IN PVOID Object,
71 OUT POBJECT_NAME_INFORMATION ObjectNameInfo,
72 IN ULONG Length,
73 OUT PULONG ReturnLength
74 );
75
76 NTSTATUS
77 STDCALL
78 ObQueryObjectAuditingByHandle (
79 IN HANDLE Handle,
80 OUT PBOOLEAN GenerateOnClose
81 );
82
83 NTSTATUS
84 STDCALL
85 ObReferenceObjectByName (
86 IN PUNICODE_STRING ObjectName,
87 IN ULONG Attributes,
88 IN PACCESS_STATE PassedAccessState OPTIONAL,
89 IN ACCESS_MASK DesiredAccess OPTIONAL,
90 IN POBJECT_TYPE ObjectType,
91 IN KPROCESSOR_MODE AccessMode,
92 IN OUT PVOID ParseContext OPTIONAL,
93 OUT PVOID *Object
94 );
95
96 #endif