ExtTextOutW under Windows 95

Dear Experts,

  As far as I know, most of the GDI API functions (32bit)
  under Windows 95 is thunked to the corresponding 16 bit
  GDI functions (GDI.EXE). For example, ExtTextOutA (the
  non-unicode version) is thunked to ExtTextOut of the 16
  bit version.
 
  The question is whether the Unicode version of ExtTextOut
  (i.e. ExtTextOutW) is thunked to a corresponding function
  in the 16 bit DLL (GDI.EXE) ? What is the function then?
  And what is the structure of the function?

  Or, is this unicode function is handled in the 32 bit
  DLL (GDI32.DLL)?

  Is there any documentation on this type of information?

  Thanks

 
gcschongAsked:
Who is Participating?
 
JohnLConnect With a Mentor Commented:
While there might be a GDI 32-bit function that is handled entirely in gdi32.dll, I haven't found one yet.  Even simple functions that never leave GDI such as MoveTo thunk down to gdi.exe.

ExtTextOutW thunks to the 16-bit ExtTextOut, just like ExtTextOutA does.  It signals 16-bit ETO by a value set
in CX.  The 16-bit ETO uses its UnicodeToAnsi function
to parse the string.  If you look at it, all ETOW does is
load CX with the different value and then jump into ETOA.

There's no documentation on this stuff. Microsoft doesn't think that you need to know it. I discovered most of this stuff while writing a 32-bit gdi32.dll bypass (patch).
0
Question has a verified solution.

Are you are experiencing a similar issue? Get a personalized answer when you ask a related question.

Have a better answer? Share it in a comment.

All Courses

From novice to tech pro — start learning today.