mirror of
https://github.com/reactos/reactos.git
synced 2024-07-11 07:05:12 +00:00
Thanks Timo! I have updated the information too.
svn path=/trunk/; revision=31203
This commit is contained in:
parent
7c69396b36
commit
5232a3eb7a
|
@ -1509,12 +1509,21 @@ NtGdiCreateClientObj(
|
|||
IN ULONG ulType
|
||||
)
|
||||
{
|
||||
// INT Index;
|
||||
// PGDI_TABLE_ENTRY Entry;
|
||||
HANDLE handle = GDIOBJ_AllocObj(GdiHandleTable, GDI_OBJECT_TAG_CLIOBJ);
|
||||
// ATM we use DC object for KernelData. I think it should be at a minimum GDIOBJEMPTYHDR.
|
||||
// The UserData is set in user mode, so it is always NULL.
|
||||
//
|
||||
INT Index;
|
||||
PGDI_TABLE_ENTRY Entry;
|
||||
HANDLE handle = GDIOBJ_AllocObj(GdiHandleTable, GDI_OBJECT_TYPE_CLIOBJ);
|
||||
// Need to change handle type based on ulType.
|
||||
// Index = GDI_HANDLE_GET_INDEX((HGDIOBJ)handle);
|
||||
// Entry = &GdiHandleTable->Entries[Index];
|
||||
Index = GDI_HANDLE_GET_INDEX((HGDIOBJ)handle);
|
||||
Entry = &GdiHandleTable->Entries[Index];
|
||||
// mask out lower half and set the type by ulType.
|
||||
Entry->Type &= GDI_HANDLE_UPPER_MASK;
|
||||
Entry->Type |= ulType >> GDI_ENTRY_UPPER_SHIFT;
|
||||
// mask out handle type than set it by ulType.
|
||||
handle = (HANDLE)(((ULONG_PTR)(handle)) & (GDI_HANDLE_REUSE_MASK|GDI_HANDLE_STOCK_MASK|0x0ffff));
|
||||
handle = (HANDLE)(((ULONG_PTR)(handle)) | ulType);
|
||||
return handle;
|
||||
}
|
||||
|
||||
|
@ -1525,7 +1534,7 @@ NtGdiDeleteClientObj(
|
|||
IN HANDLE h
|
||||
)
|
||||
{
|
||||
return GDIOBJ_FreeObj(GdiHandleTable, h, GDI_OBJECT_TAG_CLIOBJ);
|
||||
return GDIOBJ_FreeObj(GdiHandleTable, h, GDI_OBJECT_TYPE_CLIOBJ);
|
||||
}
|
||||
|
||||
/* EOF */
|
||||
|
|
Loading…
Reference in a new issue