mirror of
https://github.com/reactos/reactos.git
synced 2024-12-28 10:04:49 +00:00
Fix build, clean up headers, add public stuff to public headers
svn path=/trunk/; revision=15326
This commit is contained in:
parent
6a7f1b10c5
commit
6b86cb4406
6 changed files with 242 additions and 116 deletions
|
@ -2,6 +2,121 @@
|
||||||
#define _INCLUDE_DDK_OBFUNCS_H
|
#define _INCLUDE_DDK_OBFUNCS_H
|
||||||
/* OBJECT MANAGER ************************************************************/
|
/* OBJECT MANAGER ************************************************************/
|
||||||
|
|
||||||
|
typedef enum _OB_OPEN_REASON
|
||||||
|
{
|
||||||
|
ObCreateHandle,
|
||||||
|
ObOpenHandle,
|
||||||
|
ObDuplicateHandle,
|
||||||
|
ObInheritHandle,
|
||||||
|
ObMaxOpenReason
|
||||||
|
} OB_OPEN_REASON;
|
||||||
|
|
||||||
|
/* TEMPORARY HACK */
|
||||||
|
typedef NTSTATUS STDCALL_FUNC
|
||||||
|
(*OB_CREATE_METHOD)(PVOID ObjectBody,
|
||||||
|
PVOID Parent,
|
||||||
|
PWSTR RemainingPath,
|
||||||
|
struct _OBJECT_ATTRIBUTES* ObjectAttributes);
|
||||||
|
|
||||||
|
/* Object Callbacks */
|
||||||
|
typedef NTSTATUS STDCALL_FUNC
|
||||||
|
(*OB_OPEN_METHOD)(OB_OPEN_REASON Reason,
|
||||||
|
PVOID ObjectBody,
|
||||||
|
PEPROCESS Process,
|
||||||
|
ULONG HandleCount,
|
||||||
|
ACCESS_MASK GrantedAccess);
|
||||||
|
|
||||||
|
typedef NTSTATUS STDCALL_FUNC
|
||||||
|
(*OB_PARSE_METHOD)(PVOID Object,
|
||||||
|
PVOID *NextObject,
|
||||||
|
PUNICODE_STRING FullPath,
|
||||||
|
PWSTR *Path,
|
||||||
|
ULONG Attributes);
|
||||||
|
|
||||||
|
typedef VOID STDCALL_FUNC
|
||||||
|
(*OB_DELETE_METHOD)(PVOID DeletedObject);
|
||||||
|
|
||||||
|
typedef VOID STDCALL_FUNC
|
||||||
|
(*OB_CLOSE_METHOD)(PVOID ClosedObject, ULONG HandleCount);
|
||||||
|
|
||||||
|
typedef VOID STDCALL_FUNC
|
||||||
|
(*OB_DUMP_METHOD)(VOID);
|
||||||
|
|
||||||
|
typedef NTSTATUS STDCALL_FUNC
|
||||||
|
(*OB_OKAYTOCLOSE_METHOD)(VOID);
|
||||||
|
|
||||||
|
typedef NTSTATUS STDCALL_FUNC
|
||||||
|
(*OB_QUERYNAME_METHOD)(PVOID ObjectBody,
|
||||||
|
POBJECT_NAME_INFORMATION ObjectNameInfo,
|
||||||
|
ULONG Length,
|
||||||
|
PULONG ReturnLength);
|
||||||
|
|
||||||
|
typedef PVOID STDCALL_FUNC
|
||||||
|
(*OB_FIND_METHOD)(PVOID WinStaObject,
|
||||||
|
PWSTR Name,
|
||||||
|
ULONG Attributes);
|
||||||
|
|
||||||
|
typedef NTSTATUS STDCALL_FUNC
|
||||||
|
(*OB_SECURITY_METHOD)(PVOID ObjectBody,
|
||||||
|
SECURITY_OPERATION_CODE OperationCode,
|
||||||
|
SECURITY_INFORMATION SecurityInformation,
|
||||||
|
PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
PULONG BufferLength);
|
||||||
|
|
||||||
|
typedef struct _OBJECT_CREATE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Attributes;
|
||||||
|
HANDLE RootDirectory;
|
||||||
|
PVOID ParseContext;
|
||||||
|
KPROCESSOR_MODE ProbeMode;
|
||||||
|
ULONG PagedPoolCharge;
|
||||||
|
ULONG NonPagedPoolCharge;
|
||||||
|
ULONG SecurityDescriptorCharge;
|
||||||
|
PSECURITY_DESCRIPTOR SecurityDescriptor;
|
||||||
|
PSECURITY_QUALITY_OF_SERVICE SecurityQos;
|
||||||
|
SECURITY_QUALITY_OF_SERVICE SecurityQualityOfService;
|
||||||
|
} OBJECT_CREATE_INFORMATION, *POBJECT_CREATE_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _OBJECT_TYPE_INITIALIZER
|
||||||
|
{
|
||||||
|
WORD Length;
|
||||||
|
UCHAR UseDefaultObject;
|
||||||
|
UCHAR CaseInsensitive;
|
||||||
|
ULONG InvalidAttributes;
|
||||||
|
GENERIC_MAPPING GenericMapping;
|
||||||
|
ULONG ValidAccessMask;
|
||||||
|
UCHAR SecurityRequired;
|
||||||
|
UCHAR MaintainHandleCount;
|
||||||
|
UCHAR MaintainTypeList;
|
||||||
|
POOL_TYPE PoolType;
|
||||||
|
ULONG DefaultPagedPoolCharge;
|
||||||
|
ULONG DefaultNonPagedPoolCharge;
|
||||||
|
OB_DUMP_METHOD DumpProcedure;
|
||||||
|
OB_OPEN_METHOD OpenProcedure;
|
||||||
|
OB_CLOSE_METHOD CloseProcedure;
|
||||||
|
OB_DELETE_METHOD DeleteProcedure;
|
||||||
|
OB_PARSE_METHOD ParseProcedure;
|
||||||
|
OB_SECURITY_METHOD SecurityProcedure;
|
||||||
|
OB_QUERYNAME_METHOD QueryNameProcedure;
|
||||||
|
OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure;
|
||||||
|
} OBJECT_TYPE_INITIALIZER, *POBJECT_TYPE_INITIALIZER;
|
||||||
|
|
||||||
|
typedef struct _OBJECT_TYPE
|
||||||
|
{
|
||||||
|
ERESOURCE Mutex; /* Used to lock the Object Type */
|
||||||
|
LIST_ENTRY TypeList; /* Links all the Types Together for Debugging */
|
||||||
|
UNICODE_STRING Name; /* Name of the Type */
|
||||||
|
PVOID DefaultObject; /* What Object to use during a Wait (ie, FileObjects wait on FileObject->Event) */
|
||||||
|
ULONG Index; /* Index of this Type in the Object Directory */
|
||||||
|
ULONG TotalNumberOfObjects; /* Total number of objects of this type */
|
||||||
|
ULONG TotalNumberOfHandles; /* Total number of handles of this type */
|
||||||
|
ULONG HighWaterNumberOfObjects; /* Peak number of objects of this type */
|
||||||
|
ULONG HighWaterNumberOfHandles; /* Peak number of handles of this type */
|
||||||
|
OBJECT_TYPE_INITIALIZER TypeInfo; /* Information captured during type creation */
|
||||||
|
ULONG Key; /* Key to use when allocating objects of this type */
|
||||||
|
ERESOURCE ObjectLocks[4]; /* Locks for locking the Objects */
|
||||||
|
} OBJECT_TYPE;
|
||||||
|
|
||||||
NTSTATUS STDCALL
|
NTSTATUS STDCALL
|
||||||
ObAssignSecurity(IN PACCESS_STATE AccessState,
|
ObAssignSecurity(IN PACCESS_STATE AccessState,
|
||||||
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
IN PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
|
|
@ -356,11 +356,12 @@ STDCALL PsSetThreadWin32Thread(
|
||||||
PVOID Win32Thread
|
PVOID Win32Thread
|
||||||
);
|
);
|
||||||
|
|
||||||
|
struct _W32_OBJECT_CALLBACK;
|
||||||
|
|
||||||
VOID STDCALL
|
VOID STDCALL
|
||||||
STDCALL PsEstablishWin32Callouts (PW32_PROCESS_CALLBACK W32ProcessCallback,
|
STDCALL PsEstablishWin32Callouts (PW32_PROCESS_CALLBACK W32ProcessCallback,
|
||||||
PW32_THREAD_CALLBACK W32ThreadCallback,
|
PW32_THREAD_CALLBACK W32ThreadCallback,
|
||||||
PW32_OBJECT_CALLBACK W32ObjectCallback,
|
struct _W32_OBJECT_CALLBACK *W32ObjectCallback,
|
||||||
PVOID Param4,
|
PVOID Param4,
|
||||||
ULONG W32ThreadSize,
|
ULONG W32ThreadSize,
|
||||||
ULONG W32ProcessSize);
|
ULONG W32ProcessSize);
|
||||||
|
|
|
@ -66,81 +66,7 @@ typedef NTSTATUS STDCALL_FUNC
|
||||||
typedef NTSTATUS STDCALL_FUNC
|
typedef NTSTATUS STDCALL_FUNC
|
||||||
(*PW32_THREAD_CALLBACK)(struct _ETHREAD *Thread,
|
(*PW32_THREAD_CALLBACK)(struct _ETHREAD *Thread,
|
||||||
BOOLEAN Create);
|
BOOLEAN Create);
|
||||||
|
|
||||||
typedef enum _OB_OPEN_REASON
|
|
||||||
{
|
|
||||||
ObCreateHandle,
|
|
||||||
ObOpenHandle,
|
|
||||||
ObDuplicateHandle,
|
|
||||||
ObInheritHandle,
|
|
||||||
ObMaxOpenReason
|
|
||||||
} OB_OPEN_REASON;
|
|
||||||
|
|
||||||
/*
|
|
||||||
* Callbacks used for Win32 objects... this define won't be needed after the Object Manager
|
|
||||||
* rewrite -- Alex
|
|
||||||
*/
|
|
||||||
|
|
||||||
/* TEMPORARY HACK */
|
|
||||||
typedef NTSTATUS STDCALL_FUNC
|
|
||||||
(*OB_CREATE_METHOD)(PVOID ObjectBody,
|
|
||||||
PVOID Parent,
|
|
||||||
PWSTR RemainingPath,
|
|
||||||
struct _OBJECT_ATTRIBUTES* ObjectAttributes);
|
|
||||||
|
|
||||||
typedef NTSTATUS STDCALL_FUNC
|
|
||||||
(*OB_OPEN_METHOD)(OB_OPEN_REASON Reason,
|
|
||||||
PVOID ObjectBody,
|
|
||||||
PEPROCESS Process,
|
|
||||||
ULONG HandleCount,
|
|
||||||
ACCESS_MASK GrantedAccess);
|
|
||||||
|
|
||||||
typedef NTSTATUS STDCALL_FUNC
|
|
||||||
(*OB_PARSE_METHOD)(PVOID Object,
|
|
||||||
PVOID *NextObject,
|
|
||||||
PUNICODE_STRING FullPath,
|
|
||||||
PWSTR *Path,
|
|
||||||
ULONG Attributes);
|
|
||||||
|
|
||||||
typedef VOID STDCALL_FUNC
|
|
||||||
(*OB_DELETE_METHOD)(PVOID DeletedObject);
|
|
||||||
|
|
||||||
typedef VOID STDCALL_FUNC
|
|
||||||
(*OB_CLOSE_METHOD)(PVOID ClosedObject, ULONG HandleCount);
|
|
||||||
|
|
||||||
typedef VOID STDCALL_FUNC
|
|
||||||
(*OB_DUMP_METHOD)(VOID);
|
|
||||||
|
|
||||||
typedef NTSTATUS STDCALL_FUNC
|
|
||||||
(*OB_OKAYTOCLOSE_METHOD)(VOID);
|
|
||||||
|
|
||||||
typedef NTSTATUS STDCALL_FUNC
|
|
||||||
(*OB_QUERYNAME_METHOD)(PVOID ObjectBody,
|
|
||||||
POBJECT_NAME_INFORMATION ObjectNameInfo,
|
|
||||||
ULONG Length,
|
|
||||||
PULONG ReturnLength);
|
|
||||||
|
|
||||||
typedef PVOID STDCALL_FUNC
|
|
||||||
(*OB_FIND_METHOD)(PVOID WinStaObject,
|
|
||||||
PWSTR Name,
|
|
||||||
ULONG Attributes);
|
|
||||||
|
|
||||||
typedef NTSTATUS STDCALL_FUNC
|
|
||||||
(*OB_SECURITY_METHOD)(PVOID ObjectBody,
|
|
||||||
SECURITY_OPERATION_CODE OperationCode,
|
|
||||||
SECURITY_INFORMATION SecurityInformation,
|
|
||||||
PSECURITY_DESCRIPTOR SecurityDescriptor,
|
|
||||||
PULONG BufferLength);
|
|
||||||
|
|
||||||
typedef struct _W32_OBJECT_CALLBACK {
|
|
||||||
OB_OPEN_METHOD WinStaCreate;
|
|
||||||
OB_PARSE_METHOD WinStaParse;
|
|
||||||
OB_DELETE_METHOD WinStaDelete;
|
|
||||||
OB_FIND_METHOD WinStaFind;
|
|
||||||
OB_CREATE_METHOD DesktopCreate;
|
|
||||||
OB_DELETE_METHOD DesktopDelete;
|
|
||||||
} W32_OBJECT_CALLBACK, *PW32_OBJECT_CALLBACK;
|
|
||||||
|
|
||||||
typedef struct _STACK_INFORMATION
|
typedef struct _STACK_INFORMATION
|
||||||
{
|
{
|
||||||
PVOID BaseAddress;
|
PVOID BaseAddress;
|
||||||
|
|
|
@ -24,46 +24,6 @@ typedef struct
|
||||||
|
|
||||||
typedef PVOID POBJECT;
|
typedef PVOID POBJECT;
|
||||||
|
|
||||||
typedef struct _OBJECT_TYPE_INITIALIZER
|
|
||||||
{
|
|
||||||
WORD Length;
|
|
||||||
UCHAR UseDefaultObject;
|
|
||||||
UCHAR CaseInsensitive;
|
|
||||||
ULONG InvalidAttributes;
|
|
||||||
GENERIC_MAPPING GenericMapping;
|
|
||||||
ULONG ValidAccessMask;
|
|
||||||
UCHAR SecurityRequired;
|
|
||||||
UCHAR MaintainHandleCount;
|
|
||||||
UCHAR MaintainTypeList;
|
|
||||||
POOL_TYPE PoolType;
|
|
||||||
ULONG DefaultPagedPoolCharge;
|
|
||||||
ULONG DefaultNonPagedPoolCharge;
|
|
||||||
OB_DUMP_METHOD DumpProcedure;
|
|
||||||
OB_OPEN_METHOD OpenProcedure;
|
|
||||||
OB_CLOSE_METHOD CloseProcedure;
|
|
||||||
OB_DELETE_METHOD DeleteProcedure;
|
|
||||||
OB_PARSE_METHOD ParseProcedure;
|
|
||||||
OB_SECURITY_METHOD SecurityProcedure;
|
|
||||||
OB_QUERYNAME_METHOD QueryNameProcedure;
|
|
||||||
OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure;
|
|
||||||
} OBJECT_TYPE_INITIALIZER, *POBJECT_TYPE_INITIALIZER;
|
|
||||||
|
|
||||||
typedef struct _OBJECT_TYPE
|
|
||||||
{
|
|
||||||
ERESOURCE Mutex; /* Used to lock the Object Type */
|
|
||||||
LIST_ENTRY TypeList; /* Links all the Types Together for Debugging */
|
|
||||||
UNICODE_STRING Name; /* Name of the Type */
|
|
||||||
PVOID DefaultObject; /* What Object to use during a Wait (ie, FileObjects wait on FileObject->Event) */
|
|
||||||
ULONG Index; /* Index of this Type in the Object Directory */
|
|
||||||
ULONG TotalNumberOfObjects; /* Total number of objects of this type */
|
|
||||||
ULONG TotalNumberOfHandles; /* Total number of handles of this type */
|
|
||||||
ULONG HighWaterNumberOfObjects; /* Peak number of objects of this type */
|
|
||||||
ULONG HighWaterNumberOfHandles; /* Peak number of handles of this type */
|
|
||||||
OBJECT_TYPE_INITIALIZER TypeInfo; /* Information captured during type creation */
|
|
||||||
ULONG Key; /* Key to use when allocating objects of this type */
|
|
||||||
ERESOURCE ObjectLocks[4]; /* Locks for locking the Objects */
|
|
||||||
} OBJECT_TYPE;
|
|
||||||
|
|
||||||
typedef struct _OBJECT_HEADER
|
typedef struct _OBJECT_HEADER
|
||||||
/*
|
/*
|
||||||
* PURPOSE: Header for every object managed by the object manager
|
* PURPOSE: Header for every object managed by the object manager
|
||||||
|
|
|
@ -55,6 +55,15 @@ extern LCID PsDefaultSystemLocaleId;
|
||||||
#define FSRTL_FAST_IO_TOP_LEVEL_IRP (0x04)
|
#define FSRTL_FAST_IO_TOP_LEVEL_IRP (0x04)
|
||||||
#define FSRTL_MAX_TOP_LEVEL_IRP_FLAG (0x04)
|
#define FSRTL_MAX_TOP_LEVEL_IRP_FLAG (0x04)
|
||||||
|
|
||||||
|
typedef struct _W32_OBJECT_CALLBACK {
|
||||||
|
OB_OPEN_METHOD WinStaCreate;
|
||||||
|
OB_PARSE_METHOD WinStaParse;
|
||||||
|
OB_DELETE_METHOD WinStaDelete;
|
||||||
|
OB_FIND_METHOD WinStaFind;
|
||||||
|
OB_CREATE_METHOD DesktopCreate;
|
||||||
|
OB_DELETE_METHOD DesktopDelete;
|
||||||
|
} W32_OBJECT_CALLBACK, *PW32_OBJECT_CALLBACK;
|
||||||
|
|
||||||
#ifndef __USE_W32API
|
#ifndef __USE_W32API
|
||||||
typedef struct
|
typedef struct
|
||||||
{
|
{
|
||||||
|
|
|
@ -8447,7 +8447,122 @@ MmUnmapVideoDisplay(
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
/** Object manager routines **/
|
/** Object manager **/
|
||||||
|
|
||||||
|
typedef enum _OB_OPEN_REASON
|
||||||
|
{
|
||||||
|
ObCreateHandle,
|
||||||
|
ObOpenHandle,
|
||||||
|
ObDuplicateHandle,
|
||||||
|
ObInheritHandle,
|
||||||
|
ObMaxOpenReason
|
||||||
|
} OB_OPEN_REASON;
|
||||||
|
|
||||||
|
/* TEMPORARY HACK */
|
||||||
|
typedef NTSTATUS
|
||||||
|
(DDKAPI *OB_CREATE_METHOD)(PVOID ObjectBody,
|
||||||
|
PVOID Parent,
|
||||||
|
PWSTR RemainingPath,
|
||||||
|
struct _OBJECT_ATTRIBUTES* ObjectAttributes);
|
||||||
|
|
||||||
|
/* Object Callbacks */
|
||||||
|
typedef NTSTATUS
|
||||||
|
(DDKAPI *OB_OPEN_METHOD)(OB_OPEN_REASON Reason,
|
||||||
|
PVOID ObjectBody,
|
||||||
|
PEPROCESS Process,
|
||||||
|
ULONG HandleCount,
|
||||||
|
ACCESS_MASK GrantedAccess);
|
||||||
|
|
||||||
|
typedef NTSTATUS
|
||||||
|
(DDKAPI *OB_PARSE_METHOD)(PVOID Object,
|
||||||
|
PVOID *NextObject,
|
||||||
|
PUNICODE_STRING FullPath,
|
||||||
|
PWSTR *Path,
|
||||||
|
ULONG Attributes);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(DDKAPI *OB_DELETE_METHOD)(PVOID DeletedObject);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(DDKAPI *OB_CLOSE_METHOD)(PVOID ClosedObject, ULONG HandleCount);
|
||||||
|
|
||||||
|
typedef VOID
|
||||||
|
(DDKAPI *OB_DUMP_METHOD)(VOID);
|
||||||
|
|
||||||
|
typedef NTSTATUS
|
||||||
|
(DDKAPI *OB_OKAYTOCLOSE_METHOD)(VOID);
|
||||||
|
|
||||||
|
typedef NTSTATUS
|
||||||
|
(DDKAPI *OB_QUERYNAME_METHOD)(PVOID ObjectBody,
|
||||||
|
POBJECT_NAME_INFORMATION ObjectNameInfo,
|
||||||
|
ULONG Length,
|
||||||
|
PULONG ReturnLength);
|
||||||
|
|
||||||
|
typedef PVOID
|
||||||
|
(DDKAPI *OB_FIND_METHOD)(PVOID WinStaObject,
|
||||||
|
PWSTR Name,
|
||||||
|
ULONG Attributes);
|
||||||
|
|
||||||
|
typedef NTSTATUS
|
||||||
|
(DDKAPI *OB_SECURITY_METHOD)(PVOID ObjectBody,
|
||||||
|
SECURITY_OPERATION_CODE OperationCode,
|
||||||
|
SECURITY_INFORMATION SecurityInformation,
|
||||||
|
PSECURITY_DESCRIPTOR SecurityDescriptor,
|
||||||
|
PULONG BufferLength);
|
||||||
|
|
||||||
|
typedef struct _OBJECT_CREATE_INFORMATION
|
||||||
|
{
|
||||||
|
ULONG Attributes;
|
||||||
|
HANDLE RootDirectory;
|
||||||
|
PVOID ParseContext;
|
||||||
|
KPROCESSOR_MODE ProbeMode;
|
||||||
|
ULONG PagedPoolCharge;
|
||||||
|
ULONG NonPagedPoolCharge;
|
||||||
|
ULONG SecurityDescriptorCharge;
|
||||||
|
PSECURITY_DESCRIPTOR SecurityDescriptor;
|
||||||
|
PSECURITY_QUALITY_OF_SERVICE SecurityQos;
|
||||||
|
SECURITY_QUALITY_OF_SERVICE SecurityQualityOfService;
|
||||||
|
} OBJECT_CREATE_INFORMATION, *POBJECT_CREATE_INFORMATION;
|
||||||
|
|
||||||
|
typedef struct _OBJECT_TYPE_INITIALIZER
|
||||||
|
{
|
||||||
|
WORD Length;
|
||||||
|
UCHAR UseDefaultObject;
|
||||||
|
UCHAR CaseInsensitive;
|
||||||
|
ULONG InvalidAttributes;
|
||||||
|
GENERIC_MAPPING GenericMapping;
|
||||||
|
ULONG ValidAccessMask;
|
||||||
|
UCHAR SecurityRequired;
|
||||||
|
UCHAR MaintainHandleCount;
|
||||||
|
UCHAR MaintainTypeList;
|
||||||
|
POOL_TYPE PoolType;
|
||||||
|
ULONG DefaultPagedPoolCharge;
|
||||||
|
ULONG DefaultNonPagedPoolCharge;
|
||||||
|
OB_DUMP_METHOD DumpProcedure;
|
||||||
|
OB_OPEN_METHOD OpenProcedure;
|
||||||
|
OB_CLOSE_METHOD CloseProcedure;
|
||||||
|
OB_DELETE_METHOD DeleteProcedure;
|
||||||
|
OB_PARSE_METHOD ParseProcedure;
|
||||||
|
OB_SECURITY_METHOD SecurityProcedure;
|
||||||
|
OB_QUERYNAME_METHOD QueryNameProcedure;
|
||||||
|
OB_OKAYTOCLOSE_METHOD OkayToCloseProcedure;
|
||||||
|
} OBJECT_TYPE_INITIALIZER, *POBJECT_TYPE_INITIALIZER;
|
||||||
|
|
||||||
|
typedef struct _OBJECT_TYPE
|
||||||
|
{
|
||||||
|
ERESOURCE Mutex; /* Used to lock the Object Type */
|
||||||
|
LIST_ENTRY TypeList; /* Links all the Types Together for Debugging */
|
||||||
|
UNICODE_STRING Name; /* Name of the Type */
|
||||||
|
PVOID DefaultObject; /* What Object to use during a Wait (ie, FileObjects wait on FileObject->Event) */
|
||||||
|
ULONG Index; /* Index of this Type in the Object Directory */
|
||||||
|
ULONG TotalNumberOfObjects; /* Total number of objects of this type */
|
||||||
|
ULONG TotalNumberOfHandles; /* Total number of handles of this type */
|
||||||
|
ULONG HighWaterNumberOfObjects; /* Peak number of objects of this type */
|
||||||
|
ULONG HighWaterNumberOfHandles; /* Peak number of handles of this type */
|
||||||
|
OBJECT_TYPE_INITIALIZER TypeInfo; /* Information captured during type creation */
|
||||||
|
ULONG Key; /* Key to use when allocating objects of this type */
|
||||||
|
ERESOURCE ObjectLocks[4]; /* Locks for locking the Objects */
|
||||||
|
} OBJECT_TYPE;
|
||||||
|
|
||||||
NTOSAPI
|
NTOSAPI
|
||||||
NTSTATUS
|
NTSTATUS
|
||||||
|
|
Loading…
Reference in a new issue