From: Chris Shearer Cooper on
When I am playing back an enhanced metafile using EnumEnhMetaFile(),
it appears that the coordinate system functions (GetWindowOrg,
GetViewportExt, etc.) all return invalid values. For example, if the
metafile says
SetMapMode(MM_ISOTROPIC)
SetViewportOrg(50, 50)
and inside my EnhMetaFileProc (which is simply calling
PlayEnhMetaFileRecord() for every ENHMETARECORD it receives) I call
GetViewportOrg(), it returns (0,0) instead of (50,50).

In fact, GetViewportOrg() always returns (0,0), no matter what mapping
mode or window/viewport mapping I set up.

I can certainly understand this behavior, during playback of an
enhanced metafile you can scale the output, shift it around in its
destination DC, all kinds of good stuff. So I'm not surprised that
GetViewportOrg() would not be very useful during metafile playback.

But what I desperately need, is some documentation (preferably
straight from Microsoft) that talks about this. What would be
wonderful, is a list of functions that one should not call during
metafile playback. BTW, I have seen lists of functions that one
should not call on a metafile DC during metafile _creation_, I assume
that's going to be a different list.

Thanks!
Chris