mirror of
https://github.com/reactos/reactos.git
synced 2025-05-28 05:28:14 +00:00
[WIN32K]
Change all Init functions to be NTAPI instead of FASTCALL, return NTSTATUS, and be an INIT_FUNCTION (saving incredible 2k). Simplify the initialization sequence by using a simple macro. Delete a comment that is not true anymore. Move some globals to appropriate file. svn path=/trunk/; revision=49455
This commit is contained in:
parent
85e5b5be56
commit
6cfc0da40b
42 changed files with 189 additions and 214 deletions
|
@ -20,15 +20,16 @@ static PGRAPHICS_DEVICE gpGraphicsDeviceLast = NULL;
|
|||
static HSEMAPHORE ghsemGraphicsDeviceList;
|
||||
static ULONG giDevNum = 1;
|
||||
|
||||
BOOL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitDeviceImpl()
|
||||
{
|
||||
ghsemGraphicsDeviceList = EngCreateSemaphore();
|
||||
if (!ghsemGraphicsDeviceList)
|
||||
return FALSE;
|
||||
return STATUS_INSUFFICIENT_RESOURCES;
|
||||
|
||||
return TRUE;
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -26,7 +26,8 @@ LDEVOBJ *gpldevWin32k = NULL;
|
|||
|
||||
/** Private functions *********************************************************/
|
||||
|
||||
BOOL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitLDEVImpl()
|
||||
{
|
||||
|
@ -34,7 +35,7 @@ InitLDEVImpl()
|
|||
ghsemLDEVList = EngCreateSemaphore();
|
||||
if (!ghsemLDEVList)
|
||||
{
|
||||
return FALSE;
|
||||
return STATUS_INSUFFICIENT_RESOURCES;
|
||||
}
|
||||
|
||||
/* Allocate a LDEVOBJ for win32k */
|
||||
|
@ -44,7 +45,7 @@ InitLDEVImpl()
|
|||
GDITAG_LDEV);
|
||||
if (!gpldevWin32k)
|
||||
{
|
||||
return FALSE;
|
||||
return STATUS_NO_MEMORY;
|
||||
}
|
||||
|
||||
/* Initialize the LDEVOBJ for win32k */
|
||||
|
@ -62,7 +63,7 @@ InitLDEVImpl()
|
|||
gpldevWin32k->pGdiDriverInfo->ExportSectionPointer = NULL;
|
||||
gpldevWin32k->pGdiDriverInfo->ImageLength = 0; // FIXME;
|
||||
|
||||
return TRUE;
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
PLDEVOBJ
|
||||
|
|
|
@ -18,12 +18,14 @@ PPDEVOBJ gppdevPrimary = NULL;
|
|||
static PPDEVOBJ gppdevList = NULL;
|
||||
static HSEMAPHORE ghsemPDEV;
|
||||
|
||||
BOOL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitPDEVImpl()
|
||||
{
|
||||
ghsemPDEV = EngCreateSemaphore();
|
||||
return TRUE;
|
||||
if (!ghsemPDEV) return STATUS_INSUFFICIENT_RESOURCES;
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -634,11 +634,13 @@ EXLATEOBJ_vCleanup(PEXLATEOBJ pexlo)
|
|||
pexlo->xlo.pulXlate = pexlo->aulXlate;
|
||||
}
|
||||
|
||||
VOID
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitXlateImpl(VOID)
|
||||
{
|
||||
|
||||
EXLATEOBJ_vInitTrivial(&gexloTrivial);
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
|
|
|
@ -11,7 +11,9 @@ typedef struct _ACCELERATOR_TABLE
|
|||
LPACCEL Table;
|
||||
} ACCELERATOR_TABLE, *PACCELERATOR_TABLE;
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitAcceleratorImpl(VOID);
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
|
|
|
@ -159,7 +159,7 @@ typedef struct _DC
|
|||
|
||||
extern PDC defaultDCstate;
|
||||
|
||||
NTSTATUS FASTCALL InitDcImpl(VOID);
|
||||
INIT_FUNCTION NTSTATUS NTAPI InitDcImpl();
|
||||
PPDEVOBJ FASTCALL IntEnumHDev(VOID);
|
||||
PDC NTAPI DC_AllocDcWithHandle();
|
||||
VOID FASTCALL DC_InitDC(HDC DCToInit);
|
||||
|
|
|
@ -45,7 +45,9 @@ typedef struct _SHELL_HOOK_WINDOW
|
|||
HWND hWnd;
|
||||
} SHELL_HOOK_WINDOW, *PSHELL_HOOK_WINDOW;
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitDesktopImpl(VOID);
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
|
|
|
@ -30,7 +30,8 @@ EngpRegisterGraphicsDevice(
|
|||
PUNICODE_STRING pustrDescription,
|
||||
PDEVMODEW pdmDefault);
|
||||
|
||||
BOOL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitDeviceImpl();
|
||||
|
||||
|
|
|
@ -59,6 +59,8 @@ enum BASEFLAGS
|
|||
BASEFLAG_READY_TO_DIE = 0x1000
|
||||
};
|
||||
|
||||
extern PSECTION_OBJECT GdiTableSection;
|
||||
|
||||
BOOL INTERNAL_CALL GDIOBJ_OwnedByCurrentProcess(HGDIOBJ ObjectHandle);
|
||||
BOOL INTERNAL_CALL GDIOBJ_SetOwnership(HGDIOBJ ObjectHandle, PEPROCESS Owner);
|
||||
BOOL INTERNAL_CALL GDIOBJ_CopyOwnership(HGDIOBJ CopyFrom, HGDIOBJ CopyTo);
|
||||
|
@ -75,6 +77,11 @@ VOID INTERNAL_CALL GDIOBJ_LockMultipleObjs(ULONG ulCount, IN HGDIOBJ* ahObj, OUT
|
|||
|
||||
PVOID INTERNAL_CALL GDI_MapHandleTable(PSECTION_OBJECT SectionObject, PEPROCESS Process);
|
||||
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitGdiHandleTable();
|
||||
|
||||
#define GDIOBJ_GetObjectType(Handle) \
|
||||
GDI_HANDLE_GET_TYPE(Handle)
|
||||
|
||||
|
|
|
@ -4,6 +4,9 @@ BOOL FASTCALL co_IntGraphicsCheck(BOOL Create);
|
|||
BOOL FASTCALL IntCreatePrimarySurface(VOID);
|
||||
VOID FASTCALL IntDestroyPrimarySurface(VOID);
|
||||
|
||||
NTSTATUS FASTCALL InitGuiCheckImpl (VOID);
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitGuiCheckImpl (VOID);
|
||||
|
||||
/* EOF */
|
||||
|
|
|
@ -13,7 +13,9 @@ typedef struct _HOT_KEY_ITEM
|
|||
UINT vk;
|
||||
} HOT_KEY_ITEM, *PHOT_KEY_ITEM;
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitHotkeyImpl(VOID);
|
||||
|
||||
//NTSTATUS FASTCALL
|
||||
|
|
|
@ -27,10 +27,16 @@ extern PATTACHINFO gpai;
|
|||
#define KBL_PRELOAD 2
|
||||
#define KBL_RESET 4
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitInputImpl(VOID);
|
||||
NTSTATUS FASTCALL
|
||||
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitKeyboardImpl(VOID);
|
||||
|
||||
PUSER_MESSAGE_QUEUE W32kGetPrimitiveMessageQueue(VOID);
|
||||
VOID W32kUnregisterPrimitiveMessageQueue(VOID);
|
||||
PKBL W32kGetDefaultKeyLayout(VOID);
|
||||
|
|
|
@ -82,32 +82,6 @@ IntEngGradientFill(SURFOBJ *psoDest,
|
|||
POINTL *pptlDitherOrg,
|
||||
ULONG ulMode);
|
||||
|
||||
VOID InitXlateImpl(VOID);
|
||||
|
||||
XLATEOBJ* FASTCALL
|
||||
IntEngCreateXlate(USHORT DestPalType,
|
||||
USHORT SourcePalType,
|
||||
HPALETTE PaletteDest,
|
||||
HPALETTE PaletteSource);
|
||||
|
||||
XLATEOBJ* FASTCALL
|
||||
IntEngCreateMonoXlate(USHORT SourcePalType,
|
||||
HPALETTE PaletteDest,
|
||||
HPALETTE PaletteSource,
|
||||
ULONG BackgroundColor);
|
||||
|
||||
XLATEOBJ* FASTCALL
|
||||
IntEngCreateSrcMonoXlate(HPALETTE PaletteDest,
|
||||
ULONG Color0,
|
||||
ULONG Color1);
|
||||
|
||||
XLATEOBJ*
|
||||
IntCreateBrushXlate(BRUSH *pbrush, SURFACE * psurf, COLORREF crBackgroundClr);
|
||||
|
||||
HPALETTE FASTCALL
|
||||
IntEngGetXlatePalette(XLATEOBJ *XlateObj,
|
||||
ULONG Palette);
|
||||
|
||||
BOOL APIENTRY
|
||||
IntEngPolyline(SURFOBJ *DestSurf,
|
||||
CLIPOBJ *Clip,
|
||||
|
|
|
@ -63,7 +63,8 @@ LDEVOBJ_pdmiGetModes(
|
|||
PLDEVOBJ pldev,
|
||||
HANDLE hDriver);
|
||||
|
||||
BOOL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitLDEVImpl();
|
||||
|
||||
|
|
|
@ -104,7 +104,9 @@ IntInsertMenuItem(PMENU_OBJECT MenuObject, UINT uItem, BOOL fByPosition,
|
|||
PROSMENUITEMINFO ItemInfo);
|
||||
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitMenuImpl(VOID);
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
|
|
|
@ -32,7 +32,10 @@ typedef struct _MONITOR
|
|||
} MONITOR, *PMONITOR;
|
||||
|
||||
/* functions */
|
||||
NTSTATUS InitMonitorImpl();
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitMonitorImpl();
|
||||
NTSTATUS CleanupMonitorImpl();
|
||||
|
||||
NTSTATUS IntAttachMonitor(PDEVOBJ *pGdiDevice, ULONG DisplayNumber);
|
||||
|
|
|
@ -138,7 +138,9 @@ VOID FASTCALL
|
|||
MsqDestroyMessageQueue(PUSER_MESSAGE_QUEUE MessageQueue);
|
||||
PUSER_MESSAGE_QUEUE FASTCALL
|
||||
MsqGetHardwareMessageQueue(VOID);
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MsqInitializeImpl(VOID);
|
||||
BOOLEAN FASTCALL
|
||||
co_MsqDispatchOneSentMessage(PUSER_MESSAGE_QUEUE MessageQueue);
|
||||
|
|
|
@ -11,7 +11,7 @@
|
|||
|
||||
extern PSERVERINFO gpsi;
|
||||
|
||||
NTSTATUS FASTCALL InitUserImpl(VOID);
|
||||
INIT_FUNCTION NTSTATUS NTAPI InitUserImpl(VOID);
|
||||
VOID FASTCALL CleanupUserImpl(VOID);
|
||||
VOID FASTCALL UserEnterShared(VOID);
|
||||
VOID FASTCALL UserEnterExclusive(VOID);
|
||||
|
|
|
@ -74,8 +74,7 @@ HPALETTE FASTCALL PALETTE_AllocPaletteIndexedRGB(ULONG NumColors,
|
|||
GDIOBJ_ShareUnlockObjByPtr(&ppal->BaseObject)
|
||||
|
||||
BOOL INTERNAL_CALL PALETTE_Cleanup(PVOID ObjectBody);
|
||||
|
||||
HPALETTE FASTCALL PALETTE_Init (VOID);
|
||||
INIT_FUNCTION NTSTATUS NTAPI InitPaletteImpl();
|
||||
VOID FASTCALL PALETTE_ValidateFlags (PALETTEENTRY* lpPalE, INT size);
|
||||
INT FASTCALL PALETTE_ToPhysical (PDC dc, COLORREF color);
|
||||
|
||||
|
|
|
@ -174,18 +174,11 @@ PDEVOBJ_vGetDeviceCaps(
|
|||
PPDEVOBJ ppdev,
|
||||
PDEVCAPS pDevCaps);
|
||||
|
||||
BOOL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitPDEVImpl();
|
||||
|
||||
BOOL
|
||||
NTAPI
|
||||
InitLDEVImpl();
|
||||
|
||||
BOOL
|
||||
NTAPI
|
||||
InitDeviceImpl();
|
||||
|
||||
PSIZEL
|
||||
FASTCALL
|
||||
PDEVOBJ_sizl(PPDEVOBJ, PSIZEL);
|
||||
|
|
|
@ -26,7 +26,10 @@ typedef struct _TIMER
|
|||
|
||||
extern PKTIMER MasterTimer;
|
||||
|
||||
NTSTATUS FASTCALL InitTimerImpl(VOID);
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitTimerImpl(VOID);
|
||||
BOOL FASTCALL DestroyTimersForThread(PTHREADINFO pti);
|
||||
BOOL FASTCALL DestroyTimersForWindow(PTHREADINFO pti, PWND Window);
|
||||
BOOL FASTCALL IntKillTimer(PWND Window, UINT_PTR IDEvent, BOOL SystemTimer);
|
||||
|
|
|
@ -11,6 +11,9 @@
|
|||
#pragma once
|
||||
#define INTERNAL_CALL APIENTRY
|
||||
|
||||
#define PLACE_IN_SECTION(s) __attribute__((section(s)))
|
||||
#define INIT_FUNCTION PLACE_IN_SECTION("INIT")
|
||||
|
||||
/* Internal Win32k Headers */
|
||||
#include <include/accelerator.h>
|
||||
#include <include/clipboard.h>
|
||||
|
|
|
@ -50,7 +50,9 @@ IntIsWindow(HWND hWnd);
|
|||
HWND* FASTCALL
|
||||
IntWinListChildren(PWND Window);
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitWindowImpl (VOID);
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
|
|
|
@ -62,7 +62,9 @@ typedef struct _WINSTATION_OBJECT
|
|||
extern WINSTATION_OBJECT *InputWindowStation;
|
||||
extern PPROCESSINFO LogonProcess;
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitWindowStationImpl(VOID);
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
|
|
|
@ -47,5 +47,9 @@ VOID NTAPI EXLATEOBJ_vInitialize(PEXLATEOBJ pexlo, PALETTE *ppalSrc, PALETTE *pp
|
|||
VOID NTAPI EXLATEOBJ_vInitXlateFromDCs(PEXLATEOBJ pexlo, PDC pdcSrc, PDC pdcDst);
|
||||
VOID NTAPI EXLATEOBJ_vInitSrcMonoXlate(PEXLATEOBJ pexlo, PPALETTE ppalDst, ULONG Color0, ULONG Color1);
|
||||
VOID NTAPI EXLATEOBJ_vCleanup(PEXLATEOBJ pexlo);
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitXlateImpl(VOID);
|
||||
|
||||
//#define XLATEOBJ_iXlate(pxo, Color) ((EXLATEOBJ*)pxo)->pfnXlate(pxo, Color)
|
||||
|
|
|
@ -16,17 +16,12 @@ HANDLE hModuleWin;
|
|||
|
||||
PGDI_HANDLE_TABLE INTERNAL_CALL GDIOBJ_iAllocHandleTable(OUT PSECTION_OBJECT *SectionObject);
|
||||
BOOL INTERNAL_CALL GDI_CleanupForProcess (struct _EPROCESS *Process);
|
||||
/* FIXME */
|
||||
PGDI_HANDLE_TABLE GdiHandleTable = NULL;
|
||||
PSECTION_OBJECT GdiTableSection = NULL;
|
||||
|
||||
HANDLE GlobalUserHeap = NULL;
|
||||
PSECTION_OBJECT GlobalUserHeapSection = NULL;
|
||||
|
||||
PSERVERINFO gpsi = NULL; // Global User Server Information.
|
||||
|
||||
HSEMAPHORE hsemDriverMgmt = NULL;
|
||||
|
||||
SHORT gusLanguageID;
|
||||
|
||||
extern ULONG_PTR Win32kSSDT[];
|
||||
|
@ -315,8 +310,6 @@ CLEANUP:
|
|||
END_CLEANUP;
|
||||
}
|
||||
|
||||
/* Only used in ntuser/input.c KeyboardThreadMain(). If it's
|
||||
not called there anymore, please delete */
|
||||
NTSTATUS
|
||||
Win32kInitWin32Thread(PETHREAD Thread)
|
||||
{
|
||||
|
@ -354,11 +347,22 @@ Win32kInitWin32Thread(PETHREAD Thread)
|
|||
|
||||
C_ASSERT(sizeof(SERVERINFO) <= PAGE_SIZE);
|
||||
|
||||
// Return on failure
|
||||
#define NT_ROF(x) \
|
||||
Status = (x); \
|
||||
if (!NT_SUCCESS(Status)) \
|
||||
{ \
|
||||
DPRINT1("Failed '%s' (0x%lx)\n", #x, Status); \
|
||||
return Status; \
|
||||
}
|
||||
|
||||
/*
|
||||
* This definition doesn't work
|
||||
*/
|
||||
NTSTATUS APIENTRY
|
||||
DriverEntry (
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
APIENTRY
|
||||
DriverEntry(
|
||||
IN PDRIVER_OBJECT DriverObject,
|
||||
IN PUNICODE_STRING RegistryPath)
|
||||
{
|
||||
|
@ -407,146 +411,48 @@ DriverEntry (
|
|||
}
|
||||
|
||||
/* Allocate global server info structure */
|
||||
gpsi = UserHeapAlloc(sizeof(SERVERINFO));
|
||||
if (!gpsi)
|
||||
{
|
||||
gpsi = UserHeapAlloc(sizeof(SERVERINFO));
|
||||
if (gpsi)
|
||||
{
|
||||
RtlZeroMemory(gpsi, sizeof(SERVERINFO));
|
||||
DPRINT("Global Server Data -> %x\n", gpsi);
|
||||
}
|
||||
else
|
||||
{
|
||||
ASSERT(FALSE);
|
||||
}
|
||||
}
|
||||
|
||||
if(!hsemDriverMgmt) hsemDriverMgmt = EngCreateSemaphore();
|
||||
|
||||
/* Create the GDI handle table */
|
||||
GdiHandleTable = GDIOBJ_iAllocHandleTable(&GdiTableSection);
|
||||
if (GdiHandleTable == NULL)
|
||||
{
|
||||
DPRINT1("Failed to initialize the GDI handle table.\n");
|
||||
DPRINT1("Failed allocate server info structure!\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
/* Initialize default palettes */
|
||||
PALETTE_Init();
|
||||
RtlZeroMemory(gpsi, sizeof(SERVERINFO));
|
||||
DPRINT("Global Server Data -> %x\n", gpsi);
|
||||
|
||||
NT_ROF(InitGdiHandleTable());
|
||||
NT_ROF(InitPaletteImpl());
|
||||
|
||||
/* Create stock objects, ie. precreated objects commonly
|
||||
used by win32 applications */
|
||||
CreateStockObjects();
|
||||
CreateSysColorObjects();
|
||||
|
||||
InitXlateImpl();
|
||||
InitPDEVImpl();
|
||||
InitLDEVImpl();
|
||||
InitDeviceImpl();
|
||||
|
||||
Status = InitDcImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize Device context implementation!\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
Status = InitUserImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize user implementation!\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
Status = InitHotkeyImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize hotkey implementation!\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
Status = InitWindowStationImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize window station implementation!\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
Status = InitDesktopImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize desktop implementation!\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
Status = InitWindowImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize window implementation!\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
Status = InitMenuImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize menu implementation!\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
Status = InitInputImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize input implementation.\n");
|
||||
return(Status);
|
||||
}
|
||||
|
||||
Status = InitKeyboardImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize keyboard implementation.\n");
|
||||
return(Status);
|
||||
}
|
||||
|
||||
Status = InitMonitorImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DbgPrint("Failed to initialize monitor implementation!\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
Status = MsqInitializeImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize message queue implementation.\n");
|
||||
return(Status);
|
||||
}
|
||||
|
||||
Status = InitTimerImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize timer implementation.\n");
|
||||
return(Status);
|
||||
}
|
||||
|
||||
Status = InitAcceleratorImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize accelerator implementation.\n");
|
||||
return(Status);
|
||||
}
|
||||
|
||||
Status = InitGuiCheckImpl();
|
||||
if (!NT_SUCCESS(Status))
|
||||
{
|
||||
DPRINT1("Failed to initialize GUI check implementation.\n");
|
||||
return(Status);
|
||||
}
|
||||
NT_ROF(InitXlateImpl());
|
||||
NT_ROF(InitPDEVImpl());
|
||||
NT_ROF(InitLDEVImpl());
|
||||
NT_ROF(InitDeviceImpl());
|
||||
NT_ROF(InitDcImpl());
|
||||
NT_ROF(InitUserImpl());
|
||||
NT_ROF(InitHotkeyImpl());
|
||||
NT_ROF(InitWindowStationImpl());
|
||||
NT_ROF(InitDesktopImpl());
|
||||
NT_ROF(InitWindowImpl());
|
||||
NT_ROF(InitMenuImpl());
|
||||
NT_ROF(InitInputImpl());
|
||||
NT_ROF(InitKeyboardImpl());
|
||||
NT_ROF(InitMonitorImpl());
|
||||
NT_ROF(MsqInitializeImpl());
|
||||
NT_ROF(InitTimerImpl());
|
||||
NT_ROF(InitAcceleratorImpl());
|
||||
NT_ROF(InitGuiCheckImpl());
|
||||
|
||||
/* Initialize FreeType library */
|
||||
if (!InitFontSupport())
|
||||
{
|
||||
DPRINT1("Unable to initialize font support\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
return Status;
|
||||
}
|
||||
|
||||
gusLanguageID = IntGdiGetLanguageID();
|
||||
|
|
|
@ -56,7 +56,9 @@
|
|||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitAcceleratorImpl(VOID)
|
||||
{
|
||||
return(STATUS_SUCCESS);
|
||||
|
|
|
@ -170,8 +170,9 @@ IntDesktopObjectDelete(PWIN32_DELETEMETHOD_PARAMETERS Parameters)
|
|||
|
||||
/* PRIVATE FUNCTIONS **********************************************************/
|
||||
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
FASTCALL
|
||||
NTAPI
|
||||
InitDesktopImpl(VOID)
|
||||
{
|
||||
/* Set Desktop Object Attributes */
|
||||
|
|
|
@ -130,7 +130,9 @@ IntUserManualGuiCheck(LONG Check)
|
|||
|
||||
}
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitGuiCheckImpl (VOID)
|
||||
{
|
||||
return STATUS_SUCCESS;
|
||||
|
|
|
@ -51,7 +51,9 @@ LIST_ENTRY gHotkeyList;
|
|||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitHotkeyImpl(VOID)
|
||||
{
|
||||
InitializeListHead(&gHotkeyList);
|
||||
|
|
|
@ -922,7 +922,9 @@ RawInputThreadMain(PVOID StartContext)
|
|||
DPRINT1("Raw Input Thread Exit!\n");
|
||||
}
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitInputImpl(VOID)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
|
|
@ -58,7 +58,10 @@ BYTE gQueueKeyStateTable[256];
|
|||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
/* Initialization -- Right now, just zero the key state and init the lock */
|
||||
NTSTATUS FASTCALL InitKeyboardImpl(VOID)
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitKeyboardImpl(VOID)
|
||||
{
|
||||
RtlZeroMemory(&gQueueKeyStateTable,0x100);
|
||||
return STATUS_SUCCESS;
|
||||
|
|
|
@ -86,7 +86,9 @@ UserMenuInfo(
|
|||
( ((r).bottom >= y)) && \
|
||||
( ((r).top <= y)) )
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitMenuImpl(VOID)
|
||||
{
|
||||
return(STATUS_SUCCESS);
|
||||
|
|
|
@ -28,7 +28,9 @@ static PMONITOR gMonitorList = NULL;
|
|||
|
||||
/* INITALIZATION FUNCTIONS ****************************************************/
|
||||
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitMonitorImpl()
|
||||
{
|
||||
DPRINT("Initializing monitor implementation...\n");
|
||||
|
|
|
@ -140,7 +140,9 @@ MsqDecPaintCountQueue(PUSER_MESSAGE_QUEUE Queue)
|
|||
}
|
||||
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
MsqInitializeImpl(VOID)
|
||||
{
|
||||
/*CurrentFocusMessageQueue = NULL;*/
|
||||
|
|
|
@ -53,8 +53,10 @@ InitUserAtoms(VOID)
|
|||
|
||||
/* FUNCTIONS *****************************************************************/
|
||||
|
||||
|
||||
NTSTATUS FASTCALL InitUserImpl(VOID)
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitUserImpl(VOID)
|
||||
{
|
||||
NTSTATUS Status;
|
||||
|
||||
|
|
|
@ -527,7 +527,9 @@ IntKillTimer(PWND Window, UINT_PTR IDEvent, BOOL SystemTimer)
|
|||
return pTmr ? TRUE : FALSE;
|
||||
}
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitTimerImpl(VOID)
|
||||
{
|
||||
ULONG BitmapBytes;
|
||||
|
|
|
@ -29,7 +29,9 @@
|
|||
* Initialize windowing implementation.
|
||||
*/
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitWindowImpl(VOID)
|
||||
{
|
||||
return STATUS_SUCCESS;
|
||||
|
|
|
@ -56,7 +56,9 @@ static GENERIC_MAPPING IntWindowStationMapping =
|
|||
};
|
||||
|
||||
|
||||
NTSTATUS FASTCALL
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitWindowStationImpl(VOID)
|
||||
{
|
||||
OBJECT_ATTRIBUTES ObjectAttributes;
|
||||
|
|
|
@ -58,7 +58,9 @@ static const MATRIX gmxWorldToPageDefault =
|
|||
|
||||
/** Internal functions ********************************************************/
|
||||
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitDcImpl()
|
||||
{
|
||||
psurfDefaultBitmap = SURFACE_ShareLockSurface(StockObjects[DEFAULT_BITMAP]);
|
||||
|
|
|
@ -81,6 +81,8 @@ OBJ_TYPE_INFO ObjTypeInfo[BASE_OBJTYPE_COUNT] =
|
|||
};
|
||||
|
||||
static LARGE_INTEGER ShortDelay;
|
||||
PGDI_HANDLE_TABLE GdiHandleTable = NULL;
|
||||
PSECTION_OBJECT GdiTableSection = NULL;
|
||||
|
||||
/** INTERNAL FUNCTIONS ********************************************************/
|
||||
|
||||
|
@ -151,7 +153,9 @@ GDI_CleanupDummy(PVOID ObjectBody)
|
|||
* Allocate GDI object table.
|
||||
* \param Size - number of entries in the object table.
|
||||
*/
|
||||
PGDI_HANDLE_TABLE INTERNAL_CALL
|
||||
INIT_FUNCTION
|
||||
PGDI_HANDLE_TABLE
|
||||
INTERNAL_CALL
|
||||
GDIOBJ_iAllocHandleTable(OUT PSECTION_OBJECT *SectionObject)
|
||||
{
|
||||
PGDI_HANDLE_TABLE HandleTable = NULL;
|
||||
|
@ -221,6 +225,23 @@ GDIOBJ_iAllocHandleTable(OUT PSECTION_OBJECT *SectionObject)
|
|||
return HandleTable;
|
||||
}
|
||||
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitGdiHandleTable()
|
||||
{
|
||||
/* Create the GDI handle table */
|
||||
GdiHandleTable = GDIOBJ_iAllocHandleTable(&GdiTableSection);
|
||||
if (GdiHandleTable == NULL)
|
||||
{
|
||||
DPRINT1("Failed to initialize the GDI handle table.\n");
|
||||
return STATUS_UNSUCCESSFUL;
|
||||
}
|
||||
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
|
||||
static void FASTCALL
|
||||
LockErrorDebugOutput(HGDIOBJ hObj, PGDI_TABLE_ENTRY Entry, LPSTR Function)
|
||||
{
|
||||
|
|
|
@ -57,7 +57,10 @@ unsigned short GetNumberOfBits(unsigned int dwMask)
|
|||
}
|
||||
|
||||
// Create the system palette
|
||||
HPALETTE FASTCALL PALETTE_Init(VOID)
|
||||
INIT_FUNCTION
|
||||
NTSTATUS
|
||||
NTAPI
|
||||
InitPaletteImpl()
|
||||
{
|
||||
int i;
|
||||
HPALETTE hpalette;
|
||||
|
@ -68,7 +71,7 @@ HPALETTE FASTCALL PALETTE_Init(VOID)
|
|||
sizeof(LOGPALETTE) +
|
||||
(NB_RESERVED_COLORS * sizeof(PALETTEENTRY)),
|
||||
TAG_PALETTE);
|
||||
if (!palPtr) return FALSE;
|
||||
if (!palPtr) return STATUS_NO_MEMORY;
|
||||
|
||||
palPtr->palVersion = 0x300;
|
||||
palPtr->palNumEntries = NB_RESERVED_COLORS;
|
||||
|
@ -131,7 +134,7 @@ HPALETTE FASTCALL PALETTE_Init(VOID)
|
|||
appalSurfaceDefault[BMF_JPEG] = &gpalRGB;
|
||||
appalSurfaceDefault[BMF_PNG] = &gpalRGB;
|
||||
|
||||
return hpalette;
|
||||
return STATUS_SUCCESS;
|
||||
}
|
||||
|
||||
VOID FASTCALL PALETTE_ValidateFlags(PALETTEENTRY* lpPalE, INT size)
|
||||
|
|
Loading…
Reference in a new issue