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 ************************************************************/ /* OBJECT MANAGER ************************************************************/
NTSTATUS STDCALL NTSTATUS STDCALL
ObCreateObject(PHANDLE Handle, ObAssignSecurity(IN PACCESS_STATE AccessState,
ACCESS_MASK DesiredAccess, IN PSECURITY_DESCRIPTOR SecurityDescriptor,
POBJECT_ATTRIBUTES ObjectAttributes, IN PVOID Object,
POBJECT_TYPE Type, IN POBJECT_TYPE Type);
PVOID *Object);
/*
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 VOID FASTCALL
ObfDereferenceObject(IN PVOID Object); ObfDereferenceObject(IN PVOID Object);
@ -19,16 +61,29 @@ ObfReferenceObject(IN PVOID Object);
#define ObReferenceObject(Object) \ #define ObReferenceObject(Object) \
ObfReferenceObject(Object) ObfReferenceObject(Object)
/*
BOOLEAN STDCALL
ObFindHandleForObject(ULONG Param1,
ULONG Param2,
ULONG Param3,
ULONG Param4);
*/
ULONG STDCALL ULONG STDCALL
ObGetObjectPointerCount(IN PVOID Object); ObGetObjectPointerCount(IN PVOID Object);
NTSTATUS STDCALL NTSTATUS STDCALL
ObInsertObject(PVOID Object, ObGetObjectSecurity(IN PVOID Object,
PACCESS_STATE PassedAccessState, OUT PSECURITY_DESCRIPTOR *SecurityDescriptor,
ACCESS_MASK DesiredAccess, OUT PBOOLEAN MemoryAllocated);
ULONG AdditionalReferences,
PVOID* ReferencedObject, NTSTATUS STDCALL
PHANDLE Handle); 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 VOID STDCALL
ObMakeTemporaryObject(IN PVOID ObjectBody); ObMakeTemporaryObject(IN PVOID ObjectBody);
@ -36,7 +91,7 @@ ObMakeTemporaryObject(IN PVOID ObjectBody);
NTSTATUS STDCALL NTSTATUS STDCALL
ObOpenObjectByName(IN POBJECT_ATTRIBUTES ObjectAttributes, ObOpenObjectByName(IN POBJECT_ATTRIBUTES ObjectAttributes,
IN POBJECT_TYPE ObjectType, IN POBJECT_TYPE ObjectType,
IN PVOID ParseContext, IN OUT PVOID ParseContext OPTIONAL,
IN KPROCESSOR_MODE AccessMode, IN KPROCESSOR_MODE AccessMode,
IN ACCESS_MASK DesiredAccess, IN ACCESS_MASK DesiredAccess,
IN PACCESS_STATE PassedAccessState, IN PACCESS_STATE PassedAccessState,
@ -45,12 +100,22 @@ ObOpenObjectByName(IN POBJECT_ATTRIBUTES ObjectAttributes,
NTSTATUS STDCALL NTSTATUS STDCALL
ObOpenObjectByPointer(IN PVOID Object, ObOpenObjectByPointer(IN PVOID Object,
IN ULONG HandleAttributes, IN ULONG HandleAttributes,
IN PACCESS_STATE PassedAccessState, IN PACCESS_STATE PassedAccessState OPTIONAL,
IN ACCESS_MASK DesiredAccess, IN ACCESS_MASK DesiredAccess OPTIONAL,
IN POBJECT_TYPE ObjectType, IN POBJECT_TYPE ObjectType OPTIONAL,
IN KPROCESSOR_MODE AccessMode, IN KPROCESSOR_MODE AccessMode,
OUT PHANDLE Handle); 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 * FUNCTION: Performs access validation on an object handle and if access
* is granted returns a pointer to the object's body * is granted returns a pointer to the object's body
@ -66,12 +131,12 @@ ObOpenObjectByPointer(IN PVOID Object,
* RETURNS: Status * RETURNS: Status
*/ */
NTSTATUS STDCALL NTSTATUS STDCALL
ObReferenceObjectByHandle(HANDLE Handle, ObReferenceObjectByHandle(IN HANDLE Handle,
ACCESS_MASK DesiredAccess, IN ACCESS_MASK DesiredAccess,
POBJECT_TYPE ObjectType, IN POBJECT_TYPE ObjectType OPTIONAL,
KPROCESSOR_MODE AccessMode, IN KPROCESSOR_MODE AccessMode,
PVOID* Object, OUT PVOID* Object,
POBJECT_HANDLE_INFORMATION HandleInfo); OUT POBJECT_HANDLE_INFORMATION HandleInfo OPTIONAL);
/* /*
* FUNCTION: Increments the reference count for a given object * FUNCTION: Increments the reference count for a given object
@ -83,18 +148,33 @@ ObReferenceObjectByHandle(HANDLE Handle,
* RETURNS: Status * RETURNS: Status
*/ */
NTSTATUS STDCALL NTSTATUS STDCALL
ObReferenceObjectByPointer(PVOID Object, ObReferenceObjectByPointer(IN PVOID Object,
ACCESS_MASK DesiredAccess, IN ACCESS_MASK DesiredAccess,
POBJECT_TYPE ObjectType, IN POBJECT_TYPE ObjectType,
KPROCESSOR_MODE AccessMode); IN KPROCESSOR_MODE AccessMode);
NTSTATUS STDCALL NTSTATUS STDCALL
ObReferenceObjectByName(PUNICODE_STRING ObjectPath, ObReferenceObjectByName(IN PUNICODE_STRING ObjectPath,
ULONG Attributes, IN ULONG Attributes,
PACCESS_STATE PassedAccessState, IN PACCESS_STATE PassedAccessState OPTIONAL,
ACCESS_MASK DesiredAccess, IN ACCESS_MASK DesiredAccess OPTIONAL,
POBJECT_TYPE ObjectType, IN POBJECT_TYPE ObjectType,
KPROCESSOR_MODE AccessMode, IN KPROCESSOR_MODE AccessMode,
PVOID ParseContext, IN OUT PVOID ParseContext OPTIONAL,
PVOID* ObjectPtr); 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 #ifndef _INCLUDE_DDK_SEFUNCS_H
#define _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 BOOLEAN STDCALL
SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor, SeAccessCheck(IN PSECURITY_DESCRIPTOR SecurityDescriptor,
@ -54,6 +54,9 @@ SeCreateClientSecurity(IN struct _ETHREAD *Thread,
NTSTATUS STDCALL NTSTATUS STDCALL
SeDeassignSecurity(IN OUT PSECURITY_DESCRIPTOR* SecurityDescriptor); SeDeassignSecurity(IN OUT PSECURITY_DESCRIPTOR* SecurityDescriptor);
VOID STDCALL
SeDeleteAccessState(IN PACCESS_STATE AccessState);
VOID STDCALL VOID STDCALL
SeDeleteObjectAuditAlarm(IN PVOID Object, SeDeleteObjectAuditAlarm(IN PVOID Object,
IN HANDLE Handle); 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 ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -554,14 +554,14 @@ NtVdmControl@8
NtW32Call@20 NtW32Call@20
NtWaitForSingleObject@12 NtWaitForSingleObject@12
NtWriteFile@36 NtWriteFile@36
;ObAssignSecurity@16 ObAssignSecurity@16
;ObCheckCreateObjectAccess@28 ;ObCheckCreateObjectAccess@28
;ObCheckObjectAccess@20 ;ObCheckObjectAccess@20
;ObCreateObject@36 ;ObCreateObject@36
ObCreateObject@20 ObCreateObject@20
;ObFindHandleForObject@20 ;ObFindHandleForObject@20
;ObGetObjectPointerCount@4 ObGetObjectPointerCount@4
;ObGetObjectSecurity@12 ObGetObjectSecurity@12
;ObInsertObject@24 ;ObInsertObject@24
ObMakeTemporaryObject@4 ObMakeTemporaryObject@4
ObOpenObjectByName@28 ObOpenObjectByName@28
@ -573,7 +573,7 @@ ObOpenObjectByPointer@28
ObReferenceObjectByHandle@24 ObReferenceObjectByHandle@24
ObReferenceObjectByName@32 ObReferenceObjectByName@32
ObReferenceObjectByPointer@16 ObReferenceObjectByPointer@16
;ObReleaseObjectSecurity@8 ObReleaseObjectSecurity@8
;ObSetSecurityDescriptorInfo@24 ;ObSetSecurityDescriptorInfo@24
;PfxFindPrefix ;PfxFindPrefix
;PfxInitialize ;PfxInitialize
@ -846,9 +846,9 @@ SePublicDefaultDacl DATA
SeReleaseSubjectContext@4 SeReleaseSubjectContext@4
;SeSetAccessStateGenericMapping@8 ;SeSetAccessStateGenericMapping@8
;SeSetSecurityDescriptorInfo@24 ;SeSetSecurityDescriptorInfo@24
;SeSinglePrivilegeCheck@12 SeSinglePrivilegeCheck@12
SeSystemDefaultDacl DATA SeSystemDefaultDacl DATA
;SeTokenImpersonationLevel@4 SeTokenImpersonationLevel@4
SeTokenType@4 SeTokenType@4
;SeUnlockSubjectContext@4 ;SeUnlockSubjectContext@4
;SeUnregisterLogonSessionTerminatedRoutine@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 ; reactos/ntoskrnl/ntoskrnl.def
; ;
@ -554,14 +554,14 @@ NtVdmControl=NtVdmControl@8
NtW32Call=NtW32Call@20 NtW32Call=NtW32Call@20
NtWaitForSingleObject=NtWaitForSingleObject@12 NtWaitForSingleObject=NtWaitForSingleObject@12
NtWriteFile=NtWriteFile@36 NtWriteFile=NtWriteFile@36
;ObAssignSecurity=ObAssignSecurity@16 ObAssignSecurity=ObAssignSecurity@16
;ObCheckCreateObjectAccess=ObCheckCreateObjectAccess@28 ;ObCheckCreateObjectAccess=ObCheckCreateObjectAccess@28
;ObCheckObjectAccess=ObCheckObjectAccess@20 ;ObCheckObjectAccess=ObCheckObjectAccess@20
;ObCreateObject=ObCreateObject@36 ;ObCreateObject=ObCreateObject@36
ObCreateObject=ObCreateObject@20 ObCreateObject=ObCreateObject@20
;ObFindHandleForObject=ObFindHandleForObject@20 ;ObFindHandleForObject=ObFindHandleForObject@20
;ObGetObjectPointerCount=ObGetObjectPointerCount@4 ObGetObjectPointerCount=ObGetObjectPointerCount@4
;ObGetObjectSecurity=ObGetObjectSecurity@12 ObGetObjectSecurity=ObGetObjectSecurity@12
;ObInsertObject=ObInsertObject@24 ;ObInsertObject=ObInsertObject@24
ObMakeTemporaryObject=ObMakeTemporaryObject@4 ObMakeTemporaryObject=ObMakeTemporaryObject@4
ObOpenObjectByName=ObOpenObjectByName@28 ObOpenObjectByName=ObOpenObjectByName@28
@ -573,7 +573,7 @@ ObfReferenceObject=@ObfReferenceObject@4
ObReferenceObjectByHandle=ObReferenceObjectByHandle@24 ObReferenceObjectByHandle=ObReferenceObjectByHandle@24
ObReferenceObjectByName=ObReferenceObjectByName@32 ObReferenceObjectByName=ObReferenceObjectByName@32
ObReferenceObjectByPointer=ObReferenceObjectByPointer@16 ObReferenceObjectByPointer=ObReferenceObjectByPointer@16
;ObReleaseObjectSecurity=ObReleaseObjectSecurity@8 ObReleaseObjectSecurity=ObReleaseObjectSecurity@8
;ObSetSecurityDescriptorInfo=ObSetSecurityDescriptorInfo@24 ;ObSetSecurityDescriptorInfo=ObSetSecurityDescriptorInfo@24
;PfxFindPrefix ;PfxFindPrefix
;PfxInitialize ;PfxInitialize
@ -845,9 +845,9 @@ SePublicDefaultDacl DATA
SeReleaseSubjectContext=SeReleaseSubjectContext@4 SeReleaseSubjectContext=SeReleaseSubjectContext@4
;SeSetAccessStateGenericMapping=SeSetAccessStateGenericMapping@8 ;SeSetAccessStateGenericMapping=SeSetAccessStateGenericMapping@8
;SeSetSecurityDescriptorInfo=SeSetSecurityDescriptorInfo@24 ;SeSetSecurityDescriptorInfo=SeSetSecurityDescriptorInfo@24
;SeSinglePrivilegeCheck=SeSinglePrivilegeCheck@12 SeSinglePrivilegeCheck=SeSinglePrivilegeCheck@12
SeSystemDefaultDacl DATA SeSystemDefaultDacl DATA
;SeTokenImpersonationLevel=SeTokenImpersonationLevel@4 SeTokenImpersonationLevel=SeTokenImpersonationLevel@4
SeTokenType=SeTokenType@4 SeTokenType=SeTokenType@4
;SeUnlockSubjectContext=SeUnlockSubjectContext@4 ;SeUnlockSubjectContext=SeUnlockSubjectContext@4
;SeUnregisterLogonSessionTerminatedRoutine=SeUnregisterLogonSessionTerminatedRoutine@4 ;SeUnregisterLogonSessionTerminatedRoutine=SeUnregisterLogonSessionTerminatedRoutine@4

View file

@ -17,6 +17,33 @@
/* FUNCTIONS ***************************************************************/ /* 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 NTSTATUS STDCALL
NtQuerySecurityObject(IN HANDLE ObjectHandle, NtQuerySecurityObject(IN HANDLE ObjectHandle,
IN CINT SecurityObjectInformationClass, IN CINT SecurityObjectInformationClass,
@ -67,5 +94,4 @@ NtSetSecurityObject(IN HANDLE Handle,
UNIMPLEMENTED; UNIMPLEMENTED;
} }
/* EOF */