Hi!
2008/4/2 Timo Kreuzer timo.kreuzer@web.de:
Placing an undocumented and partly unknown structure inside two different headers will lead to problems, like the two different versions we have now ;-)
Sorry~
Well I'm not sure if I got you right, so I just try to make my thinking more clear: There's compatible and there's compatible: A) our sdk headers will contain 100% the same as ms sdk headers, not less, not more B) our sdk headers will contain everything that is in ms sdk headers, but can contain more. The ms sdk you can download is the public sdk. It's probably not what ms uses to compile their stuff. It's partly limited. ntgdi.h contains "typedef struct _POLYPATBLT POLYPATBLT, * PPOLYPATBLT";
BTW the structure is this: typedef struct _POLYPATBLT { LONG nXLeft; LONG nYLeft; LONG nWidth; LONG nHeight; HBRUSH hBrush; } POLYPATBLT, * PPOLYPATBLT;
I was going to change it with the next installment of GdiBatch.
But where's the real structure definition? Somewhere else? Does that make sense? Well it does when ms uses different headers that contain all the complete types, but then they don't even need this typedef.. So where do we put it? I suggested the #ifdef's to have compatibility A when it's not defined and B when it's defined. ntuser.h doesn't belong to the ms sdk. But for what reason? Do ms people really have ntuser stuff somewhere else? Probably not, they just decided not to ship it (I think they shipped ntuser.h with DDK some time ago)
I guess we can add those into the our SDK. I was ranting on how we should be compatible.
Timo
Do what you think is right.... Thanks, James