Michael Stefaniuc wrote
Corrected script and output files are attached. Now they are only 178 lines of output which brings us damn near to Dimi's number.
Once I got rid of the duplicate calls I ended up with 130.
Changelog: update Janitorial template to reflect the true number of A->W crosscalls
Tony Lambregts
Index: janitorial.template =================================================================== RCS file: /home/wine/lostwages/templates/en/janitorial.template,v retrieving revision 1.42 diff -u -u -r1.42 janitorial.template --- janitorial.template 15 Sep 2004 20:02:38 -0000 1.42 +++ janitorial.template 16 Sep 2004 04:34:48 -0000 @@ -196,65 +196,145 @@ The ASCII to Unicode conversion is lossy; moreover, with the shift to Unicode, it's actually slower to deal in ASCII than in Unicode, because of the additional conversions required. - There are 54 cross calls from Unicode to ANSI as reported by + There are 130 cross calls from Unicode to ANSI as of September 15, 2004. + + winapi_check <tt>tools/winapi_check/winapi_check --none --progress --cross-call-unicode-ascii</tt> - (as of Aug 12, 2004): + does not catch all cross calls. + however <a href="http://www.winehq.org/hypermail/wine-devel/2004/09/0452.html">wine_crosscalls.pl</a> + by Michael Stefaniuc seems to be more thorough. + <ul> - <li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptAcquireContextW: illegal call to CryptAcquireContextA - <li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptEnumProviderTypesW: illegal call to CryptEnumProviderTypesA - <li class=committed>dlls/advapi32/crypt.c: advapi32: CryptEnumProvidersW: illegal call to CryptEnumProvidersA - <li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptGetDefaultProviderW: illegal call to CryptGetDefaultProviderA - <li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptSetProviderExW: illegal call to CryptSetProviderExA - <li>dlls/ddraw/main.c: ddraw: DirectDrawEnumerateExW: illegal call to DirectDrawEnumerateExA - <li>dlls/gdi/printdrv.c: gdi32: StartDocW: illegal call to HEAP_strdupWtoA - <li>dlls/gdi/printdrv.c: gdi32: StartDocW: illegal call to StartDocA - <li>dlls/kernel/comm.c: kernel32: CommConfigDialogW: illegal call to CommConfigDialogA - <li>dlls/kernel/comm.c: kernel32: CommConfigDialogW: illegal call to HEAP_strdupWtoA - <li>dlls/kernel/comm.c: kernel32: SetDefaultCommConfigW: illegal call to HEAP_strdupWtoA - <li>dlls/kernel/comm.c: kernel32: SetDefaultCommConfigW: illegal call to SetDefaultCommConfigA - <li>dlls/kernel/locale.c: kernel32: GetLocaleInfoW: illegal call to GetModuleHandleA - <li>dlls/kernel/sync.c: kernel32: WaitNamedPipeW: illegal call to CreateEventA - <li>dlls/lzexpand/lzexpand_main.c: lz32: LZOpenFileW: illegal call to LZOpenFileA - <li>dlls/rpcrt4/rpc_binding.c: rpcrt4: RpcBindingToStringBindingW: illegal call to RpcBindingToStringBindingA - <li>dlls/rpcrt4/rpc_binding.c: rpcrt4: RpcBindingToStringBindingW: illegal call to RpcStringFreeA - <li>dlls/rpcrt4/rpc_server.c: rpcrt4: RpcServerUseProtseqEpExW: illegal call to RPCRT4_strdupWtoA - <li>dlls/shell32/shell32_main.c: shell32: ShellAboutW: illegal call to DialogBoxIndirectParamA - <li>dlls/shell32/shell32_main.c: shell32: ShellAboutW: illegal call to HEAP_strdupWtoA - <li>dlls/shell32/shell32_main.c: shell32: ShellAboutW: illegal call to LoadIconA - <li>dlls/shell32/shellole.c: shell32: DragQueryFileW: illegal call to DragQueryFileA - <li>dlls/shell32/systray.c: shell32: Shell_NotifyIconW: illegal call to Shell_NotifyIconA - <li>dlls/shlwapi/string.c: shlwapi: StrCmpLogicalW: illegal call to SHLWAPI_ChrCmpHelperA - <li>dlls/shlwapi/string.c: shlwapi: StrFormatByteSizeW: illegal call to StrFormatByteSize64A - <li>dlls/shlwapi/string.c: shlwapi: StrRetToStrW: illegal call to SHStrDupA - <li>dlls/version/install.c: version: VerInstallFileW: illegal call to VerInstallFileA - <li>dlls/winmm/driver.c: winmm: OpenDriverW: illegal call to OpenDriverA - <li>dlls/winmm/joystick.c: winmm: joyGetDevCapsW: illegal call to joyGetDevCapsA - <li>dlls/winmm/mci.c: winmm: mciSendStringW: illegal call to mciSendStringA - <li>dlls/winmm/mmio.c: winmm: mmioRenameW: illegal call to mmioRenameA - <li>dlls/winmm/mmio.c: winmm: mmioStringToFOURCCW: illegal call to mmioStringToFOURCCA - <li>dlls/winmm/winmm.c: winmm: auxGetDevCapsW: illegal call to auxGetDevCapsA - <li>dlls/winmm/winmm.c: winmm: mciGetErrorStringW: illegal call to mciGetErrorStringA - <li>dlls/winmm/winmm.c: winmm: midiInGetDevCapsW: illegal call to midiInGetDevCapsA - <li>dlls/winmm/winmm.c: winmm: midiOutGetDevCapsW: illegal call to midiOutGetDevCapsA - <li>dlls/winmm/winmm.c: winmm: mixerGetControlDetailsW: illegal call to mixerGetControlDetailsA - <li>dlls/winmm/winmm.c: winmm: mixerGetDevCapsW: illegal call to mixerGetDevCapsA - <li>dlls/winmm/winmm.c: winmm: mixerGetLineControlsW: illegal call to mixerGetLineControlsA - <li>dlls/winmm/winmm.c: winmm: mixerGetLineInfoW: illegal call to mixerGetLineInfoA - <li>dlls/winmm/winmm.c: winmm: waveInGetDevCapsW: illegal call to waveInGetDevCapsA - <li>dlls/winmm/winmm.c: winmm: waveOutGetDevCapsW: illegal call to waveOutGetDevCapsA - <li>dlls/winspool/info.c: winspool.drv: AddPrinterW: illegal call to DEVMODEdupWtoA - <li>dlls/winspool/info.c: winspool.drv: AddPrinterW: illegal call to RegSetValueExA - <li>dlls/winspool/info.c: winspool.drv: DeviceCapabilitiesW: illegal call to DEVMODEdupWtoA - <li>dlls/winspool/info.c: winspool.drv: DeviceCapabilitiesW: illegal call to DeviceCapabilitiesA - <li>dlls/winspool/info.c: winspool.drv: DeviceCapabilitiesW: illegal call to HEAP_strdupWtoA - <li>dlls/winspool/info.c: winspool.drv: DocumentPropertiesW: illegal call to DEVMODEdupWtoA - <li>dlls/winspool/info.c: winspool.drv: DocumentPropertiesW: illegal call to DocumentPropertiesA - <li>dlls/winspool/info.c: winspool.drv: DocumentPropertiesW: illegal call to HEAP_strdupWtoA - <li>windows/clipboard.c: user32: GetClipboardFormatNameW: illegal call to GetClipboardFormatNameA - <li>windows/clipboard.c: user32: RegisterClipboardFormatW: illegal call to HEAP_strdupWtoA - <li>windows/clipboard.c: user32: RegisterClipboardFormatW: illegal call to RegisterClipboardFormatA - <li>windows/winhelp.c: user32: WinHelpW: illegal call to WinHelpA - <li>windows/winproc.c: user32: CallWindowProcW: illegal call to WINPROC_CallProc32WTo32A + <li class=submitted>dlls/advapi32/crypt.c CryptAcquireContextW: illegal call to CryptAcquireContextA + <li class=submitted>dlls/advapi32/crypt.c CryptEnumProviderTypesW: illegal call to CryptEnumProviderTypesA + <li class=submitted>dlls/advapi32/crypt.c CryptGetDefaultProviderW: illegal call to CryptGetDefaultProviderA + <li class=submitted>dlls/advapi32/crypt.c CryptSetProviderExW: illegal call to CryptSetProviderExA + <li>dlls/comctl32/string.c StrRStrIW: illegal call to COMCTL32_ChrCmpIA + <li>dlls/comctl32/tooltips.c TOOLTIPS_AddToolW: illegal call to SendMessageA + <li>dlls/commdlg/colordlg.c ChooseColorW: illegal call to FindResourceA + <li>dlls/commdlg/filedlg.c GetFileDialog95W: illegal call to GetCurrentDirectoryA + <li>dlls/commdlg/filedlg.c GetFileDialog95W: illegal call to SetCurrentDirectoryA + <li>dlls/commdlg/filedlg.c GetFileName31W: illegal call to GetWindowLongA + <li>dlls/commdlg/fontdlg.c FormatCharDlgProcW: illegal call to GetPropA + <li>dlls/commdlg/printdlg.c PageDlgProcW: illegal call to GetPropA + <li>dlls/commdlg/printdlg.c PageDlgProcW: illegal call to SetDlgItemTextA + <li>dlls/commdlg/printdlg.c PageDlgProcW: illegal call to SetPropA + <li>dlls/commdlg/printdlg.c PRINTDLG_ChangePrinterW: illegal call to LoadStringA + <li>dlls/commdlg/printdlg.c PRINTDLG_ChangePrinterW: illegal call to SendDlgItemMessageA + <li>dlls/commdlg/printdlg.c PRINTDLG_PS_UpdateDlgStructW: illegal call to GetDlgItemTextA + <li>dlls/commdlg/printdlg.c PRINTDLG_SetUpPaperComboBoxW: illegal call to SendDlgItemMessageA + <li>dlls/commdlg/printdlg.c PRINTDLG_SetUpPrinterListComboW: illegal call to GetDefaultPrinterA + <li>dlls/commdlg/printdlg.c PRINTDLG_SetUpPrinterListComboW: illegal call to SendDlgItemMessageA + <li>dlls/commdlg/printdlg.c PRINTDLG_UpdatePrintDlgW: illegal call to LoadStringA + <li>dlls/commdlg/printdlg.c PRINTDLG_UpdatePrintDlgW: illegal call to MessageBoxA + <li>dlls/commdlg/printdlg.c PRINTDLG_WMCommandW: illegal call to SendDlgItemMessageA + <li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to LoadIconA + <li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to LoadImageA + <li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to RegisterWindowMessageA + <li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to SendDlgItemMessageA + <li>dlls/ddraw/main.c DirectDrawEnumerateExW: illegal call to DirectDrawEnumerateExA + <li>dlls/gdi/printdrv.c StartDocW: illegal call to HEAP_strdupWtoA + <li>dlls/gdi/printdrv.c StartDocW: illegal call to StartDocA + <li>dlls/hhctrl.ocx/hhctrl.c HtmlHelpW: illegal call to MessageBoxA + <li>dlls/kernel/comm.c CommConfigDialogW: illegal call to CommConfigDialogA + <li>dlls/kernel/comm.c CommConfigDialogW: illegal call to HEAP_strdupWtoA + <li>dlls/kernel/comm.c SetDefaultCommConfigW: illegal call to HEAP_strdupWtoA + <li>dlls/kernel/comm.c SetDefaultCommConfigW: illegal call to SetDefaultCommConfigA + <li>dlls/kernel/resource.c FindResourceExW: illegal call to get_res_name_type_WtoA + <li>dlls/lzexpand/lzexpand_main.c GetExpandedNameW: illegal call to GetExpandedNameA + <li>dlls/lzexpand/lzexpand_main.c LZOpenFileW: illegal call to LZOpenFileA + <li>dlls/rpcrt4/rpc_binding.c RpcBindingToStringBindingW: illegal call to RpcBindingToStringBindingA + <li>dlls/rpcrt4/rpc_binding.c RpcBindingToStringBindingW: illegal call to RpcStringFreeA + <li>dlls/rpcrt4/rpc_binding.c RPCRT4_CompleteBindingW: illegal call to RPCRT4_strdupWtoA + <li>dlls/rpcrt4/rpc_binding.c RPCRT4_CompleteBindingW: illegal call to RPCRT4_strndupA + <li>dlls/rpcrt4/rpc_binding.c RPCRT4_CreateBindingW: illegal call to RPCRT4_strdupWtoA + <li>dlls/rpcrt4/rpc_server.c RpcServerUseProtseqEpExW: illegal call to RPCRT4_strdupWtoA + <li>dlls/secur32/secur32.c SECUR32_findPackageW: illegal call to _makeFnTableA + <li>dlls/secur32/thunks.c thunk_AcquireCredentialsHandleW: illegal call to AcquireCredentialsHandleA + <li>dlls/secur32/thunks.c thunk_ImportSecurityContextW: illegal call to ImportSecurityContextA + <li>dlls/shell32/pidl.c SHELL_GetPathFromIDListW: illegal call to lstrlenA + <li>dlls/shell32/shell32_main.c ShellAboutW: illegal call to FindResourceA + <li>dlls/shell32/shellole.c DragQueryFileW: illegal call to DragQueryFileA + <li>dlls/shell32/systray.c Shell_NotifyIconW: illegal call to Shell_NotifyIconA + <li>dlls/shlwapi/ordinal.c DragQueryFileWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c ExtractIconExWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c ExtractIconWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c ExtTextOutWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c GetFileVersionInfoSizeWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c GetFileVersionInfoWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c GetOpenFileNameWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c GetSaveFileNameWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c PageSetupDlgWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c PlaySoundWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c PrintDlgWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c SHBrowseForFolderWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c SHCreateWorkerWindowW: illegal call to LoadCursorA + <li>dlls/shlwapi/ordinal.c SHCreateWorkerWindowW: illegal call to SetWindowLongA + <li>dlls/shlwapi/ordinal.c SHCreateWorkerWindowW: illegal call to SHCreateWorkerWindowA + <li>dlls/shlwapi/ordinal.c SHDefExtractIconWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c ShellExecuteExWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c SHFileOperationWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c SHGetFileInfoWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c SHGetNewLinkInfoWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c SHGetPathFromIDListWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c SHStringFromGUIDW: illegal call to SHStringFromGUIDA + <li>dlls/shlwapi/ordinal.c VerQueryValueWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c WNetGetLastErrorWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/ordinal.c WNetRestoreConnectionWrapW: illegal call to LoadLibraryA + <li>dlls/shlwapi/path.c PathIsNetworkPathW: illegal call to LoadLibraryA + <li>dlls/shlwapi/string.c StrCmpLogicalW: illegal call to SHLWAPI_ChrCmpHelperA + <li>dlls/shlwapi/string.c StrFormatByteSizeW: illegal call to StrFormatByteSize64A + <li>dlls/shlwapi/string.c StrRetToStrW: illegal call to SHStrDupA + <li>dlls/shlwapi/string.c StrRStrIW: illegal call to ChrCmpIA + <li>dlls/shlwapi/url.c ParseURLW: illegal call to lstrlenA + <li>dlls/user/message.c PeekMessageW: illegal call to GetClassLongA + <li>dlls/version/install.c VerInstallFileW: illegal call to VerInstallFileA + <li>dlls/wininet/internet.c InternetCheckConnectionW: illegal call to InternetCheckConnectionA + <li>dlls/winmm/driver.c OpenDriverW: illegal call to OpenDriverA + <li>dlls/winmm/joystick.c joyGetDevCapsW: illegal call to joyGetDevCapsA + <li>dlls/winmm/mci.c mciSendStringW: illegal call to mciSendStringA + <li>dlls/winmm/mmio.c mmioRenameW: illegal call to mmioRenameA + <li>dlls/winmm/mmio.c mmioStringToFOURCCW: illegal call to mmioStringToFOURCCA + <li>dlls/winmm/winmm.c auxGetDevCapsW: illegal call to auxGetDevCapsA + <li>dlls/winmm/winmm.c mciGetErrorStringW: illegal call to mciGetErrorStringA + <li>dlls/winmm/winmm.c mciSendCommandW: illegal call to MCI_MapMsgWtoA + <li>dlls/winmm/winmm.c mciSendCommandW: illegal call to MCI_UnmapMsgWtoA + <li>dlls/winmm/winmm.c mciSendCommandW: illegal call to mciSendCommandA + <li>dlls/winmm/winmm.c midiInGetDevCapsW: illegal call to midiInGetDevCapsA + <li>dlls/winmm/winmm.c midiOutGetDevCapsW: illegal call to midiOutGetDevCapsA + <li>dlls/winmm/winmm.c mixerGetControlDetailsW: illegal call to mixerGetControlDetailsA + <li>dlls/winmm/winmm.c mixerGetDevCapsW: illegal call to mixerGetDevCapsA + <li>dlls/winmm/winmm.c mixerGetLineControlsW: illegal call to mixerGetLineControlsA + <li>dlls/winmm/winmm.c mixerGetLineInfoW: illegal call to mixerGetLineInfoA + <li>dlls/winmm/winmm.c waveInGetDevCapsW: illegal call to waveInGetDevCapsA + <li>dlls/winmm/winmm.c waveOutGetDevCapsW: illegal call to waveOutGetDevCapsA + <li>dlls/winsock/socket.c WSAStringToAddressW: illegal call to WSAStringToAddressA + <li>dlls/winspool/info.c AddPrinterW: illegal call to DEVMODEdupWtoA + <li>dlls/winspool/info.c AddPrinterW: illegal call to RegCreateKeyA + <li>dlls/winspool/info.c AddPrinterW: illegal call to RegQueryValueA + <li>dlls/winspool/info.c AddPrinterW: illegal call to RegSetValueExA + <li>dlls/winspool/info.c DeviceCapabilitiesW: illegal call to DeviceCapabilitiesA + <li>dlls/winspool/info.c DeviceCapabilitiesW: illegal call to DEVMODEdupWtoA + <li>dlls/winspool/info.c DeviceCapabilitiesW: illegal call to HEAP_strdupWtoA + <li>dlls/winspool/info.c DocumentPropertiesW: illegal call to DEVMODEdupWtoA + <li>dlls/winspool/info.c DocumentPropertiesW: illegal call to DocumentPropertiesA + <li>dlls/winspool/info.c DocumentPropertiesW: illegal call to HEAP_strdupWtoA + <li>dlls/winspool/info.c OpenPrinterW: illegal call to RegCreateKeyA + <li>programs/winedbg/winedbg.c dbg_outputW: illegal call to dbg_outputA + <li>windows/clipboard.c GetClipboardFormatNameW: illegal call to GetClipboardFormatNameA + <li>windows/clipboard.c RegisterClipboardFormatW: illegal call to HEAP_strdupWtoA + <li>windows/clipboard.c RegisterClipboardFormatW: illegal call to RegisterClipboardFormatA + <li>windows/cursoricon.c map_fileW: illegal call to CreateFileMappingA + <li>windows/defwnd.c DEFWND_ImmIsUIMessageW: illegal call to GetModuleHandleA + <li>windows/winhelp.c WinHelpW: illegal call to WinHelpA + <li>windows/winhelp.c WinHelpW: illegal call to WinHelpA + <li>windows/winproc.c CallWindowProcW: illegal call to WINPROC_CallProc32WTo32A + <li>windows/winproc.c WINPROC_MapMsg16To32W: illegal call to CREATESTRUCT16to32A + <li>windows/winproc.c WINPROC_MapMsg16To32W: illegal call to MDICREATESTRUCT16to32A + <li>windows/winproc.c WINPROC_MapMsg16To32W: illegal call to WINPROC_MapMsg16To32A + <li>windows/winproc.c WINPROC_MapMsg32ATo32W: illegal call to GetWindowLongA + <li>windows/winproc.c WINPROC_UnmapMsg16To32W: illegal call to WINPROC_UnmapMsg16To32A + <li>windows/winproc.c WINPROC_UnmapMsg32ATo32W: illegal call to GetWindowLongA </ul>
<p>Please note that patches have been submitted for the <span class=submitted>italic</span> entries;
Once I got rid of the duplicate calls I ended up with 130.
What do you mean duplicate calls? Can you give a few examples of entries that you eliminated?
Quoting "Dimitrie O. Paun" dpaun@rogers.com:
Once I got rid of the duplicate calls I ended up with 130.
What do you mean duplicate calls? Can you give a few examples of entries that you eliminated?
-- Dimi.
This is from the output of wine_crosscalls.pl
dlls/winspool/info.c 1271 AddPrinterW: call to RegSetValueExA dlls/winspool/info.c 1285 AddPrinterW: call to RegSetValueExA dlls/winspool/info.c 1289 AddPrinterW: call to RegSetValueExA dlls/winspool/info.c 1291 AddPrinterW: call to RegSetValueExA dlls/winspool/info.c 1293 AddPrinterW: call to RegSetValueExA
As you can see there are 5 times that AddPrinterW calls RegSetValueExA. I didn't think it would be right to list it 5 times.
I know I'm just a random guy subscribed, but I couldn't help but notice that your <li> tags weren't closed.
On Wed, 2004-09-15 at 21:56 -0700, Tony Lambregts wrote:
Michael Stefaniuc wrote
Corrected script and output files are attached. Now they are only 178 lines of output which brings us damn near to Dimi's number.
Once I got rid of the duplicate calls I ended up with 130.
Changelog: update Janitorial template to reflect the true number of A->W crosscalls
Tony Lambregts
Index: janitorial.template
RCS file: /home/wine/lostwages/templates/en/janitorial.template,v retrieving revision 1.42 diff -u -u -r1.42 janitorial.template --- janitorial.template 15 Sep 2004 20:02:38 -0000 1.42 +++ janitorial.template 16 Sep 2004 04:34:48 -0000 @@ -196,65 +196,145 @@ The ASCII to Unicode conversion is lossy; moreover, with the shift to Unicode, it's actually slower to deal in ASCII than in Unicode, because of the additional conversions required.
- There are 54 cross calls from Unicode to ANSI as reported by
- There are 130 cross calls from Unicode to ANSI as of September 15, 2004.
- winapi_check <tt>tools/winapi_check/winapi_check --none --progress --cross-call-unicode-ascii</tt>
- (as of Aug 12, 2004):
- does not catch all cross calls.
- however <a href="http://www.winehq.org/hypermail/wine-devel/2004/09/0452.html">wine_crosscalls.pl</a>
- by Michael Stefaniuc seems to be more thorough.
<ul>
<li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptAcquireContextW: illegal call to CryptAcquireContextA
<li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptEnumProviderTypesW: illegal call to CryptEnumProviderTypesA
<li class=committed>dlls/advapi32/crypt.c: advapi32: CryptEnumProvidersW: illegal call to CryptEnumProvidersA
<li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptGetDefaultProviderW: illegal call to CryptGetDefaultProviderA
<li class=submitted>dlls/advapi32/crypt.c: advapi32: CryptSetProviderExW: illegal call to CryptSetProviderExA
<li>dlls/ddraw/main.c: ddraw: DirectDrawEnumerateExW: illegal call to DirectDrawEnumerateExA
<li>dlls/gdi/printdrv.c: gdi32: StartDocW: illegal call to HEAP_strdupWtoA
<li>dlls/gdi/printdrv.c: gdi32: StartDocW: illegal call to StartDocA
<li>dlls/kernel/comm.c: kernel32: CommConfigDialogW: illegal call to CommConfigDialogA
<li>dlls/kernel/comm.c: kernel32: CommConfigDialogW: illegal call to HEAP_strdupWtoA
<li>dlls/kernel/comm.c: kernel32: SetDefaultCommConfigW: illegal call to HEAP_strdupWtoA
<li>dlls/kernel/comm.c: kernel32: SetDefaultCommConfigW: illegal call to SetDefaultCommConfigA
<li>dlls/kernel/locale.c: kernel32: GetLocaleInfoW: illegal call to GetModuleHandleA
<li>dlls/kernel/sync.c: kernel32: WaitNamedPipeW: illegal call to CreateEventA
<li>dlls/lzexpand/lzexpand_main.c: lz32: LZOpenFileW: illegal call to LZOpenFileA
<li>dlls/rpcrt4/rpc_binding.c: rpcrt4: RpcBindingToStringBindingW: illegal call to RpcBindingToStringBindingA
<li>dlls/rpcrt4/rpc_binding.c: rpcrt4: RpcBindingToStringBindingW: illegal call to RpcStringFreeA
<li>dlls/rpcrt4/rpc_server.c: rpcrt4: RpcServerUseProtseqEpExW: illegal call to RPCRT4_strdupWtoA
<li>dlls/shell32/shell32_main.c: shell32: ShellAboutW: illegal call to DialogBoxIndirectParamA
<li>dlls/shell32/shell32_main.c: shell32: ShellAboutW: illegal call to HEAP_strdupWtoA
<li>dlls/shell32/shell32_main.c: shell32: ShellAboutW: illegal call to LoadIconA
<li>dlls/shell32/shellole.c: shell32: DragQueryFileW: illegal call to DragQueryFileA
<li>dlls/shell32/systray.c: shell32: Shell_NotifyIconW: illegal call to Shell_NotifyIconA
<li>dlls/shlwapi/string.c: shlwapi: StrCmpLogicalW: illegal call to SHLWAPI_ChrCmpHelperA
<li>dlls/shlwapi/string.c: shlwapi: StrFormatByteSizeW: illegal call to StrFormatByteSize64A
<li>dlls/shlwapi/string.c: shlwapi: StrRetToStrW: illegal call to SHStrDupA
<li>dlls/version/install.c: version: VerInstallFileW: illegal call to VerInstallFileA
<li>dlls/winmm/driver.c: winmm: OpenDriverW: illegal call to OpenDriverA
<li>dlls/winmm/joystick.c: winmm: joyGetDevCapsW: illegal call to joyGetDevCapsA
<li>dlls/winmm/mci.c: winmm: mciSendStringW: illegal call to mciSendStringA
<li>dlls/winmm/mmio.c: winmm: mmioRenameW: illegal call to mmioRenameA
<li>dlls/winmm/mmio.c: winmm: mmioStringToFOURCCW: illegal call to mmioStringToFOURCCA
<li>dlls/winmm/winmm.c: winmm: auxGetDevCapsW: illegal call to auxGetDevCapsA
<li>dlls/winmm/winmm.c: winmm: mciGetErrorStringW: illegal call to mciGetErrorStringA
<li>dlls/winmm/winmm.c: winmm: midiInGetDevCapsW: illegal call to midiInGetDevCapsA
<li>dlls/winmm/winmm.c: winmm: midiOutGetDevCapsW: illegal call to midiOutGetDevCapsA
<li>dlls/winmm/winmm.c: winmm: mixerGetControlDetailsW: illegal call to mixerGetControlDetailsA
<li>dlls/winmm/winmm.c: winmm: mixerGetDevCapsW: illegal call to mixerGetDevCapsA
<li>dlls/winmm/winmm.c: winmm: mixerGetLineControlsW: illegal call to mixerGetLineControlsA
<li>dlls/winmm/winmm.c: winmm: mixerGetLineInfoW: illegal call to mixerGetLineInfoA
<li>dlls/winmm/winmm.c: winmm: waveInGetDevCapsW: illegal call to waveInGetDevCapsA
<li>dlls/winmm/winmm.c: winmm: waveOutGetDevCapsW: illegal call to waveOutGetDevCapsA
<li>dlls/winspool/info.c: winspool.drv: AddPrinterW: illegal call to DEVMODEdupWtoA
<li>dlls/winspool/info.c: winspool.drv: AddPrinterW: illegal call to RegSetValueExA
<li>dlls/winspool/info.c: winspool.drv: DeviceCapabilitiesW: illegal call to DEVMODEdupWtoA
<li>dlls/winspool/info.c: winspool.drv: DeviceCapabilitiesW: illegal call to DeviceCapabilitiesA
<li>dlls/winspool/info.c: winspool.drv: DeviceCapabilitiesW: illegal call to HEAP_strdupWtoA
<li>dlls/winspool/info.c: winspool.drv: DocumentPropertiesW: illegal call to DEVMODEdupWtoA
<li>dlls/winspool/info.c: winspool.drv: DocumentPropertiesW: illegal call to DocumentPropertiesA
<li>dlls/winspool/info.c: winspool.drv: DocumentPropertiesW: illegal call to HEAP_strdupWtoA
<li>windows/clipboard.c: user32: GetClipboardFormatNameW: illegal call to GetClipboardFormatNameA
<li>windows/clipboard.c: user32: RegisterClipboardFormatW: illegal call to HEAP_strdupWtoA
<li>windows/clipboard.c: user32: RegisterClipboardFormatW: illegal call to RegisterClipboardFormatA
<li>windows/winhelp.c: user32: WinHelpW: illegal call to WinHelpA
<li>windows/winproc.c: user32: CallWindowProcW: illegal call to WINPROC_CallProc32WTo32A
<li class=submitted>dlls/advapi32/crypt.c CryptAcquireContextW: illegal call to CryptAcquireContextA
<li class=submitted>dlls/advapi32/crypt.c CryptEnumProviderTypesW: illegal call to CryptEnumProviderTypesA
<li class=submitted>dlls/advapi32/crypt.c CryptGetDefaultProviderW: illegal call to CryptGetDefaultProviderA
<li class=submitted>dlls/advapi32/crypt.c CryptSetProviderExW: illegal call to CryptSetProviderExA
<li>dlls/comctl32/string.c StrRStrIW: illegal call to COMCTL32_ChrCmpIA
<li>dlls/comctl32/tooltips.c TOOLTIPS_AddToolW: illegal call to SendMessageA
<li>dlls/commdlg/colordlg.c ChooseColorW: illegal call to FindResourceA
<li>dlls/commdlg/filedlg.c GetFileDialog95W: illegal call to GetCurrentDirectoryA
<li>dlls/commdlg/filedlg.c GetFileDialog95W: illegal call to SetCurrentDirectoryA
<li>dlls/commdlg/filedlg.c GetFileName31W: illegal call to GetWindowLongA
<li>dlls/commdlg/fontdlg.c FormatCharDlgProcW: illegal call to GetPropA
<li>dlls/commdlg/printdlg.c PageDlgProcW: illegal call to GetPropA
<li>dlls/commdlg/printdlg.c PageDlgProcW: illegal call to SetDlgItemTextA
<li>dlls/commdlg/printdlg.c PageDlgProcW: illegal call to SetPropA
<li>dlls/commdlg/printdlg.c PRINTDLG_ChangePrinterW: illegal call to LoadStringA
<li>dlls/commdlg/printdlg.c PRINTDLG_ChangePrinterW: illegal call to SendDlgItemMessageA
<li>dlls/commdlg/printdlg.c PRINTDLG_PS_UpdateDlgStructW: illegal call to GetDlgItemTextA
<li>dlls/commdlg/printdlg.c PRINTDLG_SetUpPaperComboBoxW: illegal call to SendDlgItemMessageA
<li>dlls/commdlg/printdlg.c PRINTDLG_SetUpPrinterListComboW: illegal call to GetDefaultPrinterA
<li>dlls/commdlg/printdlg.c PRINTDLG_SetUpPrinterListComboW: illegal call to SendDlgItemMessageA
<li>dlls/commdlg/printdlg.c PRINTDLG_UpdatePrintDlgW: illegal call to LoadStringA
<li>dlls/commdlg/printdlg.c PRINTDLG_UpdatePrintDlgW: illegal call to MessageBoxA
<li>dlls/commdlg/printdlg.c PRINTDLG_WMCommandW: illegal call to SendDlgItemMessageA
<li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to LoadIconA
<li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to LoadImageA
<li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to RegisterWindowMessageA
<li>dlls/commdlg/printdlg.c PRINTDLG_WMInitDialogW: illegal call to SendDlgItemMessageA
<li>dlls/ddraw/main.c DirectDrawEnumerateExW: illegal call to DirectDrawEnumerateExA
<li>dlls/gdi/printdrv.c StartDocW: illegal call to HEAP_strdupWtoA
<li>dlls/gdi/printdrv.c StartDocW: illegal call to StartDocA
<li>dlls/hhctrl.ocx/hhctrl.c HtmlHelpW: illegal call to MessageBoxA
<li>dlls/kernel/comm.c CommConfigDialogW: illegal call to CommConfigDialogA
<li>dlls/kernel/comm.c CommConfigDialogW: illegal call to HEAP_strdupWtoA
<li>dlls/kernel/comm.c SetDefaultCommConfigW: illegal call to HEAP_strdupWtoA
<li>dlls/kernel/comm.c SetDefaultCommConfigW: illegal call to SetDefaultCommConfigA
<li>dlls/kernel/resource.c FindResourceExW: illegal call to get_res_name_type_WtoA
<li>dlls/lzexpand/lzexpand_main.c GetExpandedNameW: illegal call to GetExpandedNameA
<li>dlls/lzexpand/lzexpand_main.c LZOpenFileW: illegal call to LZOpenFileA
<li>dlls/rpcrt4/rpc_binding.c RpcBindingToStringBindingW: illegal call to RpcBindingToStringBindingA
<li>dlls/rpcrt4/rpc_binding.c RpcBindingToStringBindingW: illegal call to RpcStringFreeA
<li>dlls/rpcrt4/rpc_binding.c RPCRT4_CompleteBindingW: illegal call to RPCRT4_strdupWtoA
<li>dlls/rpcrt4/rpc_binding.c RPCRT4_CompleteBindingW: illegal call to RPCRT4_strndupA
<li>dlls/rpcrt4/rpc_binding.c RPCRT4_CreateBindingW: illegal call to RPCRT4_strdupWtoA
<li>dlls/rpcrt4/rpc_server.c RpcServerUseProtseqEpExW: illegal call to RPCRT4_strdupWtoA
<li>dlls/secur32/secur32.c SECUR32_findPackageW: illegal call to _makeFnTableA
<li>dlls/secur32/thunks.c thunk_AcquireCredentialsHandleW: illegal call to AcquireCredentialsHandleA
<li>dlls/secur32/thunks.c thunk_ImportSecurityContextW: illegal call to ImportSecurityContextA
<li>dlls/shell32/pidl.c SHELL_GetPathFromIDListW: illegal call to lstrlenA
<li>dlls/shell32/shell32_main.c ShellAboutW: illegal call to FindResourceA
<li>dlls/shell32/shellole.c DragQueryFileW: illegal call to DragQueryFileA
<li>dlls/shell32/systray.c Shell_NotifyIconW: illegal call to Shell_NotifyIconA
<li>dlls/shlwapi/ordinal.c DragQueryFileWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c ExtractIconExWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c ExtractIconWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c ExtTextOutWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c GetFileVersionInfoSizeWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c GetFileVersionInfoWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c GetOpenFileNameWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c GetSaveFileNameWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c PageSetupDlgWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c PlaySoundWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c PrintDlgWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c SHBrowseForFolderWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c SHCreateWorkerWindowW: illegal call to LoadCursorA
<li>dlls/shlwapi/ordinal.c SHCreateWorkerWindowW: illegal call to SetWindowLongA
<li>dlls/shlwapi/ordinal.c SHCreateWorkerWindowW: illegal call to SHCreateWorkerWindowA
<li>dlls/shlwapi/ordinal.c SHDefExtractIconWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c ShellExecuteExWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c SHFileOperationWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c SHGetFileInfoWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c SHGetNewLinkInfoWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c SHGetPathFromIDListWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c SHStringFromGUIDW: illegal call to SHStringFromGUIDA
<li>dlls/shlwapi/ordinal.c VerQueryValueWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c WNetGetLastErrorWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/ordinal.c WNetRestoreConnectionWrapW: illegal call to LoadLibraryA
<li>dlls/shlwapi/path.c PathIsNetworkPathW: illegal call to LoadLibraryA
<li>dlls/shlwapi/string.c StrCmpLogicalW: illegal call to SHLWAPI_ChrCmpHelperA
<li>dlls/shlwapi/string.c StrFormatByteSizeW: illegal call to StrFormatByteSize64A
<li>dlls/shlwapi/string.c StrRetToStrW: illegal call to SHStrDupA
<li>dlls/shlwapi/string.c StrRStrIW: illegal call to ChrCmpIA
<li>dlls/shlwapi/url.c ParseURLW: illegal call to lstrlenA
<li>dlls/user/message.c PeekMessageW: illegal call to GetClassLongA
<li>dlls/version/install.c VerInstallFileW: illegal call to VerInstallFileA
<li>dlls/wininet/internet.c InternetCheckConnectionW: illegal call to InternetCheckConnectionA
<li>dlls/winmm/driver.c OpenDriverW: illegal call to OpenDriverA
<li>dlls/winmm/joystick.c joyGetDevCapsW: illegal call to joyGetDevCapsA
<li>dlls/winmm/mci.c mciSendStringW: illegal call to mciSendStringA
<li>dlls/winmm/mmio.c mmioRenameW: illegal call to mmioRenameA
<li>dlls/winmm/mmio.c mmioStringToFOURCCW: illegal call to mmioStringToFOURCCA
<li>dlls/winmm/winmm.c auxGetDevCapsW: illegal call to auxGetDevCapsA
<li>dlls/winmm/winmm.c mciGetErrorStringW: illegal call to mciGetErrorStringA
<li>dlls/winmm/winmm.c mciSendCommandW: illegal call to MCI_MapMsgWtoA
<li>dlls/winmm/winmm.c mciSendCommandW: illegal call to MCI_UnmapMsgWtoA
<li>dlls/winmm/winmm.c mciSendCommandW: illegal call to mciSendCommandA
<li>dlls/winmm/winmm.c midiInGetDevCapsW: illegal call to midiInGetDevCapsA
<li>dlls/winmm/winmm.c midiOutGetDevCapsW: illegal call to midiOutGetDevCapsA
<li>dlls/winmm/winmm.c mixerGetControlDetailsW: illegal call to mixerGetControlDetailsA
<li>dlls/winmm/winmm.c mixerGetDevCapsW: illegal call to mixerGetDevCapsA
<li>dlls/winmm/winmm.c mixerGetLineControlsW: illegal call to mixerGetLineControlsA
<li>dlls/winmm/winmm.c mixerGetLineInfoW: illegal call to mixerGetLineInfoA
<li>dlls/winmm/winmm.c waveInGetDevCapsW: illegal call to waveInGetDevCapsA
<li>dlls/winmm/winmm.c waveOutGetDevCapsW: illegal call to waveOutGetDevCapsA
<li>dlls/winsock/socket.c WSAStringToAddressW: illegal call to WSAStringToAddressA
<li>dlls/winspool/info.c AddPrinterW: illegal call to DEVMODEdupWtoA
<li>dlls/winspool/info.c AddPrinterW: illegal call to RegCreateKeyA
<li>dlls/winspool/info.c AddPrinterW: illegal call to RegQueryValueA
<li>dlls/winspool/info.c AddPrinterW: illegal call to RegSetValueExA
<li>dlls/winspool/info.c DeviceCapabilitiesW: illegal call to DeviceCapabilitiesA
<li>dlls/winspool/info.c DeviceCapabilitiesW: illegal call to DEVMODEdupWtoA
<li>dlls/winspool/info.c DeviceCapabilitiesW: illegal call to HEAP_strdupWtoA
<li>dlls/winspool/info.c DocumentPropertiesW: illegal call to DEVMODEdupWtoA
<li>dlls/winspool/info.c DocumentPropertiesW: illegal call to DocumentPropertiesA
<li>dlls/winspool/info.c DocumentPropertiesW: illegal call to HEAP_strdupWtoA
<li>dlls/winspool/info.c OpenPrinterW: illegal call to RegCreateKeyA
<li>programs/winedbg/winedbg.c dbg_outputW: illegal call to dbg_outputA
<li>windows/clipboard.c GetClipboardFormatNameW: illegal call to GetClipboardFormatNameA
<li>windows/clipboard.c RegisterClipboardFormatW: illegal call to HEAP_strdupWtoA
<li>windows/clipboard.c RegisterClipboardFormatW: illegal call to RegisterClipboardFormatA
<li>windows/cursoricon.c map_fileW: illegal call to CreateFileMappingA
<li>windows/defwnd.c DEFWND_ImmIsUIMessageW: illegal call to GetModuleHandleA
<li>windows/winhelp.c WinHelpW: illegal call to WinHelpA
<li>windows/winhelp.c WinHelpW: illegal call to WinHelpA
<li>windows/winproc.c CallWindowProcW: illegal call to WINPROC_CallProc32WTo32A
<li>windows/winproc.c WINPROC_MapMsg16To32W: illegal call to CREATESTRUCT16to32A
<li>windows/winproc.c WINPROC_MapMsg16To32W: illegal call to MDICREATESTRUCT16to32A
<li>windows/winproc.c WINPROC_MapMsg16To32W: illegal call to WINPROC_MapMsg16To32A
<li>windows/winproc.c WINPROC_MapMsg32ATo32W: illegal call to GetWindowLongA
<li>windows/winproc.c WINPROC_UnmapMsg16To32W: illegal call to WINPROC_UnmapMsg16To32A
<li>windows/winproc.c WINPROC_UnmapMsg32ATo32W: illegal call to GetWindowLongA </ul>
<p>Please note that patches have been submitted for the <span class=submitted>italic</span> entries;