Added some more prototypes

svn path=/trunk/; revision=2641
This commit is contained in:
Eric Kohl 2002-02-22 17:57:57 +00:00
parent e21b78b3e3
commit 14f393cb80
5 changed files with 159 additions and 50 deletions

View file

@ -1,11 +1,53 @@
#ifndef _INCLUDE_DDK_OBFUNCS_H
#define _INCLUDE_DDK_OBFUNCS_H
/* OBJECT MANAGER ************************************************************/
NTSTATUS STDCALL
ObCreateObject(PHANDLE Handle,
ACCESS_MASK DesiredAccess,
POBJECT_ATTRIBUTES ObjectAttributes,
POBJECT_TYPE Type,
PVOID *Object);
ObAssignSecurity(IN PACCESS_STATE AccessState,
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
IN PVOID Object,
IN POBJECT_TYPE Type);
/*
BOOLEAN STDCALL
ObCheckCreateObjectAccess(IN PVOID Object,
IN ACCESS_MASK DesiredAccess,
ULONG Param3,
ULONG Param4,
ULONG Param5,
IN KPROCESSOR_MODE AccessMode,
OUT PNTSTATUS AccessStatus);
*/
/*
BOOLEAN STDCALL
ObCheckObjectAccess(IN PVOID Object,
ULONG Param2,
ULONG Param3,
IN KPROCESSOR_MODE AccessMode,
OUT PACCESS_MODE GrantedAccess);
*/
NTSTATUS STDCALL
ObCreateObject(OUT PHANDLE Handle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_ATTRIBUTES ObjectAttributes,
IN POBJECT_TYPE Type,
OUT PVOID *Object);
#if 0
/* original implementation */
NTSTATUS STDCALL
ObCreateObject(IN KPROCESSOR_MODE ObjectAttributesAccessMode OPTIONAL,
IN POBJECT_TYPE Type,
IN POBJECT_ATTRIBUTES ObjectAttributes OPTIONAL,
IN KPROCESSOR_MODE AccessMode,
IN OUT PVOID ParseContext OPTIONAL,
IN ULONG ObjectSize,
IN ULONG PagedPoolCharge OPTIONAL,
IN ULONG NonPagedPoolCharge OPTIONAL,
OUT PVOID *Object);
#endif
VOID FASTCALL
ObfDereferenceObject(IN PVOID Object);
@ -19,16 +61,29 @@ ObfReferenceObject(IN PVOID Object);
#define ObReferenceObject(Object) \
ObfReferenceObject(Object)
/*
BOOLEAN STDCALL
ObFindHandleForObject(ULONG Param1,
ULONG Param2,
ULONG Param3,
ULONG Param4);
*/
ULONG STDCALL
ObGetObjectPointerCount(IN PVOID Object);
NTSTATUS STDCALL
ObInsertObject(PVOID Object,
PACCESS_STATE PassedAccessState,
ACCESS_MASK DesiredAccess,
ULONG AdditionalReferences,
PVOID* ReferencedObject,
PHANDLE Handle);
ObGetObjectSecurity(IN PVOID Object,
OUT PSECURITY_DESCRIPTOR *SecurityDescriptor,
OUT PBOOLEAN MemoryAllocated);
NTSTATUS STDCALL
ObInsertObject(IN PVOID Object,
IN PACCESS_STATE PassedAccessState OPTIONAL,
IN ACCESS_MASK DesiredAccess,
IN ULONG AdditionalReferences,
OUT PVOID* ReferencedObject OPTIONAL,
OUT PHANDLE Handle);
VOID STDCALL
ObMakeTemporaryObject(IN PVOID ObjectBody);
@ -36,7 +91,7 @@ ObMakeTemporaryObject(IN PVOID ObjectBody);
NTSTATUS STDCALL
ObOpenObjectByName(IN POBJECT_ATTRIBUTES ObjectAttributes,
IN POBJECT_TYPE ObjectType,
IN PVOID ParseContext,
IN OUT PVOID ParseContext OPTIONAL,
IN KPROCESSOR_MODE AccessMode,
IN ACCESS_MASK DesiredAccess,
IN PACCESS_STATE PassedAccessState,
@ -45,12 +100,22 @@ ObOpenObjectByName(IN POBJECT_ATTRIBUTES ObjectAttributes,
NTSTATUS STDCALL
ObOpenObjectByPointer(IN PVOID Object,
IN ULONG HandleAttributes,
IN PACCESS_STATE PassedAccessState,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_TYPE ObjectType,
IN PACCESS_STATE PassedAccessState OPTIONAL,
IN ACCESS_MASK DesiredAccess OPTIONAL,
IN POBJECT_TYPE ObjectType OPTIONAL,
IN KPROCESSOR_MODE AccessMode,
OUT PHANDLE Handle);
NTSTATUS STDCALL
ObQueryNameString(IN PVOID Object,
OUT POBJECT_NAME_INFORMATION ObjectNameInfo,
IN ULONG Length,
OUT PULONG ReturnLength);
NTSTATUS STDCALL
ObQueryObjectAuditingByHandle(IN HANDLE Handle,
OUT PBOOLEAN GenerateOnClose);
/*
* FUNCTION: Performs access validation on an object handle and if access
* is granted returns a pointer to the object's body
@ -66,12 +131,12 @@ ObOpenObjectByPointer(IN PVOID Object,
* RETURNS: Status
*/
NTSTATUS STDCALL
ObReferenceObjectByHandle(HANDLE Handle,
ACCESS_MASK DesiredAccess,
POBJECT_TYPE ObjectType,
KPROCESSOR_MODE AccessMode,
PVOID* Object,
POBJECT_HANDLE_INFORMATION HandleInfo);
ObReferenceObjectByHandle(IN HANDLE Handle,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_TYPE ObjectType OPTIONAL,
IN KPROCESSOR_MODE AccessMode,
OUT PVOID* Object,
OUT POBJECT_HANDLE_INFORMATION HandleInfo OPTIONAL);
/*
* FUNCTION: Increments the reference count for a given object
@ -83,18 +148,33 @@ ObReferenceObjectByHandle(HANDLE Handle,
* RETURNS: Status
*/
NTSTATUS STDCALL
ObReferenceObjectByPointer(PVOID Object,
ACCESS_MASK DesiredAccess,
POBJECT_TYPE ObjectType,
KPROCESSOR_MODE AccessMode);
ObReferenceObjectByPointer(IN PVOID Object,
IN ACCESS_MASK DesiredAccess,
IN POBJECT_TYPE ObjectType,
IN KPROCESSOR_MODE AccessMode);
NTSTATUS STDCALL
ObReferenceObjectByName(PUNICODE_STRING ObjectPath,
ULONG Attributes,
PACCESS_STATE PassedAccessState,
ACCESS_MASK DesiredAccess,
POBJECT_TYPE ObjectType,
KPROCESSOR_MODE AccessMode,
PVOID ParseContext,
PVOID* ObjectPtr);
ObReferenceObjectByName(IN PUNICODE_STRING ObjectPath,
IN ULONG Attributes,
IN PACCESS_STATE PassedAccessState OPTIONAL,
IN ACCESS_MASK DesiredAccess OPTIONAL,
IN POBJECT_TYPE ObjectType,
IN KPROCESSOR_MODE AccessMode,
IN OUT PVOID ParseContext OPTIONAL,
OUT PVOID* ObjectPtr);
VOID STDCALL
ObReleaseObjectSecurity(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
IN BOOLEAN MemoryAllocated);
/*
NTSTATUS STDCALL
ObSetSecurityDescriptorInfo(IN PVOID Object,
IN PSECURITY_INFORMATION SecurityInformation,
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
ULONG Param4,
IN POOL_TYPE PoolType,
IN PGENERIC_MAPPING GenericMapping);
*/
#endif /* ndef _INCLUDE_DDK_OBFUNCS_H */

View file

@ -1,6 +1,6 @@
#ifndef _INCLUDE_DDK_SEFUNCS_H
#define _INCLUDE_DDK_SEFUNCS_H
/* $Id: sefuncs.h,v 1.16 2002/02/22 13:34:36 ekohl Exp $ */
/* $Id: sefuncs.h,v 1.17 2002/02/22 17:57:17 ekohl Exp $ */
BOOLEAN STDCALL
SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
@ -54,6 +54,9 @@ SeCreateClientSecurity(IN struct _ETHREAD *Thread,
NTSTATUS STDCALL
SeDeassignSecurity(IN OUT PSECURITY_DESCRIPTOR* SecurityDescriptor);
VOID STDCALL
SeDeleteAccessState(IN PACCESS_STATE AccessState);
VOID STDCALL
SeDeleteObjectAuditAlarm(IN PVOID Object,
IN HANDLE Handle);

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.def,v 1.128 2002/02/20 20:16:49 ekohl Exp $
; $Id: ntoskrnl.def,v 1.129 2002/02/22 17:57:57 ekohl Exp $
;
; reactos/ntoskrnl/ntoskrnl.def
;
@ -554,14 +554,14 @@ NtVdmControl@8
NtW32Call@20
NtWaitForSingleObject@12
NtWriteFile@36
;ObAssignSecurity@16
ObAssignSecurity@16
;ObCheckCreateObjectAccess@28
;ObCheckObjectAccess@20
;ObCreateObject@36
ObCreateObject@20
;ObFindHandleForObject@20
;ObGetObjectPointerCount@4
;ObGetObjectSecurity@12
ObGetObjectPointerCount@4
ObGetObjectSecurity@12
;ObInsertObject@24
ObMakeTemporaryObject@4
ObOpenObjectByName@28
@ -573,7 +573,7 @@ ObOpenObjectByPointer@28
ObReferenceObjectByHandle@24
ObReferenceObjectByName@32
ObReferenceObjectByPointer@16
;ObReleaseObjectSecurity@8
ObReleaseObjectSecurity@8
;ObSetSecurityDescriptorInfo@24
;PfxFindPrefix
;PfxInitialize
@ -846,9 +846,9 @@ SePublicDefaultDacl DATA
SeReleaseSubjectContext@4
;SeSetAccessStateGenericMapping@8
;SeSetSecurityDescriptorInfo@24
;SeSinglePrivilegeCheck@12
SeSinglePrivilegeCheck@12
SeSystemDefaultDacl DATA
;SeTokenImpersonationLevel@4
SeTokenImpersonationLevel@4
SeTokenType@4
;SeUnlockSubjectContext@4
;SeUnregisterLogonSessionTerminatedRoutine@4

View file

@ -1,4 +1,4 @@
; $Id: ntoskrnl.edf,v 1.114 2002/02/20 20:16:49 ekohl Exp $
; $Id: ntoskrnl.edf,v 1.115 2002/02/22 17:57:57 ekohl Exp $
;
; reactos/ntoskrnl/ntoskrnl.def
;
@ -554,14 +554,14 @@ NtVdmControl=NtVdmControl@8
NtW32Call=NtW32Call@20
NtWaitForSingleObject=NtWaitForSingleObject@12
NtWriteFile=NtWriteFile@36
;ObAssignSecurity=ObAssignSecurity@16
ObAssignSecurity=ObAssignSecurity@16
;ObCheckCreateObjectAccess=ObCheckCreateObjectAccess@28
;ObCheckObjectAccess=ObCheckObjectAccess@20
;ObCreateObject=ObCreateObject@36
ObCreateObject=ObCreateObject@20
;ObFindHandleForObject=ObFindHandleForObject@20
;ObGetObjectPointerCount=ObGetObjectPointerCount@4
;ObGetObjectSecurity=ObGetObjectSecurity@12
ObGetObjectPointerCount=ObGetObjectPointerCount@4
ObGetObjectSecurity=ObGetObjectSecurity@12
;ObInsertObject=ObInsertObject@24
ObMakeTemporaryObject=ObMakeTemporaryObject@4
ObOpenObjectByName=ObOpenObjectByName@28
@ -573,7 +573,7 @@ ObfReferenceObject=@ObfReferenceObject@4
ObReferenceObjectByHandle=ObReferenceObjectByHandle@24
ObReferenceObjectByName=ObReferenceObjectByName@32
ObReferenceObjectByPointer=ObReferenceObjectByPointer@16
;ObReleaseObjectSecurity=ObReleaseObjectSecurity@8
ObReleaseObjectSecurity=ObReleaseObjectSecurity@8
;ObSetSecurityDescriptorInfo=ObSetSecurityDescriptorInfo@24
;PfxFindPrefix
;PfxInitialize
@ -845,9 +845,9 @@ SePublicDefaultDacl DATA
SeReleaseSubjectContext=SeReleaseSubjectContext@4
;SeSetAccessStateGenericMapping=SeSetAccessStateGenericMapping@8
;SeSetSecurityDescriptorInfo=SeSetSecurityDescriptorInfo@24
;SeSinglePrivilegeCheck=SeSinglePrivilegeCheck@12
SeSinglePrivilegeCheck=SeSinglePrivilegeCheck@12
SeSystemDefaultDacl DATA
;SeTokenImpersonationLevel=SeTokenImpersonationLevel@4
SeTokenImpersonationLevel=SeTokenImpersonationLevel@4
SeTokenType=SeTokenType@4
;SeUnlockSubjectContext=SeUnlockSubjectContext@4
;SeUnregisterLogonSessionTerminatedRoutine=SeUnregisterLogonSessionTerminatedRoutine@4

View file

@ -17,6 +17,33 @@
/* FUNCTIONS ***************************************************************/
NTSTATUS STDCALL
ObAssignSecurity(IN PACCESS_STATE AccessState,
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
IN PVOID Object,
IN POBJECT_TYPE Type)
{
UNIMPLEMENTED;
}
NTSTATUS STDCALL
ObGetObjectSecurity(IN PVOID Object,
OUT PSECURITY_DESCRIPTOR *SecurityDescriptor,
OUT PBOOLEAN MemoryAllocated)
{
UNIMPLEMENTED;
}
VOID STDCALL
ObReleaseObjectSecurity(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
IN BOOLEAN MemoryAllocated)
{
UNIMPLEMENTED;
}
NTSTATUS STDCALL
NtQuerySecurityObject(IN HANDLE ObjectHandle,
IN CINT SecurityObjectInformationClass,
@ -67,5 +94,4 @@ NtSetSecurityObject(IN HANDLE Handle,
UNIMPLEMENTED;
}
/* EOF */