[ros-dev] GDI_TABLE_ENTRY structure
James Tabor
jimtabor at adsl-64-217-116-74.dsl.hstntx.swbell.net
Thu Aug 30 14:35:59 CEST 2007
Hi!
Timo Kreuzer wrote:
> #pragma pack(push,1)
> typedef struct
> {
> PVOID KernelData; /* Points to the kernel mode structure */
> union
> {
> DWORD ProcessId; /* process id that created the object, 0 for
> kernel objects */
> struct
> {
> unsigned ProcessId16: 16;
> unsigned Unused: 16;
> };
> };
> union
> {
> ULONG Type;
> struct
> {
> union
> {
> unsigned TypeLower: 16;
> struct
> {
> union
> {
> unsigned HandleTypeStock: 8;
> struct
> {
> unsigned HandleType: 7;
> unsigned StockBit: 1;
> };
> };
> unsigned ReuseCount: 8;
> };
> };
> union
> {
> unsigned TypeUpper: 16;
> struct
> {
> unsigned StorageType: 8; /* PEN uses same value as
> BRUSH here, no stock bit */
> unsigned Flags: 8;
> };
> };
> };
> };
> PVOID UserData; /* Points to the user mode structure, usually NULL
> though */
> } GDI_TABLE_ENTRY, *PGDI_TABLE_ENTRY;;
>
> typedef union
> {
> HGDIOBJ Handle;
> struct
> {
> unsigned Index: 16;
> union
> {
> unsigned Upper: 16;
> struct
> {
> union
> {
> unsigned HandleTypeStock: 8;
> struct
> {
> unsigned HandleType: 7;
> unsigned StockBit: 1;
> };
> };
> unsigned ReuseCount: 8;
> };
> };
> };
> } GDIHANDLE, *PGDIHANDLE;
> #pragma pack(pop)
>
Okay! 8^D
James
More information about the Ros-dev
mailing list