atl: reuse code of AtlModuleRegisterWndClassInfoW for AtlModuleRegisterWndClassInfoA (try 2)

Andrey Turkin andrey.turkin at gmail.com
Tue May 25 11:18:24 CDT 2010


25.05.2010 19:58, André Hentschel wrote:
> Am 25.05.2010 17:05, schrieb Andrey Turkin:
>    
>> 25.05.2010 18:51, André Hentschel wrote:
>>      
>>> --- a/dlls/atl/atlwin.h
>>> +++ b/dlls/atl/atlwin.h
>>> @@ -43,7 +43,7 @@ typedef struct _ATL_WNDCLASSINFOW_TAG
>>>        WCHAR m_szAutoName[14];
>>>    } _ATL_WNDCLASSINFOW;
>>>
>>> -ATOM WINAPI AtlModuleRegisterWndClassInfoA(_ATL_MODULEW *pm,
>>> _ATL_WNDCLASSINFOA *wci, WNDPROC *pProc);
>>> +ATOM WINAPI AtlModuleRegisterWndClassInfoA(_ATL_MODULEA *pm,
>>> _ATL_WNDCLASSINFOA *wci, WNDPROC *pProc);
>>>    ATOM WINAPI AtlModuleRegisterWndClassInfoW(_ATL_MODULEW *pm,
>>> _ATL_WNDCLASSINFOW *wci, WNDPROC *pProc);
>>>
>>>    HDC WINAPI AtlCreateTargetDC(HDC hdc, DVTARGETDEVICE *ptd);
>>>
>>>        
>> Are you sure about this change?
>>
>>      
> 95 percent. the unicode struct would not make much sense to me.
>
>    
The reason I asked was caused by the fact SDK's header specifies same 
unqualified _ATL_MODULE type for both functions so unless native atl.dll 
was partially unicode and partiall ansi compiled both functions would 
have same type of the argument. So I thought you might have some proof 
of whether this is true.
Ansi version indeed makes more sense here (since most callers who uses 
ansi version of the function would probably have their _Module as ansi 
too) . Anyway, the code of this function doesn't use any of 
unicode-dependant parts of _ATL_MODULE so any type will do.





More information about the wine-devel mailing list