mirror of
https://github.com/reactos/reactos.git
synced 2025-08-03 21:25:43 +00:00
Up the handle count to 0x10000, reset adjustment to support change. Add device capabilities to handle table.
svn path=/trunk/; revision=31204
This commit is contained in:
parent
5232a3eb7a
commit
0611e28734
3 changed files with 12 additions and 8 deletions
|
@ -18,8 +18,8 @@
|
||||||
/* Base address where the handle table is mapped to */
|
/* Base address where the handle table is mapped to */
|
||||||
#define GDI_HANDLE_TABLE_BASE_ADDRESS (0x400000)
|
#define GDI_HANDLE_TABLE_BASE_ADDRESS (0x400000)
|
||||||
|
|
||||||
/* GDI handle table can hold 0x4000 handles */
|
/* GDI handle table can hold 0x10000 handles */
|
||||||
#define GDI_HANDLE_COUNT 0x4000
|
#define GDI_HANDLE_COUNT 0x10000
|
||||||
#define GDI_GLOBAL_PROCESS (0x0)
|
#define GDI_GLOBAL_PROCESS (0x0)
|
||||||
|
|
||||||
/* Handle Masks and shifts */
|
/* Handle Masks and shifts */
|
||||||
|
|
|
@ -11,10 +11,14 @@
|
||||||
|
|
||||||
typedef struct _GDI_HANDLE_TABLE
|
typedef struct _GDI_HANDLE_TABLE
|
||||||
{
|
{
|
||||||
/* the table must be located at the beginning of this structure so it can be
|
/* The table must be located at the beginning of this structure so it can be
|
||||||
properly mapped! */
|
* properly mapped!
|
||||||
|
*/
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
GDI_TABLE_ENTRY Entries[GDI_HANDLE_COUNT];
|
GDI_TABLE_ENTRY Entries[GDI_HANDLE_COUNT];
|
||||||
|
DEVCAPS DevCaps; // Device Capabilities
|
||||||
|
// Font data
|
||||||
|
//////////////////////////////////////////////////////////////////////////////
|
||||||
PPAGED_LOOKASIDE_LIST LookasideLists;
|
PPAGED_LOOKASIDE_LIST LookasideLists;
|
||||||
|
|
||||||
SLIST_HEADER FreeEntriesHead;
|
SLIST_HEADER FreeEntriesHead;
|
||||||
|
|
|
@ -238,7 +238,7 @@ void IntDumpHandleTable(PGDI_HANDLE_TABLE HandleTable)
|
||||||
DPRINT1("reporting gdi handle abusers:\n");
|
DPRINT1("reporting gdi handle abusers:\n");
|
||||||
|
|
||||||
/* step through GDI handle table and find out who our culprit is... */
|
/* step through GDI handle table and find out who our culprit is... */
|
||||||
for ( i = RESERVE_ENTRIES_COUNT; i < GDI_HANDLE_COUNT; i++ )
|
for ( i = RESERVE_ENTRIES_COUNT; i < GDI_HANDLE_COUNT-1; i++ )
|
||||||
{
|
{
|
||||||
for ( j = 0; j < n; j++ )
|
for ( j = 0; j < n; j++ )
|
||||||
{
|
{
|
||||||
|
@ -787,7 +787,7 @@ GDIOBJ_LockObj (PGDI_HANDLE_TABLE HandleTable, HGDIOBJ hObj, DWORD ExpectedType)
|
||||||
HandleUpper = GDI_HANDLE_GET_UPPER(hObj);
|
HandleUpper = GDI_HANDLE_GET_UPPER(hObj);
|
||||||
|
|
||||||
/* Check that the handle index is valid. */
|
/* Check that the handle index is valid. */
|
||||||
if (HandleIndex >= GDI_HANDLE_COUNT)
|
if (HandleIndex >= GDI_HANDLE_COUNT-1)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
Entry = &HandleTable->Entries[HandleIndex];
|
Entry = &HandleTable->Entries[HandleIndex];
|
||||||
|
@ -935,7 +935,7 @@ GDIOBJ_ShareLockObj (PGDI_HANDLE_TABLE HandleTable, HGDIOBJ hObj, DWORD Expected
|
||||||
HandleUpper = GDI_HANDLE_GET_UPPER(hObj);
|
HandleUpper = GDI_HANDLE_GET_UPPER(hObj);
|
||||||
|
|
||||||
/* Check that the handle index is valid. */
|
/* Check that the handle index is valid. */
|
||||||
if (HandleIndex >= GDI_HANDLE_COUNT)
|
if (HandleIndex >= GDI_HANDLE_COUNT-1)
|
||||||
return NULL;
|
return NULL;
|
||||||
|
|
||||||
/* Check if we have the requested type */
|
/* Check if we have the requested type */
|
||||||
|
|
Loading…
Add table
Add a link
Reference in a new issue