The structure is completely binary and source compatible to what we have so far, wich is (now, after my fix to gdiobj code) compatible to windows. We can simply replace the struct and everything else could stay the same. It just gives us the possibility to access single fields without using masks and bitshifts. And it has the Fields TypeLower in the table entry type and Upper in the handle type. This allows quick comparison. if (Entry->TypeLower == Handle.Upper) instead of if ((Entry->Type << GDI_ENTRY_UPPER_SHIFT) == GDI_HANDLE_GET_TYPE(hObj))
Magnus Olsen schrieb:
I forget the GDI table are share and can be extract from GdiQueryTable, then use the decoding metod that being desc in yuan book. GdiQueryTable return the memory pointer of gdi_table. so it is bit bad idea. after rethink.