ntoskrnl.exe: Export object type values.

Signed-off-by: Jacek Caban <jacek@codeweavers.com>
Signed-off-by: Alexandre Julliard <julliard@winehq.org>
This commit is contained in:
Jacek Caban 2019-02-26 13:38:58 +01:00 committed by Alexandre Julliard
parent 99876873b8
commit 38eebddc1d
4 changed files with 90 additions and 8 deletions

View File

@ -251,6 +251,16 @@ static HANDLE get_device_manager(void)
return ret; return ret;
} }
static const WCHAR file_type_name[] = {'F','i','l','e',0};
static struct _OBJECT_TYPE file_type = {
file_type_name,
};
POBJECT_TYPE IoFileObjectType = &file_type;
/* transfer result of IRP back to wineserver */ /* transfer result of IRP back to wineserver */
static NTSTATUS WINAPI dispatch_irp_completion( DEVICE_OBJECT *device, IRP *irp, void *context ) static NTSTATUS WINAPI dispatch_irp_completion( DEVICE_OBJECT *device, IRP *irp, void *context )
{ {
@ -1090,6 +1100,16 @@ static NTSTATUS WINAPI unhandled_irp( DEVICE_OBJECT *device, IRP *irp )
} }
static const WCHAR driver_type_name[] = {'D','r','i','v','e','r',0};
static struct _OBJECT_TYPE driver_type =
{
driver_type_name,
};
POBJECT_TYPE IoDriverObjectType = &driver_type;
/*********************************************************************** /***********************************************************************
* IoCreateDriver (NTOSKRNL.EXE.@) * IoCreateDriver (NTOSKRNL.EXE.@)
*/ */
@ -1159,6 +1179,16 @@ void WINAPI IoDeleteDriver( DRIVER_OBJECT *driver_object )
} }
static const WCHAR device_type_name[] = {'D','e','v','i','c','e',0};
static struct _OBJECT_TYPE device_type =
{
device_type_name
};
POBJECT_TYPE IoDeviceObjectType = &device_type;
/*********************************************************************** /***********************************************************************
* IoCreateDevice (NTOSKRNL.EXE.@) * IoCreateDevice (NTOSKRNL.EXE.@)
*/ */
@ -2169,6 +2199,17 @@ NTSTATUS WINAPI FsRtlRegisterUncProvider(PHANDLE MupHandle, PUNICODE_STRING Redi
return STATUS_NOT_IMPLEMENTED; return STATUS_NOT_IMPLEMENTED;
} }
static const WCHAR process_type_name[] = {'P','r','o','c','e','s','s',0};
static struct _OBJECT_TYPE process_type =
{
process_type_name
};
POBJECT_TYPE PsProcessType = &process_type;
/*********************************************************************** /***********************************************************************
* IoGetCurrentProcess / PsGetCurrentProcess (NTOSKRNL.EXE.@) * IoGetCurrentProcess / PsGetCurrentProcess (NTOSKRNL.EXE.@)
*/ */
@ -2178,6 +2219,17 @@ PEPROCESS WINAPI IoGetCurrentProcess(void)
return NULL; return NULL;
} }
static const WCHAR thread_type_name[] = {'T','h','r','e','a','d',0};
static struct _OBJECT_TYPE thread_type =
{
thread_type_name,
};
POBJECT_TYPE PsThreadType = &thread_type;
/*********************************************************************** /***********************************************************************
* KeGetCurrentThread / PsGetCurrentThread (NTOSKRNL.EXE.@) * KeGetCurrentThread / PsGetCurrentThread (NTOSKRNL.EXE.@)
*/ */
@ -3983,3 +4035,12 @@ void WINAPI KeLeaveGuardedRegion(void)
{ {
FIXME("\n"); FIXME("\n");
} }
static const WCHAR token_type_name[] = {'T','o','k','e','n',0};
static struct _OBJECT_TYPE token_type =
{
token_type_name
};
POBJECT_TYPE SeTokenObjectType = &token_type;

View File

@ -138,7 +138,7 @@
@ stub ExDesktopObjectType @ stub ExDesktopObjectType
@ stub ExDisableResourceBoostLite @ stub ExDisableResourceBoostLite
@ stub ExEnumHandleTable @ stub ExEnumHandleTable
@ stub ExEventObjectType @ extern ExEventObjectType
@ stub ExExtendZone @ stub ExExtendZone
@ stdcall -norelay ExfUnblockPushLock(ptr ptr) @ stdcall -norelay ExfUnblockPushLock(ptr ptr)
@ stdcall ExFreePool(ptr) @ stdcall ExFreePool(ptr)
@ -179,7 +179,7 @@
@ stub ExRegisterCallback @ stub ExRegisterCallback
@ stub ExReinitializeResourceLite @ stub ExReinitializeResourceLite
@ stdcall ExReleaseResourceForThreadLite(ptr long) @ stdcall ExReleaseResourceForThreadLite(ptr long)
@ stub ExSemaphoreObjectType @ extern ExSemaphoreObjectType
@ stub ExSetResourceOwnerPointer @ stub ExSetResourceOwnerPointer
@ stub ExSetTimerResolution @ stub ExSetTimerResolution
@ stub ExSystemExceptionFilter @ stub ExSystemExceptionFilter
@ -369,13 +369,13 @@
@ stub IoDetachDevice @ stub IoDetachDevice
@ stub IoDeviceHandlerObjectSize @ stub IoDeviceHandlerObjectSize
@ stub IoDeviceHandlerObjectType @ stub IoDeviceHandlerObjectType
@ stub IoDeviceObjectType @ extern IoDeviceObjectType
@ stub IoDisconnectInterrupt @ stub IoDisconnectInterrupt
@ stub IoDriverObjectType @ extern IoDriverObjectType
@ stub IoEnqueueIrp @ stub IoEnqueueIrp
@ stub IoEnumerateDeviceObjectList @ stub IoEnumerateDeviceObjectList
@ stub IoFastQueryNetworkAttributes @ stub IoFastQueryNetworkAttributes
@ stub IoFileObjectType @ extern IoFileObjectType
@ stub IoForwardAndCatchIrp @ stub IoForwardAndCatchIrp
@ stub IoForwardIrpSynchronously @ stub IoForwardIrpSynchronously
@ stub IoFreeController @ stub IoFreeController
@ -914,7 +914,7 @@
@ stdcall PsLookupProcessByProcessId(ptr ptr) @ stdcall PsLookupProcessByProcessId(ptr ptr)
@ stub PsLookupProcessThreadByCid @ stub PsLookupProcessThreadByCid
@ stub PsLookupThreadByThreadId @ stub PsLookupThreadByThreadId
@ stub PsProcessType @ extern PsProcessType
@ stub PsReferenceImpersonationToken @ stub PsReferenceImpersonationToken
@ stub PsReferencePrimaryToken @ stub PsReferencePrimaryToken
@ stdcall PsReferenceProcessFilePointer(ptr ptr) @ stdcall PsReferenceProcessFilePointer(ptr ptr)
@ -942,7 +942,7 @@
@ stub PsSetThreadHardErrorsAreDisabled @ stub PsSetThreadHardErrorsAreDisabled
@ stub PsSetThreadWin32Thread @ stub PsSetThreadWin32Thread
@ stdcall PsTerminateSystemThread(long) @ stdcall PsTerminateSystemThread(long)
@ stub PsThreadType @ extern PsThreadType
@ stdcall READ_REGISTER_BUFFER_UCHAR(ptr ptr long) @ stdcall READ_REGISTER_BUFFER_UCHAR(ptr ptr long)
@ stub READ_REGISTER_BUFFER_ULONG @ stub READ_REGISTER_BUFFER_ULONG
@ stub READ_REGISTER_BUFFER_USHORT @ stub READ_REGISTER_BUFFER_USHORT
@ -1275,7 +1275,7 @@
@ stub SeTokenIsAdmin @ stub SeTokenIsAdmin
@ stub SeTokenIsRestricted @ stub SeTokenIsRestricted
@ stub SeTokenIsWriteRestricted @ stub SeTokenIsWriteRestricted
@ stub SeTokenObjectType @ extern SeTokenObjectType
@ stub SeTokenType @ stub SeTokenType
@ stub SeUnlockSubjectContext @ stub SeUnlockSubjectContext
@ stub SeUnregisterLogonSessionTerminatedRoutine @ stub SeUnregisterLogonSessionTerminatedRoutine

View File

@ -21,6 +21,10 @@
#ifndef __WINE_NTOSKRNL_PRIVATE_H #ifndef __WINE_NTOSKRNL_PRIVATE_H
#define __WINE_NTOSKRNL_PRIVATE_H #define __WINE_NTOSKRNL_PRIVATE_H
struct _OBJECT_TYPE {
const WCHAR *name; /* object type name used for type validation */
};
#ifdef __i386__ #ifdef __i386__
#define DEFINE_FASTCALL1_ENTRYPOINT( name ) \ #define DEFINE_FASTCALL1_ENTRYPOINT( name ) \
__ASM_STDCALL_FUNC( name, 4, \ __ASM_STDCALL_FUNC( name, 4, \

View File

@ -186,6 +186,14 @@ void WINAPI KeInitializeEvent( PRKEVENT event, EVENT_TYPE type, BOOLEAN state )
event->Header.WaitListHead.Flink = NULL; event->Header.WaitListHead.Flink = NULL;
} }
static const WCHAR event_type_name[] = {'E','v','e','n','t',0};
static struct _OBJECT_TYPE event_type = {
event_type_name,
};
POBJECT_TYPE ExEventObjectType = &event_type;
/*********************************************************************** /***********************************************************************
* KeSetEvent (NTOSKRNL.EXE.@) * KeSetEvent (NTOSKRNL.EXE.@)
*/ */
@ -267,6 +275,15 @@ LONG WINAPI KeReleaseSemaphore( PRKSEMAPHORE semaphore, KPRIORITY increment,
return ret; return ret;
} }
static const WCHAR semaphore_type_name[] = {'S','e','m','a','p','h','o','r','e',0};
static struct _OBJECT_TYPE semaphore_type =
{
semaphore_type_name
};
POBJECT_TYPE ExSemaphoreObjectType = &semaphore_type;
/*********************************************************************** /***********************************************************************
* KeInitializeMutex (NTOSKRNL.EXE.@) * KeInitializeMutex (NTOSKRNL.EXE.@)
*/ */