summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMike Kaganski <mike.kaganski@collabora.com>2017-09-26 11:28:57 +0300
committerMike Kaganski <mike.kaganski@collabora.com>2017-09-30 11:23:41 +0200
commit362a21d3a129b90149f6ef645c127f5e86e0ba61 (patch)
tree8583cb29b33de56e4489cb8950d2714a1fb2957e
parent81ce629c9e8a4fc26ded9d49157e3f3263991e03 (diff)
Use explicit function names for fooA/fooW WinAPI; prefer fooW
We should only use generic foo function name when it takes params that are also dependent on UNICODE define, like LoadCursor( nullptr, IDC_ARROW ) where IDC_ARROW is defined in MSVC headers synchronised with LoadCursor definition. We should always use Unicode API for any file paths operations, because otherwise we will get "?" for any character in path that is not in current non-unicode codepage, which will result in failed file operations. Change-Id: I3a7f453ca0f893002d8a9764318919709fd8b633 Reviewed-on: https://gerrit.libreoffice.org/42935 Tested-by: Jenkins <ci@libreoffice.org> Reviewed-by: Mike Kaganski <mike.kaganski@collabora.com>
-rw-r--r--avmedia/source/win/player.cxx24
-rw-r--r--avmedia/source/win/window.cxx42
-rw-r--r--basic/source/runtime/methods.cxx3
-rw-r--r--bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c10
-rw-r--r--canvas/source/directx/dx_9rm.cxx2
-rw-r--r--desktop/source/app/app.cxx6
-rw-r--r--desktop/source/app/cmdlinehelp.cxx10
-rw-r--r--desktop/source/deployment/misc/lockfile.cxx2
-rw-r--r--dtrans/source/win32/dnd/source.cxx2
-rw-r--r--dtrans/source/win32/dnd/target.cxx12
-rw-r--r--dtrans/source/win32/dtobj/DTransHelper.cxx2
-rw-r--r--dtrans/source/win32/dtobj/DataFmtTransl.cxx8
-rw-r--r--dtrans/source/win32/misc/ImplHelper.cxx22
-rw-r--r--embedserv/source/embed/docholder.cxx8
-rw-r--r--embedserv/source/embed/ed_idataobj.cxx16
-rw-r--r--embedserv/source/embed/ed_ipersiststr.cxx6
-rw-r--r--embedserv/source/embed/syswinwrapper.cxx20
-rw-r--r--embedserv/source/embed/tracker.cxx11
-rw-r--r--embedserv/source/inprocserv/dllentry.cxx40
-rw-r--r--extensions/source/activex/SOActiveX.cxx20
-rw-r--r--extensions/source/activex/SOActiveX.h2
-rw-r--r--extensions/source/scanner/scanwin.cxx10
-rw-r--r--fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx4
-rw-r--r--fpicker/source/win32/folderpicker/MtaFop.cxx59
-rw-r--r--hwpfilter/source/hwpreader.cxx4
-rw-r--r--hwpfilter/source/mzstring.cxx6
-rw-r--r--idlc/source/options.cxx2
-rw-r--r--include/comphelper/windowserrorstring.hxx2
-rw-r--r--jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx6
-rw-r--r--jvmfwk/plugins/sunmajor/pluginlib/util.cxx6
-rw-r--r--jvmfwk/source/fwkutil.cxx14
-rw-r--r--opencl/source/openclwrapper.cxx4
-rw-r--r--sal/osl/w32/security.cxx14
-rw-r--r--sfx2/source/appl/shutdowniconw32.cxx22
-rw-r--r--sfx2/source/doc/graphhelp.cxx3
-rw-r--r--sfx2/source/doc/guisaveas.cxx2
-rw-r--r--sfx2/source/doc/syspathw32.cxx2
-rw-r--r--svl/source/crypto/cryptosign.cxx11
-rw-r--r--tools/source/stream/strmwnt.cxx9
-rw-r--r--vcl/inc/win/saldata.hxx10
-rw-r--r--vcl/inc/win/wincomp.hxx20
-rw-r--r--vcl/opengl/win/gdiimpl.cxx10
-rw-r--r--vcl/source/app/settings.cxx32
-rw-r--r--vcl/source/window/toolbox.cxx10
-rw-r--r--vcl/win/app/salinfo.cxx10
-rw-r--r--vcl/win/app/salinst.cxx42
-rw-r--r--vcl/win/app/salshl.cxx12
-rwxr-xr-xvcl/win/gdi/DWriteTextRenderer.cxx8
-rw-r--r--vcl/win/gdi/salbmp.cxx6
-rw-r--r--vcl/win/gdi/salfont.cxx76
-rw-r--r--vcl/win/gdi/salnativewidgets-luna.cxx2
-rw-r--r--vcl/win/gdi/salprn.cxx45
-rw-r--r--vcl/win/gdi/winlayout.cxx2
-rw-r--r--vcl/win/window/salframe.cxx122
-rw-r--r--vcl/win/window/salobj.cxx39
-rw-r--r--xmlhelp/source/cxxhelp/provider/databases.cxx12
-rw-r--r--xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx26
-rw-r--r--xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx5
-rw-r--r--xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx41
59 files changed, 479 insertions, 499 deletions
diff --git a/avmedia/source/win/player.cxx b/avmedia/source/win/player.cxx
index 4ba72ca9a368..268babd1b17c 100644
--- a/avmedia/source/win/player.cxx
+++ b/avmedia/source/win/player.cxx
@@ -44,7 +44,7 @@ namespace avmedia { namespace win {
LRESULT CALLBACK MediaPlayerWndProc_2( HWND hWnd,UINT nMsg, WPARAM nPar1, LPARAM nPar2 )
{
- Player* pPlayer = reinterpret_cast<Player*>(::GetWindowLongPtr( hWnd, 0 ));
+ Player* pPlayer = reinterpret_cast<Player*>(::GetWindowLongPtrW( hWnd, 0 ));
bool bProcessed = true;
if( pPlayer )
@@ -62,7 +62,7 @@ LRESULT CALLBACK MediaPlayerWndProc_2( HWND hWnd,UINT nMsg, WPARAM nPar1, LPARAM
else
bProcessed = false;
- return( bProcessed ? 0 : DefWindowProc( hWnd, nMsg, nPar1, nPar2 ) );
+ return( bProcessed ? 0 : DefWindowProcW( hWnd, nMsg, nPar1, nPar2 ) );
}
@@ -226,31 +226,31 @@ void SAL_CALL Player::start( )
{
if ( mbAddWindow )
{
- static WNDCLASS* mpWndClass = nullptr;
+ static WNDCLASSW* mpWndClass = nullptr;
if ( !mpWndClass )
{
- mpWndClass = new WNDCLASS;
+ mpWndClass = new WNDCLASSW;
memset( mpWndClass, 0, sizeof( *mpWndClass ) );
- mpWndClass->hInstance = GetModuleHandle( nullptr );
+ mpWndClass->hInstance = GetModuleHandleW( nullptr );
mpWndClass->cbWndExtra = sizeof( DWORD );
mpWndClass->lpfnWndProc = MediaPlayerWndProc_2;
- mpWndClass->lpszClassName = "com_sun_star_media_Sound_Player";
+ mpWndClass->lpszClassName = L"com_sun_star_media_Sound_Player";
mpWndClass->hbrBackground = static_cast<HBRUSH>(::GetStockObject( BLACK_BRUSH ));
mpWndClass->hCursor = ::LoadCursor( nullptr, IDC_ARROW );
- ::RegisterClass( mpWndClass );
+ RegisterClassW( mpWndClass );
}
if ( !mnFrameWnd )
{
- mnFrameWnd = ::CreateWindow( mpWndClass->lpszClassName, nullptr,
- 0,
- 0, 0, 0, 0,
- nullptr, nullptr, mpWndClass->hInstance, nullptr );
+ mnFrameWnd = CreateWindowW( mpWndClass->lpszClassName, nullptr,
+ 0,
+ 0, 0, 0, 0,
+ nullptr, nullptr, mpWndClass->hInstance, nullptr );
if ( mnFrameWnd )
{
::ShowWindow(mnFrameWnd, SW_HIDE);
- ::SetWindowLongPtr( mnFrameWnd, 0, reinterpret_cast<LONG_PTR>(this) );
+ SetWindowLongPtrW( mnFrameWnd, 0, reinterpret_cast<LONG_PTR>(this) );
// mpVW->put_Owner( (OAHWND) mnFrameWnd );
setNotifyWnd( mnFrameWnd );
}
diff --git a/avmedia/source/win/window.cxx b/avmedia/source/win/window.cxx
index 8b31cbb2fa61..16deeee09a1e 100644
--- a/avmedia/source/win/window.cxx
+++ b/avmedia/source/win/window.cxx
@@ -43,7 +43,7 @@ namespace avmedia { namespace win {
LRESULT CALLBACK MediaPlayerWndProc( HWND hWnd,UINT nMsg, WPARAM nPar1, LPARAM nPar2 )
{
- Window* pWindow = reinterpret_cast<Window*>(::GetWindowLongPtr( hWnd, 0 ));
+ Window* pWindow = reinterpret_cast<Window*>(GetWindowLongPtrW( hWnd, 0 ));
bool bProcessed = true;
if( pWindow )
@@ -136,22 +136,22 @@ LRESULT CALLBACK MediaPlayerWndProc( HWND hWnd,UINT nMsg, WPARAM nPar1, LPARAM n
else
bProcessed = false;
- return( bProcessed ? 0 : DefWindowProc( hWnd, nMsg, nPar1, nPar2 ) );
+ return( bProcessed ? 0 : DefWindowProcW( hWnd, nMsg, nPar1, nPar2 ) );
}
-WNDCLASS* lcl_getWndClass()
+WNDCLASSW* lcl_getWndClass()
{
- WNDCLASS* s_pWndClass = new WNDCLASS;
+ WNDCLASSW* s_pWndClass = new WNDCLASSW;
memset( s_pWndClass, 0, sizeof( *s_pWndClass ) );
- s_pWndClass->hInstance = GetModuleHandle( nullptr );
+ s_pWndClass->hInstance = GetModuleHandleW( nullptr );
s_pWndClass->cbWndExtra = sizeof( DWORD );
s_pWndClass->lpfnWndProc = MediaPlayerWndProc;
- s_pWndClass->lpszClassName = "com_sun_star_media_PlayerWnd";
+ s_pWndClass->lpszClassName = L"com_sun_star_media_PlayerWnd";
s_pWndClass->hbrBackground = static_cast<HBRUSH>(::GetStockObject( BLACK_BRUSH ));
s_pWndClass->hCursor = ::LoadCursor( nullptr, IDC_ARROW );
- ::RegisterClass( s_pWndClass );
+ RegisterClassW( s_pWndClass );
return s_pWndClass;
}
@@ -261,7 +261,7 @@ void Window::ImplLayoutVideoWindow()
bool Window::create( const uno::Sequence< uno::Any >& rArguments )
{
IVideoWindow* pVideoWindow = const_cast< IVideoWindow* >( mrPlayer.getVideoWindow() );
- static WNDCLASS* mpWndClass = lcl_getWndClass();
+ static WNDCLASSW* mpWndClass = lcl_getWndClass();
if( !mnFrameWnd && pVideoWindow && mpWndClass )
{
@@ -273,23 +273,23 @@ bool Window::create( const uno::Sequence< uno::Any >& rArguments )
mnParentWnd = reinterpret_cast<HWND>(nWnd);
- mnFrameWnd = ::CreateWindow( mpWndClass->lpszClassName, nullptr,
- WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
- aRect.X, aRect.Y, aRect.Width, aRect.Height,
- mnParentWnd, nullptr, mpWndClass->hInstance, nullptr );
+ mnFrameWnd = CreateWindowW( mpWndClass->lpszClassName, nullptr,
+ WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN,
+ aRect.X, aRect.Y, aRect.Width, aRect.Height,
+ mnParentWnd, nullptr, mpWndClass->hInstance, nullptr );
if( mnFrameWnd )
{
- ::SetWindowLongPtr( mnFrameWnd, 0, reinterpret_cast<LONG_PTR>(this) );
+ SetWindowLongPtrW( mnFrameWnd, 0, reinterpret_cast<LONG_PTR>(this) );
- pVideoWindow->put_Owner( reinterpret_cast<OAHWND>(mnFrameWnd) );
- pVideoWindow->put_MessageDrain( reinterpret_cast<OAHWND>(mnFrameWnd) );
- pVideoWindow->put_WindowStyle( WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN );
+ pVideoWindow->put_Owner( reinterpret_cast<OAHWND>(mnFrameWnd) );
+ pVideoWindow->put_MessageDrain( reinterpret_cast<OAHWND>(mnFrameWnd) );
+ pVideoWindow->put_WindowStyle( WS_VISIBLE | WS_CHILD | WS_CLIPSIBLINGS | WS_CLIPCHILDREN );
- mrPlayer.setNotifyWnd( mnFrameWnd );
+ mrPlayer.setNotifyWnd( mnFrameWnd );
- meZoomLevel = media::ZoomLevel_FIT_TO_WINDOW;
- ImplLayoutVideoWindow();
+ meZoomLevel = media::ZoomLevel_FIT_TO_WINDOW;
+ ImplLayoutVideoWindow();
}
}
@@ -303,7 +303,7 @@ void Window::processGraphEvent()
void Window::updatePointer()
{
- char* pCursorName;
+ LPCTSTR pCursorName;
switch( mnPointerType )
{
@@ -316,7 +316,7 @@ void Window::updatePointer()
break;
}
- ::SetCursor( ::LoadCursor( nullptr, pCursorName ) );
+ SetCursor( LoadCursor( nullptr, pCursorName ) );
}
void SAL_CALL Window::update( )
diff --git a/basic/source/runtime/methods.cxx b/basic/source/runtime/methods.cxx
index 8a0ae5d2ff36..cef5dd269a3a 100644
--- a/basic/source/runtime/methods.cxx
+++ b/basic/source/runtime/methods.cxx
@@ -2958,8 +2958,7 @@ void SbRtl_GetAttr(StarBASIC * pBasic, SbxArray & rPar, bool bWrite)
OUString aPathURL = getFullPath( rPar.Get(1)->GetOUString() );
OUString aPath;
FileBase::getSystemPathFromFileURL( aPathURL, aPath );
- OString aSystemPath(OUStringToOString(aPath, osl_getThreadTextEncoding()));
- DWORD nRealFlags = GetFileAttributes (aSystemPath.getStr());
+ DWORD nRealFlags = GetFileAttributesW (SAL_W(aPath.getStr()));
if (nRealFlags != 0xffffffff)
{
if (nRealFlags == FILE_ATTRIBUTE_NORMAL)
diff --git a/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c b/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c
index dc3ee5b4bb35..b1b476356fd5 100644
--- a/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c
+++ b/bean/native/win32/com_sun_star_comp_beans_LocalOfficeWindow.c
@@ -38,7 +38,7 @@
#define SYSTEM_WIN32 1
-#define OLD_PROC_KEY "oldwindowproc"
+#define OLD_PROC_KEY L"oldwindowproc"
static LRESULT APIENTRY OpenOfficeWndProc( HWND , UINT , WPARAM , LPARAM );
@@ -131,10 +131,10 @@ JNIEXPORT jlong JNICALL Java_com_sun_star_comp_beans_LocalOfficeWindow_getNative
and calls on such construct produce
a stack overflow.
*/
- if (GetProp( hWnd, OLD_PROC_KEY )==NULL)
+ if (GetPropW( hWnd, OLD_PROC_KEY )==NULL)
{
- hFuncPtr = SetWindowLongPtr( hWnd, GWLP_WNDPROC, (LONG_PTR)OpenOfficeWndProc );
- SetProp( hWnd, OLD_PROC_KEY, (HANDLE)hFuncPtr );
+ hFuncPtr = SetWindowLongPtrW( hWnd, GWLP_WNDPROC, (LONG_PTR)OpenOfficeWndProc );
+ SetPropW( hWnd, OLD_PROC_KEY, (HANDLE)hFuncPtr );
}
return (jlong)hWnd;
@@ -182,7 +182,7 @@ static LRESULT APIENTRY OpenOfficeWndProc(
#pragma warning(push)
#pragma warning(disable: 4152) /* function/data pointer conversion: */
#endif
- return CallWindowProc(GetProp(hWnd, OLD_PROC_KEY),
+ return CallWindowProcW(GetPropW(hWnd, OLD_PROC_KEY),
hWnd, uMsg, wParam, lParam);
#if defined _MSC_VER
#pragma warning(pop)
diff --git a/canvas/source/directx/dx_9rm.cxx b/canvas/source/directx/dx_9rm.cxx
index ce1d7d03b6d2..3cc7fd5437a3 100644
--- a/canvas/source/directx/dx_9rm.cxx
+++ b/canvas/source/directx/dx_9rm.cxx
@@ -73,7 +73,7 @@ namespace dxcanvas
public:
monitorSupport() :
- mhLibrary(LoadLibrary("user32.dll")),
+ mhLibrary(LoadLibraryW(L"user32.dll")),
mpMonitorFromWindow(nullptr)
{
if(mhLibrary)
diff --git a/desktop/source/app/app.cxx b/desktop/source/app/app.cxx
index b08e928dd32c..7c194f890db9 100644
--- a/desktop/source/app/app.cxx
+++ b/desktop/source/app/app.cxx
@@ -2633,12 +2633,12 @@ void Desktop::CheckFirstRun( )
#ifdef _WIN32
// Check if Quickstarter should be started (on Windows only)
- TCHAR szValue[8192];
+ WCHAR szValue[8192];
DWORD nValueSize = sizeof(szValue);
HKEY hKey;
- if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, "Software\\LibreOffice", &hKey ) )
+ if ( ERROR_SUCCESS == RegOpenKeyW( HKEY_LOCAL_MACHINE, L"Software\\LibreOffice", &hKey ) )
{
- if ( ERROR_SUCCESS == RegQueryValueEx( hKey, TEXT("RunQuickstartAtFirstStart"), nullptr, nullptr, reinterpret_cast<LPBYTE>(szValue), &nValueSize ) )
+ if ( ERROR_SUCCESS == RegQueryValueExW( hKey, L"RunQuickstartAtFirstStart", nullptr, nullptr, reinterpret_cast<LPBYTE>(szValue), &nValueSize ) )
{
css::uno::Reference< css::uno::XComponentContext > xContext = ::comphelper::getProcessComponentContext();
css::office::Quickstart::createAutoStart(xContext, true/*Quickstart*/, true/*bAutostart*/);
diff --git a/desktop/source/app/cmdlinehelp.cxx b/desktop/source/app/cmdlinehelp.cxx
index a4b3114cf3bb..43028a72fd10 100644
--- a/desktop/source/app/cmdlinehelp.cxx
+++ b/desktop/source/app/cmdlinehelp.cxx
@@ -187,9 +187,9 @@ namespace desktop
{
if (GetStdHandle(STD_OUTPUT_HANDLE) == nullptr) // application does not have associated standard handles
{
- STARTUPINFOA aStartupInfo;
+ STARTUPINFOW aStartupInfo;
aStartupInfo.cb = sizeof(aStartupInfo);
- GetStartupInfoA(&aStartupInfo);
+ GetStartupInfoW(&aStartupInfo);
if ((aStartupInfo.dwFlags & STARTF_USESTDHANDLES) == STARTF_USESTDHANDLES)
{
// If standard handles had been passed to this process, use them
@@ -247,11 +247,11 @@ namespace desktop
ke.bKeyDown = TRUE;
ke.wRepeatCount = 1;
ke.wVirtualKeyCode = VK_RETURN;
- ke.wVirtualScanCode = MapVirtualKeyA(VK_RETURN, MAPVK_VK_TO_VSC);
- ke.uChar.AsciiChar = '\r';
+ ke.wVirtualScanCode = MapVirtualKeyW(VK_RETURN, MAPVK_VK_TO_VSC);
+ ke.uChar.UnicodeChar = L'\r';
ke.dwControlKeyState = 0;
DWORD nEvents;
- WriteConsoleInputA(GetStdHandle(STD_INPUT_HANDLE), &ir, 1, &nEvents);
+ WriteConsoleInputW(GetStdHandle(STD_INPUT_HANDLE), &ir, 1, &nEvents);
break;
}
case allocated:
diff --git a/desktop/source/deployment/misc/lockfile.cxx b/desktop/source/deployment/misc/lockfile.cxx
index 11530d0be892..0544f434bd14 100644
--- a/desktop/source/deployment/misc/lockfile.cxx
+++ b/desktop/source/deployment/misc/lockfile.cxx
@@ -55,7 +55,7 @@ static OString impl_getHostname()
*/
DWORD sz = MAX_COMPUTERNAME_LENGTH + 1;
auto szHost = std::unique_ptr<char[]>(new char[sz]);
- if (GetComputerName(szHost.get(), &sz))
+ if (GetComputerNameA(szHost.get(), &sz))
aHost = OString(szHost.get());
else
aHost = OString("UNKNOWN");
diff --git a/dtrans/source/win32/dnd/source.cxx b/dtrans/source/win32/dnd/source.cxx
index b6d1d9a628bd..06c8e4977def 100644
--- a/dtrans/source/win32/dnd/source.cxx
+++ b/dtrans/source/win32/dnd/source.cxx
@@ -314,7 +314,7 @@ unsigned __stdcall DndOleSTAFunc(LPVOID pParams)
// We force the creation of a thread message queue. This is necessary
// for a later call to AttachThreadInput
MSG msgtemp;
- PeekMessage( &msgtemp, nullptr, WM_USER, WM_USER, PM_NOREMOVE);
+ PeekMessageW( &msgtemp, nullptr, WM_USER, WM_USER, PM_NOREMOVE);
DWORD threadId= GetCurrentThreadId();
diff --git a/dtrans/source/win32/dnd/target.cxx b/dtrans/source/win32/dnd/target.cxx
index b797d4e769d8..ab3c554ea5bc 100644
--- a/dtrans/source/win32/dnd/target.cxx
+++ b/dtrans/source/win32/dnd/target.cxx
@@ -76,7 +76,7 @@ void SAL_CALL DropTarget::disposing()
if( m_threadIdTarget)
{
// Call RevokeDragDrop and wait for the OLE thread to die;
- PostThreadMessage( m_threadIdTarget, WM_REVOKEDRAGDROP, reinterpret_cast<WPARAM>(this), 0);
+ PostThreadMessageW( m_threadIdTarget, WM_REVOKEDRAGDROP, reinterpret_cast<WPARAM>(this), 0);
WaitForSingleObject( m_hOleThread, INFINITE);
CloseHandle( m_hOleThread);
//OSL_ENSURE( SUCCEEDED( hr), "HWND not valid!" );
@@ -142,13 +142,13 @@ void SAL_CALL DropTarget::initialize( const Sequence< Any >& aArguments )
m_threadIdWindow= GetWindowThreadProcessId( m_hWnd, nullptr);
// The event is set by the thread that we will create momentarily.
// It indicates that the thread is ready to receive messages.
- HANDLE m_evtThreadReady= CreateEvent( nullptr, FALSE, FALSE, nullptr);
+ HANDLE m_evtThreadReady= CreateEventW( nullptr, FALSE, FALSE, nullptr);
m_hOleThread= CreateThread( nullptr, 0, DndTargetOleSTAFunc,
&m_evtThreadReady, 0, &m_threadIdTarget);
WaitForSingleObject( m_evtThreadReady, INFINITE);
CloseHandle( m_evtThreadReady);
- PostThreadMessage( m_threadIdTarget, WM_REGISTERDRAGDROP, reinterpret_cast<WPARAM>(this), 0);
+ PostThreadMessageW( m_threadIdTarget, WM_REGISTERDRAGDROP, reinterpret_cast<WPARAM>(this), 0);
}
else if( hr == S_OK || hr == S_FALSE)
{
@@ -197,7 +197,7 @@ DWORD WINAPI DndTargetOleSTAFunc(LPVOID pParams)
{
MSG msg;
// force the creation of a message queue
- PeekMessage( &msg, nullptr, 0, 0, PM_NOREMOVE);
+ PeekMessageW( &msg, nullptr, 0, 0, PM_NOREMOVE);
// Signal the creator ( DropTarget::initialize) that the thread is
// ready to receive messages.
SetEvent( *static_cast<HANDLE*>(pParams));
@@ -206,7 +206,7 @@ DWORD WINAPI DndTargetOleSTAFunc(LPVOID pParams)
DWORD threadId= GetCurrentThreadId();
// We force the creation of a thread message queue. This is necessary
// for a later call to AttachThreadInput
- while( GetMessage(&msg, nullptr, 0, 0) )
+ while( GetMessageW(&msg, nullptr, 0, 0) )
{
if( msg.message == WM_REGISTERDRAGDROP)
{
@@ -238,7 +238,7 @@ DWORD WINAPI DndTargetOleSTAFunc(LPVOID pParams)
break;
}
TranslateMessage( &msg);
- DispatchMessage( &msg);
+ DispatchMessageW( &msg);
}
OleUninitialize();
}
diff --git a/dtrans/source/win32/dtobj/DTransHelper.cxx b/dtrans/source/win32/dtobj/DTransHelper.cxx
index 49151f4d4fd1..552ec1368f1a 100644
--- a/dtrans/source/win32/dtobj/DTransHelper.cxx
+++ b/dtrans/source/win32/dtobj/DTransHelper.cxx
@@ -177,7 +177,7 @@ sal_uInt32 SAL_CALL CStgTransferHelper::memSize( CLIPFORMAT cf ) const
HGLOBAL hGlob;
GetHGlobalFromStream( m_lpStream, &hGlob );
- if ( CF_TEXT == cf || RegisterClipboardFormat( "HTML Format" ) == cf )
+ if ( CF_TEXT == cf || RegisterClipboardFormatW( L"HTML Format" ) == cf )
{
sal_Char* pText = static_cast< sal_Char* >( GlobalLock( hGlob ) );
if ( pText )
diff --git a/dtrans/source/win32/dtobj/DataFmtTransl.cxx b/dtrans/source/win32/dtobj/DataFmtTransl.cxx
index 9c6f40047967..c72f2646563b 100644
--- a/dtrans/source/win32/dtobj/DataFmtTransl.cxx
+++ b/dtrans/source/win32/dtobj/DataFmtTransl.cxx
@@ -87,7 +87,7 @@ CFormatEtc CDataFormatTranslator::getFormatEtcFromDataFlavor( const DataFlavor&
aFormat >>= aClipFmtName;
OSL_ASSERT( aClipFmtName.getLength( ) );
- cf = RegisterClipboardFormatW( reinterpret_cast<LPCWSTR>(aClipFmtName.getStr( )) );
+ cf = RegisterClipboardFormatW( SAL_W(aClipFmtName.getStr( )) );
OSL_ENSURE( CF_INVALID != cf, "RegisterClipboardFormat failed" );
}
@@ -163,7 +163,7 @@ CFormatEtc SAL_CALL CDataFormatTranslator::getFormatEtcForClipformatName( const
if ( !aClipFmtName.getLength( ) )
return CFormatEtc( CF_INVALID );
- CLIPFORMAT cf = sal::static_int_cast<CLIPFORMAT>(RegisterClipboardFormatW( reinterpret_cast<LPCWSTR>(aClipFmtName.getStr( )) ));
+ CLIPFORMAT cf = sal::static_int_cast<CLIPFORMAT>(RegisterClipboardFormatW( SAL_W(aClipFmtName.getStr( )) ));
return getFormatEtcForClipformat( cf );
}
@@ -172,7 +172,7 @@ OUString CDataFormatTranslator::getClipboardFormatName( CLIPFORMAT aClipformat )
OSL_PRECOND( CF_INVALID != aClipformat, "Invalid clipboard format" );
sal_Unicode wBuff[ MAX_CLIPFORMAT_NAME + 1 ]; // Null terminator isn't counted, apparently.
- sal_Int32 nLen = GetClipboardFormatNameW( aClipformat, reinterpret_cast<LPWSTR>(wBuff), MAX_CLIPFORMAT_NAME );
+ sal_Int32 nLen = GetClipboardFormatNameW( aClipformat, SAL_W(wBuff), MAX_CLIPFORMAT_NAME );
return OUString( wBuff, nLen );
}
@@ -204,7 +204,7 @@ CFormatEtc SAL_CALL CDataFormatTranslator::getFormatEtcForClipformat( CLIPFORMAT
of which FileContents it wants to paste
see MSDN: "Handling Shell Data Transfer Scenarios"
*/
- if ( cf == RegisterClipboardFormatA( CFSTR_FILECONTENTS ) )
+ if ( cf == RegisterClipboardFormat( CFSTR_FILECONTENTS ) )
fetc.setLindex( 0 );
return fetc;
diff --git a/dtrans/source/win32/misc/ImplHelper.cxx b/dtrans/source/win32/misc/ImplHelper.cxx
index 8047ffc9a424..f9d5a07a7f28 100644
--- a/dtrans/source/win32/misc/ImplHelper.cxx
+++ b/dtrans/source/win32/misc/ImplHelper.cxx
@@ -92,27 +92,23 @@ OUString SAL_CALL getWinCPFromLocaleId( LCID lcid, LCTYPE lctype )
else
OSL_ASSERT( false );
- // we use the GetLocaleInfoA because don't want to provide
- // a unicode wrapper function for Win9x in sal/systools
- char buff[6];
- sal_Int32 nResult = GetLocaleInfoA(
- lcid, lctype | LOCALE_USE_CP_ACP, buff, sizeof( buff ) );
+ // First, get required buffer size, in characters
+ int nResult = GetLocaleInfoW(
+ lcid, lctype, nullptr, 0 );
OSL_ASSERT( nResult );
if ( nResult )
{
- sal_Int32 len = MultiByteToWideChar(
- CP_ACP, 0, buff, -1, nullptr, 0 );
+ std::unique_ptr<wchar_t> buff( new wchar_t[nResult] );
+ // Now get the actual data
+ nResult = GetLocaleInfoW( lcid, lctype, buff.get(), nResult );
- OSL_ASSERT( len > 0 );
+ OSL_ASSERT(nResult);
- std::vector< sal_Unicode > lpwchBuff(len);
+ if (nResult)
+ winCP = SAL_U( buff.get() );
- len = MultiByteToWideChar(
- CP_ACP, 0, buff, -1, reinterpret_cast<LPWSTR>(&lpwchBuff[0]), len );
-
- winCP = OUString( &lpwchBuff[0], (len - 1) );
}
return winCP;
diff --git a/embedserv/source/embed/docholder.cxx b/embedserv/source/embed/docholder.cxx
index 929e8d252350..c596af732f93 100644
--- a/embedserv/source/embed/docholder.cxx
+++ b/embedserv/source/embed/docholder.cxx
@@ -505,12 +505,12 @@ void DocumentHolder::UIDeactivate()
void CopyToOLEMenu(HMENU hOrig,WORD origPos,HMENU hDest,WORD destPos)
{
HMENU subMenu(nullptr);
- char buffer[256];
+ wchar_t buffer[256];
subMenu = GetSubMenu(hOrig,origPos);
- GetMenuString(hOrig,origPos,buffer,256,MF_BYPOSITION);
- InsertMenu(hDest,destPos,MF_BYPOSITION | MF_POPUP,
- reinterpret_cast<UINT_PTR>(subMenu),LPCTSTR(buffer));
+ GetMenuStringW(hOrig,origPos,buffer,256,MF_BYPOSITION);
+ InsertMenuW(hDest,destPos,MF_BYPOSITION | MF_POPUP,
+ reinterpret_cast<UINT_PTR>(subMenu),buffer);
MENUITEMINFOW mi;
memset(&mi,0,sizeof(mi));
diff --git a/embedserv/source/embed/ed_idataobj.cxx b/embedserv/source/embed/ed_idataobj.cxx
index f682254e1f9d..fe37ad43ddd6 100644
--- a/embedserv/source/embed/ed_idataobj.cxx
+++ b/embedserv/source/embed/ed_idataobj.cxx
@@ -118,8 +118,8 @@ STDMETHODIMP EmbedDocument_Impl::GetData( FORMATETC * pFormatetc, STGMEDIUM * pM
}
else
{
- CLIPFORMAT cf_embSource = (CLIPFORMAT)RegisterClipboardFormatA( "Embed Source" );
- CLIPFORMAT cf_embObj = (CLIPFORMAT)RegisterClipboardFormatA( "Embedded Object" );
+ CLIPFORMAT cf_embSource = (CLIPFORMAT)RegisterClipboardFormatW( L"Embed Source" );
+ CLIPFORMAT cf_embObj = (CLIPFORMAT)RegisterClipboardFormatW( L"Embedded Object" );
if ( pFormatetc->cfFormat == cf_embSource || pFormatetc->cfFormat == cf_embObj )
{
if ( !( pFormatetc->tymed & TYMED_ISTORAGE ) )
@@ -157,8 +157,8 @@ STDMETHODIMP EmbedDocument_Impl::GetDataHere( FORMATETC * pFormatetc, STGMEDIUM
|| pFormatetc->dwAspect == DVASPECT_DOCPRINT )
return DV_E_DVASPECT;
- CLIPFORMAT cf_embSource = (CLIPFORMAT)RegisterClipboardFormatA( "Embed Source" );
- CLIPFORMAT cf_embObj = (CLIPFORMAT)RegisterClipboardFormatA( "Embedded Object" );
+ CLIPFORMAT cf_embSource = (CLIPFORMAT)RegisterClipboardFormatW( L"Embed Source" );
+ CLIPFORMAT cf_embObj = (CLIPFORMAT)RegisterClipboardFormatW( L"Embedded Object" );
if ( pFormatetc->cfFormat == cf_embSource || pFormatetc->cfFormat == cf_embObj )
{
@@ -204,8 +204,8 @@ STDMETHODIMP EmbedDocument_Impl::QueryGetData( FORMATETC * pFormatetc )
}
else
{
- CLIPFORMAT cf_embSource = (CLIPFORMAT)RegisterClipboardFormatA( "Embed Source" );
- CLIPFORMAT cf_embObj = (CLIPFORMAT)RegisterClipboardFormatA( "Embedded Object" );
+ CLIPFORMAT cf_embSource = (CLIPFORMAT)RegisterClipboardFormatW( L"Embed Source" );
+ CLIPFORMAT cf_embObj = (CLIPFORMAT)RegisterClipboardFormatW( L"Embedded Object" );
if ( pFormatetc->cfFormat == cf_embSource || pFormatetc->cfFormat == cf_embObj )
{
if ( !( pFormatetc->tymed & TYMED_ISTORAGE ) )
@@ -241,8 +241,8 @@ STDMETHODIMP EmbedDocument_Impl::GetCanonicalFormatEtc( FORMATETC * pFormatetcIn
}
else
{
- CLIPFORMAT cf_embSource = (CLIPFORMAT)RegisterClipboardFormatA( "Embed Source" );
- CLIPFORMAT cf_embObj = (CLIPFORMAT)RegisterClipboardFormatA( "Embedded Object" );
+ CLIPFORMAT cf_embSource = (CLIPFORMAT)RegisterClipboardFormatW( L"Embed Source" );
+ CLIPFORMAT cf_embObj = (CLIPFORMAT)RegisterClipboardFormatW( L"Embedded Object" );
if ( pFormatetcIn->cfFormat == cf_embSource || pFormatetcIn->cfFormat == cf_embObj )
{
pFormatetcOut->tymed = TYMED_ISTORAGE;
diff --git a/embedserv/source/embed/ed_ipersiststr.cxx b/embedserv/source/embed/ed_ipersiststr.cxx
index 0de9ab79fd09..70c8b226a4df 100644
--- a/embedserv/source/embed/ed_ipersiststr.cxx
+++ b/embedserv/source/embed/ed_ipersiststr.cxx
@@ -422,7 +422,7 @@ STDMETHODIMP EmbedDocument_Impl::InitNew( IStorage *pStg )
if ( hr == S_OK )
{
wchar_t const * aCurType = getStorageTypeFromGUID_Impl( &m_guid ); // ???
- CLIPFORMAT cf = (CLIPFORMAT)RegisterClipboardFormatA( "Embedded Object" );
+ CLIPFORMAT cf = (CLIPFORMAT)RegisterClipboardFormatW( L"Embedded Object" );
hr = WriteFmtUserTypeStg( pStg,
cf, // ???
const_cast<wchar_t *>(aCurType) );
@@ -750,7 +750,7 @@ STDMETHODIMP EmbedDocument_Impl::Load( LPCOLESTR pszFileName, DWORD /*dwMode*/ )
if ( FAILED( hr ) || !m_pMasterStorage ) return E_FAIL;
o3tl::u16string_view aCurType = getServiceNameFromGUID_Impl( &m_guid ); // ???
- CLIPFORMAT cf = (CLIPFORMAT)RegisterClipboardFormatA( "Embedded Object" );
+ CLIPFORMAT cf = (CLIPFORMAT)RegisterClipboardFormatW( L"Embedded Object" );
hr = WriteFmtUserTypeStg( m_pMasterStorage,
cf, // ???
const_cast<wchar_t *>(reinterpret_cast<wchar_t const *>(aCurType.data())) );
@@ -801,7 +801,7 @@ STDMETHODIMP EmbedDocument_Impl::Load( LPCOLESTR pszFileName, DWORD /*dwMode*/ )
if ( hr == S_OK )
{
aCurType = getServiceNameFromGUID_Impl( &m_guid ); // ???
- cf = (CLIPFORMAT)RegisterClipboardFormatA( "Embedded Object" );
+ cf = (CLIPFORMAT)RegisterClipboardFormatW( L"Embedded Object" );
hr = WriteFmtUserTypeStg( m_pMasterStorage,
cf, // ???
const_cast<wchar_t *>(reinterpret_cast<wchar_t const *>(aCurType.data())) );
diff --git a/embedserv/source/embed/syswinwrapper.cxx b/embedserv/source/embed/syswinwrapper.cxx
index 64eefc17af38..ef92307b0d53 100644
--- a/embedserv/source/embed/syswinwrapper.cxx
+++ b/embedserv/source/embed/syswinwrapper.cxx
@@ -40,7 +40,7 @@ using namespace winwrap;
//Notification codes for WM_COMMAND messages
#define HWN_BORDERDOUBLECLICKED 1
#define CBHATCHWNDEXTRA (sizeof(LONG))
-#define SZCLASSHATCHWIN TEXT("hatchwin")
+#define SZCLASSHATCHWIN L"hatchwin"
typedef CHatchWin *PCHatchWin;
@@ -106,7 +106,7 @@ HINSTANCE winwrap::CWindow::Instance()
BOOL winwrap::HatchWindowRegister(HINSTANCE hInst)
{
- WNDCLASS wc;
+ WNDCLASSW wc;
//Must have CS_DBLCLKS for border!
wc.style = CS_HREDRAW | CS_VREDRAW | CS_DBLCLKS;
@@ -120,7 +120,7 @@ BOOL winwrap::HatchWindowRegister(HINSTANCE hInst)
wc.lpszMenuName = nullptr;
wc.lpszClassName = SZCLASSHATCHWIN;
- return RegisterClass(&wc);
+ return RegisterClassW(&wc);
}
@@ -141,8 +141,8 @@ CHatchWin::CHatchWin(HINSTANCE hInst,const DocumentHolder* pDocHolder)
m_hWndAssociate=nullptr;
m_uID=0;
- m_dBorderOrg=GetProfileInt(TEXT("windows")
- , TEXT("OleInPlaceBorderWidth")
+ m_dBorderOrg=GetProfileIntW(L"windows"
+ , L"OleInPlaceBorderWidth"
, HATCHWIN_BORDERWIDTHDEFAULT);
m_dBorder=m_dBorderOrg;
@@ -187,7 +187,7 @@ CHatchWin::~CHatchWin()
BOOL CHatchWin::Init(HWND hWndParent, WORD uID, HWND hWndAssoc)
{
m_hWndParent = hWndParent;
- m_hWnd=CreateWindowEx(
+ m_hWnd=CreateWindowExW(
WS_EX_NOPARENTNOTIFY, SZCLASSHATCHWIN
, SZCLASSHATCHWIN, WS_CHILD | WS_CLIPSIBLINGS
| WS_CLIPCHILDREN, 0, 0, 100, 100, hWndParent
@@ -370,14 +370,14 @@ LRESULT APIENTRY winwrap::HatchWndProc(
HDC hDC;
PAINTSTRUCT ps;
- phw=reinterpret_cast<PCHatchWin>(GetWindowLongPtr(hWnd, HWWL_STRUCTURE));
+ phw=reinterpret_cast<PCHatchWin>(GetWindowLongPtrW(hWnd, HWWL_STRUCTURE));
POINT ptMouse;
switch (iMsg)
{
case WM_CREATE:
phw=static_cast<PCHatchWin>(reinterpret_cast<LPCREATESTRUCT>(lParam)->lpCreateParams);
- SetWindowLongPtr(hWnd, HWWL_STRUCTURE, reinterpret_cast<LONG_PTR>(phw));
+ SetWindowLongPtrW(hWnd, HWWL_STRUCTURE, reinterpret_cast<LONG_PTR>(phw));
break;
case WM_PAINT:
hDC=BeginPaint(hWnd,&ps);
@@ -421,7 +421,7 @@ LRESULT APIENTRY winwrap::HatchWndProc(
*/
if (nullptr!=phw->m_hWndAssociate)
{
- SendMessage(
+ SendMessageW(
phw->m_hWndAssociate, WM_COMMAND,
MAKEWPARAM(phw->m_uID, HWN_BORDERDOUBLECLICKED),
reinterpret_cast<LPARAM>(hWnd));
@@ -429,7 +429,7 @@ LRESULT APIENTRY winwrap::HatchWndProc(
break;
default:
- return DefWindowProc(hWnd, iMsg, wParam, lParam);
+ return DefWindowProcW(hWnd, iMsg, wParam, lParam);
}
return 0;
diff --git a/embedserv/source/embed/tracker.cxx b/embedserv/source/embed/tracker.cxx
index b39f5499d53f..ae30e630f709 100644
--- a/embedserv/source/embed/tracker.cxx
+++ b/embedserv/source/embed/tracker.cxx
@@ -255,10 +255,9 @@ void Tracker::Construct()
}
// get default handle size from Windows profile setting
- static const TCHAR szWindows[] = TEXT("windows");
- static const TCHAR szInplaceBorderWidth[] =
- TEXT("oleinplaceborderwidth");
- afxHandleSize = GetProfileInt(szWindows, szInplaceBorderWidth, 4);
+ static const WCHAR szWindows[] = L"windows";
+ static const WCHAR szInplaceBorderWidth[] = L"oleinplaceborderwidth";
+ afxHandleSize = GetProfileIntW(szWindows, szInplaceBorderWidth, 4);
bInitialized = TRUE;
afxCursors[0] = afxCursors[2] = LoadCursor(nullptr,IDC_SIZENWSE);
@@ -396,7 +395,7 @@ BOOL Tracker::TrackHandle(int nHandle,HWND hWnd,POINT point,HWND hWndClipTo)
for (;;)
{
MSG msg;
- GetMessage(&msg, nullptr, 0, 0);
+ GetMessageW(&msg, nullptr, 0, 0);
if (GetCapture() != hWnd)
break;
@@ -461,7 +460,7 @@ BOOL Tracker::TrackHandle(int nHandle,HWND hWnd,POINT point,HWND hWndClipTo)
// just dispatch rest of the messages
default:
- DispatchMessage(&msg);
+ DispatchMessageW(&msg);
break;
}
}
diff --git a/embedserv/source/inprocserv/dllentry.cxx b/embedserv/source/inprocserv/dllentry.cxx
index a4346eab84c2..f6f3b21d01df 100644
--- a/embedserv/source/inprocserv/dllentry.cxx
+++ b/embedserv/source/inprocserv/dllentry.cxx
@@ -42,47 +42,47 @@ static ULONG g_nLock = 0;
namespace {
- void FillCharFromInt( int nValue, char* pBuf, int nLen )
+ void FillCharFromInt( int nValue, wchar_t* pBuf, int nLen )
{
int nInd = 0;
while( nInd < nLen )
{
char nSign = ( nValue / ( 1 << ( ( nLen - nInd - 1 ) * 4 ) ) ) % 16;
if ( nSign >= 0 && nSign <= 9 )
- pBuf[nInd] = nSign + '0';
+ pBuf[nInd] = nSign + L'0';
else if ( nSign >= 10 && nSign <= 15 )
- pBuf[nInd] = nSign - 10 + 'a';
+ pBuf[nInd] = nSign - 10 + L'a';
nInd++;
}
}
- int GetStringFromClassID( const GUID& guid, char* pBuf, int nLen )
+ int GetStringFromClassID( const GUID& guid, wchar_t* pBuf, int nLen )
{
// is not allowed to insert
if ( nLen < 38 )
return 0;
- pBuf[0] = '{';
+ pBuf[0] = L'{';
FillCharFromInt( guid.Data1, &pBuf[1], 8 );
- pBuf[9] = '-';
+ pBuf[9] = L'-';
FillCharFromInt( guid.Data2, &pBuf[10], 4 );
- pBuf[14] = '-';
+ pBuf[14] = L'-';
FillCharFromInt( guid.Data3, &pBuf[15], 4 );
- pBuf[19] = '-';
+ pBuf[19] = L'-';
int nInd = 0;
for ( nInd = 0; nInd < 2 ; nInd++ )
FillCharFromInt( guid.Data4[nInd], &pBuf[20 + 2*nInd], 2 );
- pBuf[24] = '-';
+ pBuf[24] = L'-';
for ( nInd = 2; nInd < 8 ; nInd++ )
FillCharFromInt( guid.Data4[nInd], &pBuf[20 + 1 + 2*nInd], 2 );
- pBuf[37] = '}';
+ pBuf[37] = L'}';
return 38;
}
- HRESULT WriteLibraryToRegistry( const char* pLibrary, DWORD nLen )
+ HRESULT WriteLibraryToRegistry( const wchar_t* pLibrary, DWORD nLen )
{
HRESULT hRes = E_FAIL;
if ( pLibrary && nLen )
@@ -92,18 +92,18 @@ namespace {
hRes = S_OK;
for ( int nInd = 0; nInd < SUPPORTED_FACTORIES_NUM; nInd++ )
{
- const char pSubKeyTemplate[] = "Software\\Classes\\CLSID\\.....................................\\InprocHandler32";
- char pSubKey[SAL_N_ELEMENTS(pSubKeyTemplate)];
- strncpy(pSubKey, pSubKeyTemplate, SAL_N_ELEMENTS(pSubKeyTemplate));
+ const wchar_t pSubKeyTemplate[] = L"Software\\Classes\\CLSID\\.....................................\\InprocHandler32";
+ wchar_t pSubKey[SAL_N_ELEMENTS(pSubKeyTemplate)];
+ wcsncpy(pSubKey, pSubKeyTemplate, SAL_N_ELEMENTS(pSubKeyTemplate));
int nGuidLen = GetStringFromClassID( *guidList[nInd], &pSubKey[23], 38 );
BOOL bLocalSuccess = FALSE;
if ( nGuidLen == 38 )
{
- if ( ERROR_SUCCESS == RegOpenKey( HKEY_LOCAL_MACHINE, pSubKey, &hKey ) )
+ if ( ERROR_SUCCESS == RegOpenKeyW( HKEY_LOCAL_MACHINE, pSubKey, &hKey ) )
{
- if ( ERROR_SUCCESS == RegSetValueEx( hKey, "", 0, REG_SZ, reinterpret_cast<const BYTE*>(pLibrary), nLen ) )
+ if ( ERROR_SUCCESS == RegSetValueExW( hKey, L"", 0, REG_SZ, reinterpret_cast<const BYTE*>(pLibrary), nLen*sizeof(wchar_t) ) )
bLocalSuccess = TRUE;
}
@@ -199,11 +199,11 @@ STDAPI DllCanUnloadNow()
STDAPI DllRegisterServer()
{
- HMODULE aCurModule = GetModuleHandleA( "inprocserv.dll" );
+ HMODULE aCurModule = GetModuleHandleW( L"inprocserv.dll" );
if( aCurModule )
{
- char aLibPath[1024];
- DWORD nLen = GetModuleFileNameA( aCurModule, aLibPath, 1019 );
+ wchar_t aLibPath[1024];
+ DWORD nLen = GetModuleFileNameW( aCurModule, aLibPath, 1019 );
if ( nLen && nLen < 1019 )
{
aLibPath[nLen++] = 0;
@@ -217,7 +217,7 @@ STDAPI DllRegisterServer()
STDAPI DllUnregisterServer()
{
- return WriteLibraryToRegistry( "ole32.dll", 10 );
+ return WriteLibraryToRegistry( L"ole32.dll", 10 );
}
diff --git a/extensions/source/activex/SOActiveX.cxx b/extensions/source/activex/SOActiveX.cxx
index 436700851200..304b74812756 100644
--- a/extensions/source/activex/SOActiveX.cxx
+++ b/extensions/source/activex/SOActiveX.cxx
@@ -39,23 +39,23 @@
#pragma warning (pop)
-#define STAROFFICE_WINDOWCLASS "SOParentWindow"
+#define STAROFFICE_WINDOWCLASS L"SOParentWindow"
void OutputError_Impl( HWND hw, HRESULT ErrorCode )
{
- LPTSTR sMessage;
- FormatMessageA(
+ LPWSTR sMessage;
+ FormatMessageW(
FORMAT_MESSAGE_ALLOCATE_BUFFER |
FORMAT_MESSAGE_FROM_SYSTEM,
nullptr,
ErrorCode,
MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // Default language
- reinterpret_cast<LPTSTR>(&sMessage),
+ reinterpret_cast<LPWSTR>(&sMessage),
0,
nullptr
);
- ::MessageBoxA( hw, sMessage, nullptr, MB_OK | MB_ICONINFORMATION );
+ MessageBoxW( hw, sMessage, nullptr, MB_OK | MB_ICONINFORMATION );
LocalFree( sMessage );
}
@@ -164,17 +164,17 @@ CSOActiveX::CSOActiveX()
OutputError_Impl( nullptr, hr );
mPWinClass.style = CS_HREDRAW|CS_VREDRAW;
- mPWinClass.lpfnWndProc = ::DefWindowProc;
+ mPWinClass.lpfnWndProc = DefWindowProcW;
mPWinClass.cbClsExtra = 0;
mPWinClass.cbWndExtra = 0;
- mPWinClass.hInstance = GetModuleHandle(nullptr); //myInstance;
+ mPWinClass.hInstance = GetModuleHandleW(nullptr); //myInstance;
mPWinClass.hIcon = nullptr;
mPWinClass.hCursor = nullptr;
mPWinClass.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_BACKGROUND);
mPWinClass.lpszMenuName = nullptr;
mPWinClass.lpszClassName = STAROFFICE_WINDOWCLASS;
- RegisterClass(&mPWinClass);
+ RegisterClassW(&mPWinClass);
}
CSOActiveX::~CSOActiveX()
@@ -991,9 +991,9 @@ HRESULT CSOActiveX::OnDrawAdvanced( ATL_DRAWINFO& di )
}
mParentWin = hwnd;
- mOffWin = CreateWindow(
+ mOffWin = CreateWindowW(
STAROFFICE_WINDOWCLASS,
- "OfficeContainer",
+ L"OfficeContainer",
WS_CHILD | WS_CLIPCHILDREN | WS_BORDER,
di.prcBounds->left,
di.prcBounds->top,
diff --git a/extensions/source/activex/SOActiveX.h b/extensions/source/activex/SOActiveX.h
index 14451fcdbf51..5f652e6b6752 100644
--- a/extensions/source/activex/SOActiveX.h
+++ b/extensions/source/activex/SOActiveX.h
@@ -90,7 +90,7 @@ protected:
OLECHAR const * mCurFileUrl;
BOOL mbLoad;
BOOL mbViewOnly;
- WNDCLASS mPWinClass;
+ WNDCLASSW mPWinClass;
HWND mParentWin;
HWND mOffWin;
diff --git a/extensions/source/scanner/scanwin.cxx b/extensions/source/scanner/scanwin.cxx
index 117e8d55f80e..437b408a6918 100644
--- a/extensions/source/scanner/scanwin.cxx
+++ b/extensions/source/scanner/scanwin.cxx
@@ -127,7 +127,7 @@ static ImpTwain* pImpTwainInstance = nullptr;
LRESULT CALLBACK TwainWndProc( HWND hWnd,UINT nMsg, WPARAM nPar1, LPARAM nPar2 )
{
- return DefWindowProc( hWnd, nMsg, nPar1, nPar2 );
+ return DefWindowProcW( hWnd, nMsg, nPar1, nPar2 );
}
LRESULT CALLBACK TwainMsgProc( int nCode, WPARAM wParam, LPARAM lParam )
@@ -235,11 +235,11 @@ ImpTwain::ImpTwain( ScannerManager& rMgr, const Link<unsigned long,void>& rNotif
strncpy( aAppIdent.ProductName, "Office", 32 );
aAppIdent.ProductName[32] = aAppIdent.ProductName[33] = 0;
- WNDCLASS aWc = { 0, &TwainWndProc, 0, sizeof( WNDCLASS ), GetModuleHandle( nullptr ), nullptr, nullptr, nullptr, nullptr, "TwainClass" };
- RegisterClass( &aWc );
+ WNDCLASSW aWc = { 0, &TwainWndProc, 0, sizeof( WNDCLASSW ), GetModuleHandleW( nullptr ), nullptr, nullptr, nullptr, nullptr, L"TwainClass" };
+ RegisterClassW( &aWc );
- hTwainWnd = CreateWindowEx( WS_EX_TOPMOST, aWc.lpszClassName, "TWAIN", 0, 0, 0, 0, 0, HWND_DESKTOP, nullptr, aWc.hInstance, nullptr );
- hTwainHook = SetWindowsHookEx( WH_GETMESSAGE, &TwainMsgProc, nullptr, GetCurrentThreadId() );
+ hTwainWnd = CreateWindowExW( WS_EX_TOPMOST, aWc.lpszClassName, L"TWAIN", 0, 0, 0, 0, 0, HWND_DESKTOP, nullptr, aWc.hInstance, nullptr );
+ hTwainHook = SetWindowsHookExW( WH_GETMESSAGE, &TwainMsgProc, nullptr, GetCurrentThreadId() );
// block destruction until ImplDestroyHdl is called
mxSelfRef = static_cast< ::cppu::OWeakObject* >( this );
diff --git a/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx b/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
index c3ce95a8054b..c615abd49afd 100644
--- a/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
+++ b/fpicker/source/win32/filepicker/VistaFilePickerImpl.cxx
@@ -929,8 +929,8 @@ void VistaFilePickerImpl::impl_sta_ShowDialogModal(const RequestRef& rRequest)
OUString aSystemPath;
osl_getSystemPathFromFileURL( aFileURL.pData, &aSystemPath.pData );
- WIN32_FIND_DATA aFindFileData;
- HANDLE hFind = FindFirstFile( reinterpret_cast<PCWSTR>(aSystemPath.getStr()), &aFindFileData );
+ WIN32_FIND_DATAW aFindFileData;
+ HANDLE hFind = FindFirstFileW( SAL_W(aSystemPath.getStr()), &aFindFileData );
if (hFind != INVALID_HANDLE_VALUE)
iDialog->SetFolder(pFolder);
else
diff --git a/fpicker/source/win32/folderpicker/MtaFop.cxx b/fpicker/source/win32/folderpicker/MtaFop.cxx
index 5e5de9f612c4..e98c20b6e732 100644
--- a/fpicker/source/win32/folderpicker/MtaFop.cxx
+++ b/fpicker/source/win32/folderpicker/MtaFop.cxx
@@ -42,9 +42,9 @@ const bool INIT_NONSIGNALED = false;
namespace
{
- const char* const FOLDERPICKER_SRV_DLL_NAME = "fps.dll";
- const char g_szWndClsName[] = "FopStaReqWnd###";
- const char* const CURRENT_INSTANCE = "CurrInst";
+ const wchar_t* const FOLDERPICKER_SRV_DLL_NAME = L"fps.dll";
+ const wchar_t g_szWndClsName[] = L"FopStaReqWnd###";
+ const wchar_t* const CURRENT_INSTANCE = L"CurrInst";
struct RequestContext
{
@@ -56,7 +56,7 @@ namespace
{
OSL_ASSERT( aRequestContext );
- aRequestContext->hEvent = CreateEventA(
+ aRequestContext->hEvent = CreateEventW(
nullptr, AUTO_RESET, INIT_NONSIGNALED, nullptr );
aRequestContext->bRet = false;
@@ -106,7 +106,7 @@ CMtaFolderPicker::CMtaFolderPicker( sal_uInt32 Flags ) :
m_hEvtThrdReady( nullptr ),
m_hwndStaRequestWnd( nullptr )
{
- m_hInstance = GetModuleHandleA( FOLDERPICKER_SRV_DLL_NAME );
+ m_hInstance = GetModuleHandleW( FOLDERPICKER_SRV_DLL_NAME );
OSL_ENSURE( m_hInstance, "The name of the FolderPicker service dll must have changed" );
ZeroMemory( &m_bi, sizeof( m_bi ) );
@@ -142,7 +142,7 @@ CMtaFolderPicker::CMtaFolderPicker( sal_uInt32 Flags ) :
m_Description = CResourceProvider::getResString(FOLDER_PICKER_DEF_DESCRIPTION);
// signals that the thread was successfully set up
- m_hEvtThrdReady = CreateEventA(
+ m_hEvtThrdReady = CreateEventW(
nullptr,
MANUAL_RESET,
INIT_NONSIGNALED,
@@ -187,7 +187,7 @@ CMtaFolderPicker::~CMtaFolderPicker( )
// the thread that created the window
if ( IsWindow( m_hwndStaRequestWnd ) )
{
- SendMessageA( m_hwndStaRequestWnd, MSG_SHUTDOWN, 0, 0 );
+ SendMessageW( m_hwndStaRequestWnd, MSG_SHUTDOWN, 0, 0 );
// we place unregister class here because
// if we have a valid window we must have
@@ -243,7 +243,7 @@ bool CMtaFolderPicker::browseForFolder( )
}
// marshall request into the sta thread
- BOOL const ret = PostMessageA(
+ BOOL const ret = PostMessageW(
m_hwndStaRequestWnd,
MSG_BROWSEFORFOLDER,
0,
@@ -278,8 +278,8 @@ bool CMtaFolderPicker::browseForFolder( )
// mouse messages are for the FolderPicker which
// is in the foreground and should not arrive here
MSG msg;
- while ( PeekMessageA( &msg, nullptr, 0, 0, PM_REMOVE ) )
- DispatchMessageA(&msg);
+ while ( PeekMessageW( &msg, nullptr, 0, 0, PM_REMOVE ) )
+ DispatchMessageW(&msg);
}
break;
@@ -346,7 +346,7 @@ void SAL_CALL CMtaFolderPicker::cancel( )
{
// simulate a mouse click to the
// cancel button
- BOOL const ret = PostMessageA(
+ BOOL const ret = PostMessageW(
m_hwnd,
WM_COMMAND,
MAKEWPARAM( IDCANCEL, BN_CLICKED ),
@@ -425,7 +425,7 @@ OUString SAL_CALL CMtaFolderPicker::getPathFromItemIdList( LPCITEMIDLIST lpItemI
if ( lpItemIdList )
{
- bool bRet = SHGetPathFromIDListW( lpItemIdList, reinterpret_cast<LPWSTR>(m_pathBuff) );
+ bool bRet = SHGetPathFromIDListW( lpItemIdList, SAL_W(m_pathBuff) );
if ( bRet )
path = m_pathBuff;
}
@@ -476,7 +476,7 @@ void SAL_CALL CMtaFolderPicker::onInitialized( )
if ( lpiidDisplayDir )
{
- SendMessageA(
+ SendMessageW(
m_hwnd,
BFFM_SETSELECTION,
(WPARAM)false,
@@ -506,7 +506,7 @@ int CALLBACK CMtaFolderPicker::FolderPickerCallback( HWND hwnd, UINT uMsg, LPARA
case BFFM_INITIALIZED:
pImpl->m_hwnd = hwnd;
pImpl->onInitialized( );
- SetWindowTextW( hwnd, reinterpret_cast<LPCWSTR>(pImpl->m_dialogTitle.getStr()) );
+ SetWindowTextW( hwnd, SAL_W(pImpl->m_dialogTitle.getStr()) );
break;
case BFFM_SELCHANGED:
@@ -547,20 +547,20 @@ LRESULT CALLBACK CMtaFolderPicker::StaWndProc( HWND hWnd, UINT uMsg, WPARAM wPar
{
case WM_CREATE:
{
- LPCREATESTRUCT lpcs =
- reinterpret_cast< LPCREATESTRUCT >( lParam );
+ LPCREATESTRUCTW lpcs =
+ reinterpret_cast< LPCREATESTRUCTW >( lParam );
OSL_ASSERT( lpcs->lpCreateParams );
// connect the instance handle to the window
- SetPropA( hWnd, CURRENT_INSTANCE, lpcs->lpCreateParams );
+ SetPropW( hWnd, CURRENT_INSTANCE, lpcs->lpCreateParams );
}
break;
case WM_NCDESTROY:
// RemoveProp returns the saved value on success
pImpl = static_cast< CMtaFolderPicker* >(
- RemovePropA( hWnd, CURRENT_INSTANCE ) );
+ RemovePropW( hWnd, CURRENT_INSTANCE ) );
OSL_ASSERT( pImpl && !IsBadReadPtr( pImpl, sizeof( CMtaFolderPicker ) ) );
break;
@@ -571,7 +571,7 @@ LRESULT CALLBACK CMtaFolderPicker::StaWndProc( HWND hWnd, UINT uMsg, WPARAM wPar
OSL_ASSERT( aReqCtx );
pImpl = static_cast< CMtaFolderPicker* >(
- GetPropA( hWnd, CURRENT_INSTANCE ) );
+ GetPropW( hWnd, CURRENT_INSTANCE ) );
OSL_ASSERT( pImpl && !IsBadReadPtr( pImpl, sizeof( CMtaFolderPicker ) ) );
@@ -582,7 +582,7 @@ LRESULT CALLBACK CMtaFolderPicker::StaWndProc( HWND hWnd, UINT uMsg, WPARAM wPar
case MSG_SHUTDOWN:
pImpl = static_cast< CMtaFolderPicker* >(
- GetPropA( hWnd, CURRENT_INSTANCE ) );
+ GetPropW( hWnd, CURRENT_INSTANCE ) );
OSL_ASSERT( pImpl && !IsBadReadPtr( pImpl, sizeof( CMtaFolderPicker ) ) );
@@ -594,7 +594,7 @@ LRESULT CALLBACK CMtaFolderPicker::StaWndProc( HWND hWnd, UINT uMsg, WPARAM wPar
break;
default:
- lResult = DefWindowProcA( hWnd, uMsg, wParam, lParam );
+ lResult = DefWindowProcW( hWnd, uMsg, wParam, lParam );
break;
}
@@ -608,7 +608,7 @@ bool SAL_CALL CMtaFolderPicker::createStaRequestWindow( )
if ( RegisterStaRequestWindowClass( ) )
{
- m_hwndStaRequestWnd = CreateWindowA(
+ m_hwndStaRequestWnd = CreateWindowW(
g_szWndClsName, nullptr,
0, 0, 0, 0, 0,
nullptr, nullptr, m_hInstance,
@@ -653,8 +653,8 @@ unsigned int CMtaFolderPicker::run( )
// pumping messages
MSG msg;
- while( GetMessageA( &msg, nullptr, 0, 0 ) )
- DispatchMessageA( &msg );
+ while( GetMessageW( &msg, nullptr, 0, 0 ) )
+ DispatchMessageW( &msg );
nRet = 0;
}
@@ -697,11 +697,11 @@ ATOM SAL_CALL CMtaFolderPicker::RegisterStaRequestWindowClass( )
if ( 0 == s_ClassAtom )
{
- WNDCLASSEXA wcex;
+ WNDCLASSEXW wcex;
- ZeroMemory( &wcex, sizeof( WNDCLASSEXA ) );
+ ZeroMemory( &wcex, sizeof( wcex ) );
- wcex.cbSize = sizeof(WNDCLASSEXA);
+ wcex.cbSize = sizeof(wcex);
wcex.style = 0;
wcex.lpfnWndProc = static_cast< WNDPROC >( CMtaFolderPicker::StaWndProc );
wcex.cbClsExtra = 0;
@@ -714,7 +714,7 @@ ATOM SAL_CALL CMtaFolderPicker::RegisterStaRequestWindowClass( )
wcex.lpszClassName = g_szWndClsName;
wcex.hIconSm = nullptr;
- s_ClassAtom = RegisterClassExA( &wcex );
+ s_ClassAtom = RegisterClassExW( &wcex );
OSL_ASSERT( s_ClassAtom );
}
@@ -745,8 +745,7 @@ void SAL_CALL CMtaFolderPicker::UnregisterStaRequestWindowClass( )
if ( 0 == s_StaRequestWndRegisterCount )
{
- UnregisterClassA(
- reinterpret_cast<PCSTR>((DWORD_PTR)MAKELONG( s_ClassAtom, 0 )), m_hInstance );
+ UnregisterClass( MAKEINTATOM(s_ClassAtom), m_hInstance );
s_ClassAtom = 0;
}
diff --git a/hwpfilter/source/hwpreader.cxx b/hwpfilter/source/hwpreader.cxx
index 8ac074eff35c..47869520de23 100644
--- a/hwpfilter/source/hwpreader.cxx
+++ b/hwpfilter/source/hwpreader.cxx
@@ -532,11 +532,11 @@ void HwpReader::makeDrawMiscStyle( HWPDrawingObject *hdo )
char dirname[128];
int fd;
#ifdef _WIN32
- GetTempPath(sizeof(dirname), dirname);
+ GetTempPathA(sizeof(dirname), dirname);
sprintf(filename, "%s%s",dirname, emp->name);
if( (fd = open( filename , _O_CREAT | _O_WRONLY | _O_BINARY , 0666)) >= 0 )
#else
- strcpy(dirname, "/tmp/");
+ strcpy(dirname, "/tmp/");
sprintf(filename, "%s%s", dirname, emp->name);
if( (fd = open( filename , O_CREAT | O_WRONLY , 0666)) >= 0 )
#endif
diff --git a/hwpfilter/source/mzstring.cxx b/hwpfilter/source/mzstring.cxx
index 6b579e47b8f6..dae04be2169b 100644
--- a/hwpfilter/source/mzstring.cxx
+++ b/hwpfilter/source/mzstring.cxx
@@ -34,7 +34,7 @@
#include <string.h>
#ifndef _WIN32
-# define wsprintf sprintf
+# define wsprintfA sprintf
#endif
const int AllocSize = 8;
@@ -181,7 +181,7 @@ MzString &MzString::operator << (int i)
{
char str[80];
- wsprintf(str, "%d", i);
+ wsprintfA(str, "%d", i);
append(str);
return *this;
}
@@ -191,7 +191,7 @@ MzString &MzString::operator << (long l)
{
char str[80];
- wsprintf(str, "%ld", l);
+ wsprintfA(str, "%ld", l);
append(str);
return *this;
}
diff --git a/idlc/source/options.cxx b/idlc/source/options.cxx
index cbbd55b895a8..1ae892471ac3 100644
--- a/idlc/source/options.cxx
+++ b/idlc/source/options.cxx
@@ -192,7 +192,7 @@ OString convertIncPathtoShortWindowsPath(const OString& incPath) {
std::vector<sal_Unicode> vec(path.getLength() + 1);
//GetShortPathNameW only works if the file can be found!
const DWORD len = GetShortPathNameW(
- reinterpret_cast<LPCWSTR>(path.getStr()), reinterpret_cast<LPWSTR>(&vec[0]), path.getLength() + 1);
+ SAL_W(path.getStr()), SAL_W(&vec[0]), path.getLength() + 1);
if (len > 0)
{
diff --git a/include/comphelper/windowserrorstring.hxx b/include/comphelper/windowserrorstring.hxx
index 805c491c37e1..59f27711a5f8 100644
--- a/include/comphelper/windowserrorstring.hxx
+++ b/include/comphelper/windowserrorstring.hxx
@@ -29,7 +29,7 @@ inline OUString WindowsErrorString(DWORD nErrorCode)
nullptr) == 0)
return OUString::number(nErrorCode, 16);
- OUString result(reinterpret_cast<sal_Unicode const *>(pMsgBuf));
+ OUString result(SAL_U(pMsgBuf));
result.endsWith("\r\n", &result);
LocalFree(pMsgBuf);
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
index 5d28e0240b58..7a9cefd78f34 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/sunjavaplugin.cxx
@@ -485,8 +485,7 @@ static void load_msvcr(OUString const & jvm_dll, OUStringLiteral msvcr)
}
if (LoadLibraryW(
- reinterpret_cast<wchar_t const *>(
- OUString(jvm_dll.copy(0, slash+1) + msvcr).getStr())))
+ SAL_W(OUString(jvm_dll.copy(0, slash+1) + msvcr).getStr())))
return;
// Then check if msvcr71.dll is in the parent folder of where
@@ -498,8 +497,7 @@ static void load_msvcr(OUString const & jvm_dll, OUStringLiteral msvcr)
return;
LoadLibraryW(
- reinterpret_cast<wchar_t const *>(
- OUString(jvm_dll.copy(0, slash+1) + msvcr).getStr()));
+ SAL_W(OUString(jvm_dll.copy(0, slash+1) + msvcr).getStr()));
}
// Check if the jvm DLL imports msvcr71.dll, and in that case try
diff --git a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
index f1bf45816af6..7513716d4f90 100644
--- a/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
+++ b/jvmfwk/plugins/sunmajor/pluginlib/util.cxx
@@ -631,7 +631,11 @@ bool getJavaInfoFromRegistry(const wchar_t* szRegKey,
// Find out how long the string for JavaHome is and allocate memory to hold the path
if( RegQueryValueExW(hKey, L"JavaHome", nullptr, &dwType, nullptr, &dwTmpPathLen)== ERROR_SUCCESS)
{
- unsigned char* szTmpPath= static_cast<unsigned char *>(malloc( dwTmpPathLen));
+ unsigned char* szTmpPath= static_cast<unsigned char *>(malloc(dwTmpPathLen+sizeof(sal_Unicode)));
+ // According to https://msdn.microsoft.com/en-us/ms724911, the application should ensure
+ // that the string is properly terminated before using it
+ for (DWORD i = 0; i < sizeof(sal_Unicode); ++i)
+ szTmpPath[dwTmpPathLen + i] = 0;
// Get the path for the runtime lib
if(RegQueryValueExW(hKey, L"JavaHome", nullptr, &dwType, szTmpPath, &dwTmpPathLen) == ERROR_SUCCESS)
{
diff --git a/jvmfwk/source/fwkutil.cxx b/jvmfwk/source/fwkutil.cxx
index fbb885b1d0c2..95fa21503bc0 100644
--- a/jvmfwk/source/fwkutil.cxx
+++ b/jvmfwk/source/fwkutil.cxx
@@ -66,18 +66,19 @@ bool isAccessibilitySupportDesired()
#ifdef _WIN32
bool retVal = false;
HKEY hKey = nullptr;
- if (RegOpenKeyEx(HKEY_CURRENT_USER,
- "Software\\LibreOffice\\Accessibility\\AtToolSupport",
- 0, KEY_READ, &hKey) == ERROR_SUCCESS)
+ if (RegOpenKeyExA(HKEY_CURRENT_USER,
+ "Software\\LibreOffice\\Accessibility\\AtToolSupport",
+ 0, KEY_READ, &hKey) == ERROR_SUCCESS)
{
DWORD dwType = 0;
DWORD dwLen = 16;
unsigned char arData[16];
- if( RegQueryValueEx(hKey, "SupportAssistiveTechnology", nullptr, &dwType, arData,
- & dwLen)== ERROR_SUCCESS)
+ if( RegQueryValueExA(hKey, "SupportAssistiveTechnology", nullptr, &dwType, arData,
+ &dwLen)== ERROR_SUCCESS)
{
if (dwType == REG_SZ)
{
+ arData[std::min(dwLen, DWORD(15))] = 0;
if (strcmp(reinterpret_cast<char*>(arData), "true") == 0
|| strcmp(reinterpret_cast<char*>(arData), "1") == 0)
retVal = true;
@@ -98,9 +99,8 @@ bool isAccessibilitySupportDesired()
"jfw", "bad registry value " << unsigned(arData[0]));
}
}
+ RegCloseKey(hKey);
}
- RegCloseKey(hKey);
-
#elif defined UNX
// Java is no longer required for a11y - we use atk directly.
bool retVal = ::rtl::Bootstrap::get( "JFW_PLUGIN_FORCE_ACCESSIBILITY", sValue) && sValue == "1";
diff --git a/opencl/source/openclwrapper.cxx b/opencl/source/openclwrapper.cxx
index 73412e9fff58..71e6722f83dc 100644
--- a/opencl/source/openclwrapper.cxx
+++ b/opencl/source/openclwrapper.cxx
@@ -502,10 +502,10 @@ bool initOpenCLRunEnv( GPUEnv *gpuInfo )
const bool bIsNotWinOrIsWin8OrGreater = IsWindows8OrGreater();
# else
bool bIsNotWinOrIsWin8OrGreater = true;
- OSVERSIONINFO aVersionInfo;
+ OSVERSIONINFOW aVersionInfo;
memset( &aVersionInfo, 0, sizeof(aVersionInfo) );
aVersionInfo.dwOSVersionInfoSize = sizeof( aVersionInfo );
- if (GetVersionEx( &aVersionInfo ))
+ if (GetVersionExW( &aVersionInfo ))
{
// Windows 7 or lower?
if (aVersionInfo.dwMajorVersion < 6 ||
diff --git a/sal/osl/w32/security.cxx b/sal/osl/w32/security.cxx
index 02f9c02e82b6..b25e3076af70 100644
--- a/sal/osl/w32/security.cxx
+++ b/sal/osl/w32/security.cxx
@@ -66,7 +66,9 @@ typedef BOOL (STDMETHODCALLTYPE FAR * LPFNGETUSERPROFILEDIR) (
#define TOKEN_DUP_QUERY (TOKEN_QUERY|TOKEN_DUPLICATE)
static bool GetSpecialFolder(rtl_uString **strPath,int nFolder);
-static BOOL Privilege(LPCWSTR pszPrivilege, BOOL bEnable);
+// We use LPCTSTR here, because we use it with SE_foo_NAME constants
+// which are defined in winnt.h as UNICODE-dependent TEXT("PrivilegeName")
+static BOOL Privilege(LPCTSTR pszPrivilege, BOOL bEnable);
static bool SAL_CALL getUserNameImpl(oslSecurity Security, rtl_uString **strName, bool bIncludeDomain);
oslSecurity SAL_CALL osl_getCurrentSecurity(void)
@@ -99,7 +101,7 @@ oslSecurityError SAL_CALL osl_loginUser( rtl_uString *strUserName, rtl_uString *
}
// this process must have the right: 'act as a part of operatingsystem'
- OSL_ASSERT(LookupPrivilegeValueW(nullptr, L"SeTcbPrivilege", &luid));
+ OSL_ASSERT(LookupPrivilegeValue(nullptr, SE_TCB_NAME, &luid));
(void) luid;
if (LogonUserW(SAL_W(strUser), strDomain ? SAL_W(strDomain) : L"", SAL_W(rtl_uString_getStr(strPasswd)),
@@ -510,7 +512,7 @@ sal_Bool SAL_CALL osl_loadUserProfile(oslSecurity Security)
RegCloseKey(HKEY_CURRENT_USER);
- if (Privilege(L"SeRestorePrivilege", TRUE))
+ if (Privilege(SE_RESTORE_NAME, TRUE))
{
HMODULE hUserEnvLib = nullptr;
LPFNLOADUSERPROFILE fLoadUserProfile = nullptr;
@@ -712,7 +714,9 @@ static bool GetSpecialFolder(rtl_uString **strPath, int nFolder)
return bRet;
}
-static BOOL Privilege(LPCWSTR strPrivilege, BOOL bEnable)
+// We use LPCTSTR here, because we use it with SE_foo_NAME constants
+// which are defined in winnt.h as UNICODE-dependent TEXT("PrivilegeName")
+static BOOL Privilege(LPCTSTR strPrivilege, BOOL bEnable)
{
HANDLE hToken;
TOKEN_PRIVILEGES tp;
@@ -722,7 +726,7 @@ static BOOL Privilege(LPCWSTR strPrivilege, BOOL bEnable)
return FALSE;
// get the luid
- if (!LookupPrivilegeValueW(nullptr, strPrivilege, &tp.Privileges[0].Luid))
+ if (!LookupPrivilegeValue(nullptr, strPrivilege, &tp.Privileges[0].Luid))
return FALSE;
tp.PrivilegeCount = 1;
diff --git a/sfx2/source/appl/shutdowniconw32.cxx b/sfx2/source/appl/shutdowniconw32.cxx
index f384339f25f2..e670d62e4d7e 100644
--- a/sfx2/source/appl/shutdowniconw32.cxx
+++ b/sfx2/source/appl/shutdowniconw32.cxx
@@ -96,9 +96,9 @@ typedef struct tagMYITEM
static void addMenuItem( HMENU hMenu, UINT id, UINT iconId, const OUString& text, int& pos, bool bOwnerdraw, const OUString& module )
{
MENUITEMINFOW mi;
- memset( &mi, 0, sizeof( MENUITEMINFOW ) );
+ memset( &mi, 0, sizeof( mi ) );
- mi.cbSize = sizeof( MENUITEMINFOW );
+ mi.cbSize = sizeof( mi );
if( id == static_cast<UINT>( -1 ) )
{
mi.fMask=MIIM_TYPE;
@@ -326,7 +326,7 @@ LRESULT CALLBACK listenerWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP
EnableMenuItem( popupMenu, IDM_TEMPLATE, MF_BYCOMMAND | (ShutdownIcon::bModalMode ? MF_GRAYED : MF_ENABLED) );
int m = TrackPopupMenuEx( popupMenu, TPM_RETURNCMD|TPM_LEFTALIGN|TPM_RIGHTBUTTON,
pt.x, pt.y, hWnd, nullptr );
- BOOL const ret = PostMessage( hWnd, 0, 0, 0 );
+ BOOL const ret = PostMessageW( hWnd, 0, 0, 0 );
SAL_WARN_IF(0 == ret, "sfx.appl", "ERROR: PostMessage() failed!");
switch( m )
{
@@ -344,11 +344,11 @@ LRESULT CALLBACK listenerWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP
break;
case IDM_EXIT:
// delete taskbar icon
- NOTIFYICONDATAA nid;
- nid.cbSize=sizeof(NOTIFYICONDATA);
+ NOTIFYICONDATAW nid;
+ nid.cbSize=sizeof(nid);
nid.hWnd = hWnd;
nid.uID = ID_QUICKSTART;
- Shell_NotifyIconA(NIM_DELETE, &nid);
+ Shell_NotifyIconW(NIM_DELETE, &nid);
break;
}
@@ -372,11 +372,11 @@ LRESULT CALLBACK listenerWndProc( HWND hWnd, UINT uMsg, WPARAM wParam, LPARAM lP
else if ( uMsg == s_uMsgKillTray )
{
// delete taskbar icon
- NOTIFYICONDATAA nid;
- nid.cbSize=sizeof(NOTIFYICONDATA);
+ NOTIFYICONDATAW nid;
+ nid.cbSize=sizeof(nid);
nid.hWnd = hWnd;
nid.uID = ID_QUICKSTART;
- Shell_NotifyIconA(NIM_DELETE, &nid);
+ Shell_NotifyIconW(NIM_DELETE, &nid);
BOOL const ret = PostMessageW(aExecuterWindow, WM_COMMAND, IDM_EXIT, reinterpret_cast<LPARAM>(hWnd));
SAL_WARN_IF(0 == ret, "sfx.appl", "ERROR: PostMessage() failed!");
@@ -628,7 +628,7 @@ void OnDrawItem(HWND /*hwnd*/, LPDRAWITEMSTRUCT lpdis)
}
}
- hIcon = static_cast<HICON>(LoadImageA( hModule, MAKEINTRESOURCE( pMyItem->iconId ),
+ hIcon = static_cast<HICON>(LoadImageW( hModule, MAKEINTRESOURCEW( pMyItem->iconId ),
IMAGE_ICON, cx, cy,
LR_DEFAULTCOLOR | LR_SHARED ));
@@ -719,7 +719,7 @@ static HRESULT WINAPI SHCoCreateInstance( LPVOID lpszReserved, REFCLSID clsid, L
{
typedef HRESULT (WINAPI *SHCoCreateInstance_PROC)( LPVOID lpszReserved, REFCLSID clsid, LPUNKNOWN pUnkUnknwon, REFIID iid, LPVOID *ppv );
- SHCoCreateInstance_PROC lpfnSHCoCreateInstance = reinterpret_cast<SHCoCreateInstance_PROC>(GetProcAddress( hModShell, MAKEINTRESOURCE(102) ));
+ SHCoCreateInstance_PROC lpfnSHCoCreateInstance = reinterpret_cast<SHCoCreateInstance_PROC>(GetProcAddress( hModShell, MAKEINTRESOURCEA(102) ));
if ( lpfnSHCoCreateInstance )
hResult = lpfnSHCoCreateInstance( lpszReserved, clsid, pUnkUnknown, iid, ppv );
diff --git a/sfx2/source/doc/graphhelp.cxx b/sfx2/source/doc/graphhelp.cxx
index eb8ad7ffe736..02664519ee8a 100644
--- a/sfx2/source/doc/graphhelp.cxx
+++ b/sfx2/source/doc/graphhelp.cxx
@@ -88,7 +88,6 @@ void* GraphicHelper::getEnhMetaFileFromGDI_Impl( const GDIMetaFile* pGDIMeta )
OUString aMetaFile = aTempFile.GetFileName();
OUString aMetaURL = aTempFile.GetURL();
- OString aWinFile = OUStringToOString( aMetaFile, osl_getThreadTextEncoding() );
SvStream* pStream = ::utl::UcbStreamHelper::CreateStream( aMetaURL, StreamMode::STD_READWRITE );
if ( pStream )
@@ -99,7 +98,7 @@ void* GraphicHelper::getEnhMetaFileFromGDI_Impl( const GDIMetaFile* pGDIMeta )
delete pStream;
if ( !nFailed )
- pResult = GetEnhMetaFileA( aWinFile.getStr() );
+ pResult = GetEnhMetaFileW( SAL_W(aMetaFile.getStr()) );
}
}
#else
diff --git a/sfx2/source/doc/guisaveas.cxx b/sfx2/source/doc/guisaveas.cxx
index 548ccd30d161..86a02dc5dd8f 100644
--- a/sfx2/source/doc/guisaveas.cxx
+++ b/sfx2/source/doc/guisaveas.cxx
@@ -1195,7 +1195,7 @@ OUString ModelData_Impl::GetRecommendedDir( const OUString& aSuggestedDir )
if( SUCCEEDED(hRes) )
{
OUString sTempINetFiles;
- if( osl::FileBase::getFileURLFromSystemPath(reinterpret_cast<sal_Unicode*>(sPath), sTempINetFiles) == osl::FileBase::E_None )
+ if( osl::FileBase::getFileURLFromSystemPath(SAL_U(sPath), sTempINetFiles) == osl::FileBase::E_None )
bIsInTempPath = !sTempINetFiles.isEmpty() && sLocationURL.startsWith( sTempINetFiles );
}
}
diff --git a/sfx2/source/doc/syspathw32.cxx b/sfx2/source/doc/syspathw32.cxx
index c190a7e159bd..ea6e13c078ba 100644
--- a/sfx2/source/doc/syspathw32.cxx
+++ b/sfx2/source/doc/syspathw32.cxx
@@ -61,7 +61,7 @@ static bool SHGetSpecialFolderW32( int nFolderID, WCHAR* pszFolder, int nSize )
bool GetUserTemplateLocation(sal_Unicode* pFolder, int nSize)
{
#ifdef _WIN32
- return SHGetSpecialFolderW32( CSIDL_TEMPLATES, reinterpret_cast<LPWSTR>(pFolder), nSize );
+ return SHGetSpecialFolderW32( CSIDL_TEMPLATES, SAL_W(pFolder), nSize );
#else
(void)pFolder;
(void)nSize;
diff --git a/svl/source/crypto/cryptosign.cxx b/svl/source/crypto/cryptosign.cxx
index 8c2d18e0ac87..83840fb8de5a 100644
--- a/svl/source/crypto/cryptosign.cxx
+++ b/svl/source/crypto/cryptosign.cxx
@@ -762,7 +762,7 @@ bool CreateSigningCertificateAttribute(void const * pDerEncoded, int nDerEncoded
std::vector<unsigned char> aSHA256{0x60, 0x86, 0x48, 0x01, 0x65, 0x03, 0x04, 0x02, 0x01};
HCRYPTPROV hProv = 0;
- if (!CryptAcquireContext(&hProv, nullptr, nullptr, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
+ if (!CryptAcquireContextW(&hProv, nullptr, nullptr, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
{
SAL_WARN("svl.crypto", "CryptAcquireContext() failed");
return false;
@@ -1867,7 +1867,7 @@ bad_data:
bool VerifyNonDetachedSignature(const std::vector<unsigned char>& aData, const std::vector<BYTE>& rExpectedHash)
{
HCRYPTPROV hProv = 0;
- if (!CryptAcquireContext(&hProv, nullptr, nullptr, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
+ if (!CryptAcquireContextW(&hProv, nullptr, nullptr, PROV_RSA_AES, CRYPT_VERIFYCONTEXT))
{
SAL_WARN("svl.crypto", "CryptAcquireContext() failed");
return false;
@@ -1941,14 +1941,13 @@ OUString GetSubjectName(PCCERT_CONTEXT pCertContext)
szName,
dwData))
{
+ LocalFree(szName);
SAL_WARN("svl.crypto", "ValidateSignature: CertGetNameString failed");
return subjectName;
}
- subjectName = OUString(reinterpret_cast<sal_Unicode*>(szName));
-
- if (szName != nullptr)
- LocalFree(szName);
+ subjectName = SAL_U(szName);
+ LocalFree(szName);
return subjectName;
}
diff --git a/tools/source/stream/strmwnt.cxx b/tools/source/stream/strmwnt.cxx
index 3c629b1b9cba..c0c5373573e2 100644
--- a/tools/source/stream/strmwnt.cxx
+++ b/tools/source/stream/strmwnt.cxx
@@ -276,7 +276,6 @@ void SvFileStream::Open( const OUString& rFilename, StreamMode nMode )
m_eStreamMode &= ~StreamMode::TRUNC; // don't truncate on reopen
aFilename = aParsedFilename;
- OString aFileNameA(OUStringToOString(aFilename, osl_getThreadTextEncoding()));
SetLastError( ERROR_SUCCESS ); // might be changed by Redirector
DWORD nOpenAction;
@@ -317,8 +316,8 @@ void SvFileStream::Open( const OUString& rFilename, StreamMode nMode )
nOpenAction = OPEN_EXISTING;
}
- pInstanceData->hFile = CreateFile(
- aFileNameA.getStr(),
+ pInstanceData->hFile = CreateFileW(
+ SAL_W(aFilename.getStr()),
nAccessMode,
nShareMode,
nullptr,
@@ -351,8 +350,8 @@ void SvFileStream::Open( const OUString& rFilename, StreamMode nMode )
// if Openaction is CREATE_ALWAYS
nOpenAction = OPEN_EXISTING;
SetLastError( ERROR_SUCCESS );
- pInstanceData->hFile = CreateFile(
- aFileNameA.getStr(),
+ pInstanceData->hFile = CreateFileW(
+ SAL_W(aFilename.getStr()),
GENERIC_READ,
nShareMode,
nullptr,
diff --git a/vcl/inc/win/saldata.hxx b/vcl/inc/win/saldata.hxx
index 5b0e638c3c00..0f3e05b8f31a 100644
--- a/vcl/inc/win/saldata.hxx
+++ b/vcl/inc/win/saldata.hxx
@@ -196,8 +196,8 @@ int ImplSalWICompareAscii( const wchar_t* pStr1, const char* pStr2 );
#define SAL_TMPSUBFRAME_CLASSNAMEW L"SALTMPSUBFRAME"
#define SAL_OBJECT_WNDEXTRA sizeof( DWORD )
#define SAL_OBJECT_THIS GWLP_USERDATA
-#define SAL_OBJECT_CLASSNAMEA "SALOBJECT"
-#define SAL_OBJECT_CHILDCLASSNAMEA "SALOBJECTCHILD"
+#define SAL_OBJECT_CLASSNAMEW L"SALOBJECT"
+#define SAL_OBJECT_CHILDCLASSNAMEW L"SALOBJECTCHILD"
#define SAL_COM_CLASSNAMEW L"SALCOMWND"
#define SAL_MOUSELEAVE_TIMEOUT 300
@@ -273,7 +273,7 @@ int ImplSalWICompareAscii( const wchar_t* pStr1, const char* pStr2 );
inline void SetWindowPtr( HWND hWnd, WinSalFrame* pThis )
{
- SetWindowLongPtr( hWnd, SAL_FRAME_THIS, reinterpret_cast<LONG_PTR>(pThis) );
+ SetWindowLongPtrW( hWnd, SAL_FRAME_THIS, reinterpret_cast<LONG_PTR>(pThis) );
}
inline WinSalFrame* GetWindowPtr( HWND hWnd )
@@ -283,12 +283,12 @@ inline WinSalFrame* GetWindowPtr( HWND hWnd )
inline void SetSalObjWindowPtr( HWND hWnd, WinSalObject* pThis )
{
- SetWindowLongPtr( hWnd, SAL_OBJECT_THIS, reinterpret_cast<LONG_PTR>(pThis) );
+ SetWindowLongPtrW( hWnd, SAL_OBJECT_THIS, reinterpret_cast<LONG_PTR>(pThis) );
}
inline WinSalObject* GetSalObjWindowPtr( HWND hWnd )
{
- return reinterpret_cast<WinSalObject*>(GetWindowLongPtr( hWnd, SAL_OBJECT_THIS ));
+ return reinterpret_cast<WinSalObject*>(GetWindowLongPtrW( hWnd, SAL_OBJECT_THIS ));
}
#endif // INCLUDED_VCL_INC_WIN_SALDATA_HXX
diff --git a/vcl/inc/win/wincomp.hxx b/vcl/inc/win/wincomp.hxx
index 8fd774fc6eb1..4a436fbd309d 100644
--- a/vcl/inc/win/wincomp.hxx
+++ b/vcl/inc/win/wincomp.hxx
@@ -97,22 +97,22 @@ inline void DeletePalette( HPALETTE hPalette )
inline void SetWindowStyle( HWND hWnd, DWORD nStyle )
{
- SetWindowLong( hWnd, GWL_STYLE, nStyle );
+ SetWindowLongPtrW( hWnd, GWL_STYLE, nStyle );
}
inline DWORD GetWindowStyle( HWND hWnd )
{
- return GetWindowLong( hWnd, GWL_STYLE );
+ return GetWindowLongPtrW( hWnd, GWL_STYLE );
}
inline void SetWindowExStyle( HWND hWnd, DWORD nStyle )
{
- SetWindowLong( hWnd, GWL_EXSTYLE, nStyle );
+ SetWindowLongPtrW( hWnd, GWL_EXSTYLE, nStyle );
}
inline DWORD GetWindowExStyle( HWND hWnd )
{
- return GetWindowLong( hWnd, GWL_EXSTYLE );
+ return GetWindowLongPtrW( hWnd, GWL_EXSTYLE );
}
inline BOOL IsMinimized( HWND hWnd )
@@ -127,12 +127,12 @@ inline BOOL IsMaximized( HWND hWnd )
inline void SetWindowFont( HWND hWnd, HFONT hFont, BOOL bRedraw )
{
- SendMessage( hWnd, WM_SETFONT, reinterpret_cast<WPARAM>(hFont), MAKELPARAM((UINT)bRedraw,0) );
+ SendMessageW( hWnd, WM_SETFONT, reinterpret_cast<WPARAM>(hFont), MAKELPARAM((UINT)bRedraw,0) );
}
inline HFONT GetWindowFont( HWND hWnd )
{
- return reinterpret_cast<HFONT>(SendMessage( hWnd, WM_GETFONT, 0, 0 ));
+ return reinterpret_cast<HFONT>(SendMessageW( hWnd, WM_GETFONT, 0, 0 ));
}
inline void SetClassCursor( HWND hWnd, HCURSOR hCursor )
@@ -167,17 +167,17 @@ inline HBRUSH GetClassBrush( HWND hWnd )
inline HINSTANCE GetWindowInstance( HWND hWnd )
{
- return reinterpret_cast<HINSTANCE>(GetWindowLongPtr( hWnd, GWLP_HINSTANCE ));
+ return reinterpret_cast<HINSTANCE>(GetWindowLongPtrW( hWnd, GWLP_HINSTANCE ));
}
-#define MOUSEZ_CLASSNAME "MouseZ" // wheel window class
-#define MOUSEZ_TITLE "Magellan MSWHEEL" // wheel window title
+#define MOUSEZ_CLASSNAME L"MouseZ" // wheel window class
+#define MOUSEZ_TITLE L"Magellan MSWHEEL" // wheel window title
#define MSH_WHEELMODULE_CLASS (MOUSEZ_CLASSNAME)
#define MSH_WHEELMODULE_TITLE (MOUSEZ_TITLE)
-#define MSH_SCROLL_LINES "MSH_SCROLL_LINES_MSG"
+#define MSH_SCROLL_LINES L"MSH_SCROLL_LINES_MSG"
#ifndef WHEEL_DELTA
#define WHEEL_DELTA 120
diff --git a/vcl/opengl/win/gdiimpl.cxx b/vcl/opengl/win/gdiimpl.cxx
index d81c37283983..0d2a0c0a8f0c 100644
--- a/vcl/opengl/win/gdiimpl.cxx
+++ b/vcl/opengl/win/gdiimpl.cxx
@@ -183,7 +183,7 @@ static LRESULT CALLBACK WndProc(HWND hwnd, UINT message, WPARAM wParam, LPARAM l
case WM_DESTROY:
return 0;
default:
- return DefWindowProc(hwnd, message, wParam, lParam);
+ return DefWindowProcW(hwnd, message, wParam, lParam);
}
}
@@ -193,7 +193,7 @@ bool InitTempWindow(HWND& hwnd, int width, int height, const PIXELFORMATDESCRIPT
PIXELFORMATDESCRIPTOR pfd = inPfd;
int ret;
- WNDCLASS wc;
+ WNDCLASSW wc;
wc.style = 0;
wc.lpfnWndProc = WndProc;
wc.cbClsExtra = wc.cbWndExtra = 0;
@@ -202,9 +202,9 @@ bool InitTempWindow(HWND& hwnd, int width, int height, const PIXELFORMATDESCRIPT
wc.hCursor = nullptr;
wc.hbrBackground = nullptr;
wc.lpszMenuName = nullptr;
- wc.lpszClassName = "GLRenderer";
- RegisterClass(&wc);
- hwnd = CreateWindow(wc.lpszClassName, nullptr, WS_DISABLED, 0, 0, width, height, nullptr, nullptr, wc.hInstance, nullptr);
+ wc.lpszClassName = L"GLRenderer";
+ RegisterClassW(&wc);
+ hwnd = CreateWindowW(wc.lpszClassName, nullptr, WS_DISABLED, 0, 0, width, height, nullptr, nullptr, wc.hInstance, nullptr);
glWin.hDC = GetDC(hwnd);
int nPixelFormat = ChoosePixelFormat(glWin.hDC, &pfd);
diff --git a/vcl/source/app/settings.cxx b/vcl/source/app/settings.cxx
index 95b3a2a2de22..ebf5cb50104c 100644
--- a/vcl/source/app/settings.cxx
+++ b/vcl/source/app/settings.cxx
@@ -2445,21 +2445,21 @@ bool MiscSettings::GetEnableATToolSupport() const
// be activated ..
HKEY hkey;
- if( ERROR_SUCCESS == RegOpenKey(HKEY_CURRENT_USER,
- "Software\\LibreOffice\\Accessibility\\AtToolSupport",
+ if( ERROR_SUCCESS == RegOpenKeyW(HKEY_CURRENT_USER,
+ L"Software\\LibreOffice\\Accessibility\\AtToolSupport",
&hkey) )
{
DWORD dwType;
- sal_uInt8 Data[6]; // possible values: "true", "false", "1", "0", DWORD
+ wchar_t Data[6]; // possible values: "true", "false", "1", "0", DWORD
DWORD cbData = sizeof(Data);
- if( ERROR_SUCCESS == RegQueryValueEx(hkey, "SupportAssistiveTechnology",
- nullptr, &dwType, Data, &cbData) )
+ if( ERROR_SUCCESS == RegQueryValueExW(hkey, L"SupportAssistiveTechnology",
+ nullptr, &dwType, reinterpret_cast<LPBYTE>(Data), &cbData) )
{
switch (dwType)
{
case REG_SZ:
- mxData->mnEnableATT = ((0 == stricmp(reinterpret_cast<const char *>(Data), "1")) || (0 == stricmp(reinterpret_cast<const char *>(Data), "true"))) ? TRISTATE_TRUE : TRISTATE_FALSE;
+ mxData->mnEnableATT = ((0 == wcsicmp(Data, L"1")) || (0 == wcsicmp(Data, L"true"))) ? TRISTATE_TRUE : TRISTATE_FALSE;
break;
case REG_DWORD:
switch (reinterpret_cast<DWORD *>(Data)[0]) {
@@ -2517,29 +2517,29 @@ void MiscSettings::SetEnableATToolSupport( bool bEnable )
HKEY hkey;
// If the accessibility key in the Windows registry exists, change it synchronously
- if( ERROR_SUCCESS == RegOpenKey(HKEY_CURRENT_USER,
- "Software\\LibreOffice\\Accessibility\\AtToolSupport",
+ if( ERROR_SUCCESS == RegOpenKeyW(HKEY_CURRENT_USER,
+ L"Software\\LibreOffice\\Accessibility\\AtToolSupport",
&hkey) )
{
DWORD dwType;
- sal_uInt8 Data[6]; // possible values: "true", "false", 1, 0
+ wchar_t Data[6]; // possible values: "true", "false", 1, 0
DWORD cbData = sizeof(Data);
- if( ERROR_SUCCESS == RegQueryValueEx(hkey, "SupportAssistiveTechnology",
- nullptr, &dwType, Data, &cbData) )
+ if( ERROR_SUCCESS == RegQueryValueExW(hkey, L"SupportAssistiveTechnology",
+ nullptr, &dwType, reinterpret_cast<LPBYTE>(Data), &cbData) )
{
switch (dwType)
{
case REG_SZ:
- RegSetValueEx(hkey, "SupportAssistiveTechnology",
+ RegSetValueExW(hkey, L"SupportAssistiveTechnology",
0, dwType,
- reinterpret_cast<sal_uInt8 const *>(bEnable ? "true" : "false"),
- bEnable ? sizeof("true") : sizeof("false"));
+ reinterpret_cast<const BYTE*>(bEnable ? L"true" : L"false"),
+ bEnable ? sizeof(L"true") : sizeof(L"false"));
break;
case REG_DWORD:
reinterpret_cast<DWORD *>(Data)[0] = bEnable ? 1 : 0;
- RegSetValueEx(hkey, "SupportAssistiveTechnology",
- 0, dwType, Data, sizeof(DWORD));
+ RegSetValueExW(hkey, L"SupportAssistiveTechnology",
+ 0, dwType, reinterpret_cast<const BYTE*>(Data), sizeof(DWORD));
break;
default:
// Unsupported registry type
diff --git a/vcl/source/window/toolbox.cxx b/vcl/source/window/toolbox.cxx
index 70d031d4ee69..45099edbefe0 100644
--- a/vcl/source/window/toolbox.cxx
+++ b/vcl/source/window/toolbox.cxx
@@ -5130,19 +5130,19 @@ void ToolBox::ImplDisableFlatButtons()
bInit = true;
HKEY hkey;
- if( ERROR_SUCCESS == RegOpenKey(HKEY_CURRENT_USER, "Software\\LibreOffice\\Accessibility\\AtToolSupport", &hkey) )
+ if( ERROR_SUCCESS == RegOpenKeyW(HKEY_CURRENT_USER, L"Software\\LibreOffice\\Accessibility\\AtToolSupport", &hkey) )
{
DWORD dwType = 0;
- sal_uInt8 Data[6]; // possible values: "true", "false", "1", "0", DWORD
+ wchar_t Data[6]; // possible values: "true", "false", "1", "0", DWORD
DWORD cbData = sizeof(Data);
- if( ERROR_SUCCESS == RegQueryValueEx(hkey, "DisableFlatToolboxButtons",
- nullptr, &dwType, Data, &cbData) )
+ if( ERROR_SUCCESS == RegQueryValueExW(hkey, L"DisableFlatToolboxButtons",
+ nullptr, &dwType, reinterpret_cast<LPBYTE>(Data), &cbData) )
{
switch (dwType)
{
case REG_SZ:
- bValue = ((0 == stricmp(reinterpret_cast<const char *>(Data), "1")) || (0 == stricmp(reinterpret_cast<const char *>(Data), "true")));
+ bValue = ((0 == wcsicmp(Data, L"1")) || (0 == wcsicmp(Data, L"true")));
break;
case REG_DWORD:
bValue = (bool)(reinterpret_cast<DWORD *>(Data)[0]);
diff --git a/vcl/win/app/salinfo.cxx b/vcl/win/app/salinfo.cxx
index 815582c8e2a5..c96f80862b53 100644
--- a/vcl/win/app/salinfo.cxx
+++ b/vcl/win/app/salinfo.cxx
@@ -59,7 +59,7 @@ bool WinSalSystem::handleMonitorCallback( sal_IntPtr hMonitor, sal_IntPtr, sal_I
if( GetMonitorInfoW( reinterpret_cast<HMONITOR>(hMonitor), &aInfo ) )
{
aInfo.szDevice[CCHDEVICENAME-1] = 0;
- OUString aDeviceName( reinterpret_cast<const sal_Unicode *>(aInfo.szDevice) );
+ OUString aDeviceName( SAL_U(aInfo.szDevice) );
std::map< OUString, unsigned int >::const_iterator it =
m_aDeviceNameToMonitor.find( aDeviceName );
if( it != m_aDeviceNameToMonitor.end() )
@@ -110,8 +110,8 @@ bool WinSalSystem::initMonitors()
{
aDev.DeviceName[31] = 0;
aDev.DeviceString[127] = 0;
- OUString aDeviceName( reinterpret_cast<const sal_Unicode *>(aDev.DeviceName) );
- OUString aDeviceString( reinterpret_cast<const sal_Unicode *>(aDev.DeviceString) );
+ OUString aDeviceName( SAL_U(aDev.DeviceName) );
+ OUString aDeviceString( SAL_U(aDev.DeviceString) );
if( aDeviceStringCount.find( aDeviceString ) == aDeviceStringCount.end() )
aDeviceStringCount[ aDeviceString ] = 1;
else
@@ -169,8 +169,8 @@ int WinSalSystem::ShowNativeMessageBox(const OUString& rTitle, const OUString& r
ImplHideSplash();
return MessageBoxW(
nullptr,
- reinterpret_cast<LPCWSTR>(rMessage.getStr()),
- reinterpret_cast<LPCWSTR>(rTitle.getStr()),
+ SAL_W(rMessage.getStr()),
+ SAL_W(rTitle.getStr()),
MB_TASKMODAL | MB_SETFOREGROUND | MB_ICONWARNING | MB_DEFBUTTON1);
}
diff --git a/vcl/win/app/salinst.cxx b/vcl/win/app/salinst.cxx
index 437e8b594c65..faa5bd3776e4 100644
--- a/vcl/win/app/salinst.cxx
+++ b/vcl/win/app/salinst.cxx
@@ -88,7 +88,7 @@ void SalAbort( const OUString& rErrorText, bool )
CrashReporter::AddKeyValue("AbortMessage", rErrorText);
// make sure crash reporter is triggered
RaiseException( 0, EXCEPTION_NONCONTINUABLE, 0, nullptr );
- FatalAppExitW( 0, reinterpret_cast<LPCWSTR>(rErrorText.getStr()) );
+ FatalAppExitW( 0, SAL_W(rErrorText.getStr()) );
}
}
@@ -228,27 +228,27 @@ void SalData::initKeyCodeMap()
{
UINT nKey;
#define initKey( a, b )\
- nKey = LOWORD( VkKeyScan( a ) );\
+ nKey = LOWORD( VkKeyScanW( a ) );\
if( nKey < 0xffff )\
maVKMap[ nKey ] = b;
maVKMap.clear();
- initKey( '+', KEY_ADD );
- initKey( '-', KEY_SUBTRACT );
- initKey( '*', KEY_MULTIPLY );
- initKey( '/', KEY_DIVIDE );
- initKey( '.', KEY_POINT );
- initKey( ',', KEY_COMMA );
- initKey( '<', KEY_LESS );
- initKey( '>', KEY_GREATER );
- initKey( '=', KEY_EQUAL );
- initKey( '~', KEY_TILDE );
- initKey( '`', KEY_QUOTELEFT );
- initKey( '[', KEY_BRACKETLEFT );
- initKey( ']', KEY_BRACKETRIGHT );
- initKey( ';', KEY_SEMICOLON );
- initKey( '\'', KEY_QUOTERIGHT );
+ initKey( L'+', KEY_ADD );
+ initKey( L'-', KEY_SUBTRACT );
+ initKey( L'*', KEY_MULTIPLY );
+ initKey( L'/', KEY_DIVIDE );
+ initKey( L'.', KEY_POINT );
+ initKey( L',', KEY_COMMA );
+ initKey( L'<', KEY_LESS );
+ initKey( L'>', KEY_GREATER );
+ initKey( L'=', KEY_EQUAL );
+ initKey( L'~', KEY_TILDE );
+ initKey( L'`', KEY_QUOTELEFT );
+ initKey( L'[', KEY_BRACKETLEFT );
+ initKey( L']', KEY_BRACKETRIGHT );
+ initKey( L';', KEY_SEMICOLON );
+ initKey( L'\'', KEY_QUOTERIGHT );
}
// SalData
@@ -344,11 +344,11 @@ void InitSalMain()
SalData* pData = GetSalData();
if ( pData ) // Im AppServer NULL
{
- STARTUPINFO aSI;
+ STARTUPINFOW aSI;
aSI.cb = sizeof( aSI );
- GetStartupInfo( &aSI );
- pData->mhInst = GetModuleHandle( nullptr );
- pData->mnCmdShow = aSI.wShowWindow;
+ GetStartupInfoW( &aSI );
+ pData->mhInst = GetModuleHandleW( nullptr );
+ pData->mnCmdShow = aSI.wShowWindow;
}
}
diff --git a/vcl/win/app/salshl.cxx b/vcl/win/app/salshl.cxx
index 5fd1959b228d..1cd38e05abeb 100644
--- a/vcl/win/app/salshl.cxx
+++ b/vcl/win/app/salshl.cxx
@@ -33,7 +33,7 @@ HCURSOR ImplLoadSalCursor( int nId )
{
SAL_WARN_IF( !aSalShlData.mhInst, "vcl", "no DLL instance handle" );
- HCURSOR hCursor = LoadCursor( aSalShlData.mhInst, MAKEINTRESOURCE( nId ) );
+ HCURSOR hCursor = LoadCursorW( aSalShlData.mhInst, MAKEINTRESOURCEW( nId ) );
SAL_WARN_IF( !hCursor, "vcl", "cursor not found in sal resource" );
@@ -44,7 +44,7 @@ HBITMAP ImplLoadSalBitmap( int nId )
{
SAL_WARN_IF( !aSalShlData.mhInst, "vcl", "no DLL instance handle" );
- HBITMAP hBitmap = LoadBitmap( aSalShlData.mhInst, MAKEINTRESOURCE( nId ) );
+ HBITMAP hBitmap = LoadBitmapW( aSalShlData.mhInst, MAKEINTRESOURCEW( nId ) );
SAL_WARN_IF( !hBitmap, "vcl", "bitmap not found in sal resource" );
@@ -72,19 +72,19 @@ bool ImplLoadSalIcon( int nId, HICON& rIcon, HICON& rSmallIcon )
}
// Try at first to load the icons from the application exe file
- rIcon = static_cast<HICON>(LoadImage( pSalData->mhInst, MAKEINTRESOURCE( nId ),
+ rIcon = static_cast<HICON>(LoadImageW( pSalData->mhInst, MAKEINTRESOURCEW( nId ),
IMAGE_ICON, GetSystemMetrics( SM_CXICON ), GetSystemMetrics( SM_CYICON ),
LR_DEFAULTCOLOR ));
if ( !rIcon )
{
// If the application don't provide these icons, then we try
// to load the icon from the VCL resource
- rIcon = static_cast<HICON>(LoadImage( aSalShlData.mhInst, MAKEINTRESOURCE( nId ),
+ rIcon = static_cast<HICON>(LoadImageW( aSalShlData.mhInst, MAKEINTRESOURCEW( nId ),
IMAGE_ICON, GetSystemMetrics( SM_CXICON ), GetSystemMetrics( SM_CYICON ),
LR_DEFAULTCOLOR ));
if ( rIcon )
{
- rSmallIcon = static_cast<HICON>(LoadImage( aSalShlData.mhInst, MAKEINTRESOURCE( nId ),
+ rSmallIcon = static_cast<HICON>(LoadImageW( aSalShlData.mhInst, MAKEINTRESOURCEW( nId ),
IMAGE_ICON, GetSystemMetrics( SM_CXSMICON ), GetSystemMetrics( SM_CYSMICON ),
LR_DEFAULTCOLOR ));
}
@@ -93,7 +93,7 @@ bool ImplLoadSalIcon( int nId, HICON& rIcon, HICON& rSmallIcon )
}
else
{
- rSmallIcon = static_cast<HICON>(LoadImage( pSalData->mhInst, MAKEINTRESOURCE( nId ),
+ rSmallIcon = static_cast<HICON>(LoadImageW( pSalData->mhInst, MAKEINTRESOURCEW( nId ),
IMAGE_ICON, GetSystemMetrics( SM_CXSMICON ), GetSystemMetrics( SM_CYSMICON ),
LR_DEFAULTCOLOR ));
}
diff --git a/vcl/win/gdi/DWriteTextRenderer.cxx b/vcl/win/gdi/DWriteTextRenderer.cxx
index e16381040e4a..bd9c012d55fc 100755
--- a/vcl/win/gdi/DWriteTextRenderer.cxx
+++ b/vcl/win/gdi/DWriteTextRenderer.cxx
@@ -37,8 +37,8 @@ D2DWriteTextOutRenderer::pDWriteCreateFactory_t D2DWriteTextOutRenderer::DWriteC
bool D2DWriteTextOutRenderer::InitModules()
{
- mmD2d1 = LoadLibrary("D2d1.dll");
- mmDWrite = LoadLibrary("dwrite.dll");
+ mmD2d1 = LoadLibraryW(L"D2d1.dll");
+ mmDWrite = LoadLibraryW(L"dwrite.dll");
if (mmD2d1 && mmDWrite)
{
D2D1CreateFactory = pD2D1CreateFactory_t(GetProcAddress(mmD2d1, "D2D1CreateFactory"));
@@ -75,7 +75,7 @@ D2DTextAntiAliasMode lclGetSystemTextAntiAliasMode()
D2DTextAntiAliasMode eMode = D2DTextAntiAliasMode::Default;
BOOL bFontSmoothing;
- if (!SystemParametersInfo(SPI_GETFONTSMOOTHING, 0, &bFontSmoothing, 0))
+ if (!SystemParametersInfoW(SPI_GETFONTSMOOTHING, 0, &bFontSmoothing, 0))
return eMode;
if (bFontSmoothing)
@@ -83,7 +83,7 @@ D2DTextAntiAliasMode lclGetSystemTextAntiAliasMode()
eMode = D2DTextAntiAliasMode::AntiAliased;
UINT nType;
- if (SystemParametersInfo(SPI_GETFONTSMOOTHINGTYPE, 0, &nType, 0) && nType == FE_FONTSMOOTHINGCLEARTYPE)
+ if (SystemParametersInfoW(SPI_GETFONTSMOOTHINGTYPE, 0, &nType, 0) && nType == FE_FONTSMOOTHINGCLEARTYPE)
eMode = D2DTextAntiAliasMode::ClearType;
}
else
diff --git a/vcl/win/gdi/salbmp.cxx b/vcl/win/gdi/salbmp.cxx
index fb8fb10d8055..f4d2a578ae64 100644
--- a/vcl/win/gdi/salbmp.cxx
+++ b/vcl/win/gdi/salbmp.cxx
@@ -515,7 +515,7 @@ bool WinSalBitmap::Create( HANDLE hBitmap, bool bDIB, bool bCopyHandle )
{
BITMAP aDDBInfo;
- if( GetObjectA( mhDDB, sizeof( BITMAP ), &aDDBInfo ) )
+ if( GetObjectW( mhDDB, sizeof( aDDBInfo ), &aDDBInfo ) )
{
maSize = Size( aDDBInfo.bmWidth, aDDBInfo.bmHeight );
mnBitCount = aDDBInfo.bmPlanes * aDDBInfo.bmBitsPixel;
@@ -610,7 +610,7 @@ bool WinSalBitmap::Create( const SalBitmap& rSSalBmp, SalGraphics* pSGraphics )
GlobalUnlock( rSalBmp.mhDIB );
- if( hNewDDB && GetObjectA( hNewDDB, sizeof( BITMAP ), &aDDBInfo ) )
+ if( hNewDDB && GetObjectW( hNewDDB, sizeof( aDDBInfo ), &aDDBInfo ) )
{
mhDDB = hNewDDB;
maSize = Size( aDDBInfo.bmWidth, aDDBInfo.bmHeight );
@@ -797,7 +797,7 @@ HANDLE WinSalBitmap::ImplCopyDIBOrDDB( HANDLE hHdl, bool bDIB )
BITMAP aBmp;
// find out size of source bitmap
- GetObjectA( hHdl, sizeof( BITMAP ), &aBmp );
+ GetObjectW( hHdl, sizeof( aBmp ), &aBmp );
// create destination bitmap
if ( (hCopy = CreateBitmapIndirect( &aBmp )) != nullptr )
diff --git a/vcl/win/gdi/salfont.cxx b/vcl/win/gdi/salfont.cxx
index f46ace4070a5..70ad1e908152 100644
--- a/vcl/win/gdi/salfont.cxx
+++ b/vcl/win/gdi/salfont.cxx
@@ -527,7 +527,7 @@ static FontAttributes WinFont2DevFontAttributes( const ENUMLOGFONTEXW& rEnumFont
aDFA.SetSymbolFlag(rLogFont.lfCharSet == SYMBOL_CHARSET);
// get the font face name
- aDFA.SetFamilyName(OUString(reinterpret_cast<const sal_Unicode*>(rLogFont.lfFaceName)));
+ aDFA.SetFamilyName(SAL_U(rLogFont.lfFaceName));
// use the face's style name only if it looks reasonable
const wchar_t* pStyleName = rEnumFont.elfStyle;
@@ -537,7 +537,7 @@ static FontAttributes WinFont2DevFontAttributes( const ENUMLOGFONTEXW& rEnumFont
if( *p < 0x0020 )
break;
if( p < pEnd )
- aDFA.SetStyleName(OUString(reinterpret_cast<const sal_Unicode*>(pStyleName)));
+ aDFA.SetStyleName(SAL_U(pStyleName));
// heuristics for font quality
// - opentypeTT > truetype
@@ -571,7 +571,7 @@ static WinFontFace* ImplLogMetricToDevFontDataW( const ENUMLOGFONTEXW* pLogFont,
void ImplSalLogFontToFontW( HDC hDC, const LOGFONTW& rLogFont, Font& rFont )
{
- OUString aFontName( reinterpret_cast<const sal_Unicode*>(rLogFont.lfFaceName) );
+ OUString aFontName( SAL_U(rLogFont.lfFaceName) );
if (!aFontName.isEmpty())
{
rFont.SetFamilyName( aFontName );
@@ -944,8 +944,8 @@ void WinSalGraphics::GetFontMetric( ImplFontMetricDataRef& rxFontMetric, int nFa
HFONT hOldFont = SelectFont( getHDC(), mhFonts[nFallbackLevel] );
wchar_t aFaceName[LF_FACESIZE+60];
- if( ::GetTextFaceW( getHDC(), sizeof(aFaceName)/sizeof(wchar_t), aFaceName ) )
- rxFontMetric->SetFamilyName(OUString(reinterpret_cast<const sal_Unicode*>(aFaceName)));
+ if( GetTextFaceW( getHDC(), SAL_N_ELEMENTS(aFaceName), aFaceName ) )
+ rxFontMetric->SetFamilyName(SAL_U(aFaceName));
const DWORD nHheaTag = CalcTag("hhea");
const DWORD nOS2Tag = CalcTag("OS/2");
@@ -964,7 +964,7 @@ void WinSalGraphics::GetFontMetric( ImplFontMetricDataRef& rxFontMetric, int nFa
// get the font metric
OUTLINETEXTMETRICW aOutlineMetric;
- const bool bOK = GetOutlineTextMetricsW(getHDC(), sizeof(OUTLINETEXTMETRICW), &aOutlineMetric);
+ const bool bOK = GetOutlineTextMetricsW(getHDC(), sizeof(aOutlineMetric), &aOutlineMetric);
// restore the HDC to the font in the base level
SelectFont( getHDC(), hOldFont );
if( !bOK )
@@ -1019,7 +1019,7 @@ int CALLBACK SalEnumFontsProcExW( const LOGFONTW* lpelfe,
// Ignore vertical fonts
if ( pLogFont->elfLogFont.lfFaceName[0] != '@' )
{
- OUString aName = OUString(reinterpret_cast<const sal_Unicode*>(pLogFont->elfLogFont.lfFaceName));
+ OUString aName = SAL_U(pLogFont->elfLogFont.lfFaceName);
pInfo->mpName = &aName;
memcpy(pInfo->mpLogFont->lfFaceName, pLogFont->elfLogFont.lfFaceName, (aName.getLength()+1)*sizeof(wchar_t));
pInfo->mpLogFont->lfCharSet = pLogFont->elfLogFont.lfCharSet;
@@ -1062,7 +1062,7 @@ int CALLBACK SalEnumFontsProcExW( const LOGFONTW* lpelfe,
struct TempFontItem
{
OUString maFontFilePath;
- OString maResourcePath;
+ OUString maResourcePath;
TempFontItem* mpNextItem;
};
@@ -1072,35 +1072,33 @@ bool ImplAddTempFont( SalData& rSalData, const OUString& rFontFileURL )
OUString aUSytemPath;
OSL_VERIFY( !osl::FileBase::getSystemPathFromFileURL( rFontFileURL, aUSytemPath ) );
- nRet = AddFontResourceExW( reinterpret_cast<LPCWSTR>(aUSytemPath.getStr()), FR_PRIVATE, nullptr );
+ nRet = AddFontResourceExW( SAL_W(aUSytemPath.getStr()), FR_PRIVATE, nullptr );
if ( !nRet )
{
static int nCounter = 0;
- char aFileName[] = "soAA.fot";
- aFileName[2] = sal::static_int_cast<char>('A' + (15 & (nCounter>>4)));
- aFileName[3] = sal::static_int_cast<char>('A' + (15 & nCounter));
- char aResourceName[512];
- int const nMaxLen = sizeof(aResourceName)/sizeof(*aResourceName) - 16;
- int nLen = ::GetTempPathA( nMaxLen, aResourceName );
- ::strncpy( aResourceName + nLen, aFileName, sizeof( aResourceName )- nLen );
+ wchar_t aFileName[] = L"soAA.fot";
+ aFileName[2] = sal::static_int_cast<wchar_t>(L'A' + (15 & (nCounter>>4)));
+ aFileName[3] = sal::static_int_cast<wchar_t>(L'A' + (15 & nCounter));
+ wchar_t aResourceName[512];
+ int const nMaxLen = SAL_N_ELEMENTS(aResourceName) - 16;
+ int nLen = GetTempPathW( nMaxLen, aResourceName );
+ wcsncpy( aResourceName + nLen, aFileName, SAL_N_ELEMENTS( aResourceName ) - nLen );
// security: end buffer in any case
- aResourceName[ (sizeof(aResourceName)/sizeof(*aResourceName))-1 ] = 0;
- ::DeleteFileA( aResourceName );
+ aResourceName[ SAL_N_ELEMENTS(aResourceName)-1 ] = 0;
+ DeleteFileW( aResourceName );
- rtl_TextEncoding theEncoding = osl_getThreadTextEncoding();
- OString aCFileName = OUStringToOString( aUSytemPath, theEncoding );
// TODO: font should be private => need to investigate why it doesn't work then
- if( !::CreateScalableFontResourceA( 0, aResourceName, aCFileName.getStr(), nullptr ) )
+ if( !CreateScalableFontResourceW( 0, aResourceName, SAL_W(aUSytemPath.getStr()), nullptr ) )
return false;
++nCounter;
- nRet = ::AddFontResourceA( aResourceName );
+ nRet = AddFontResourceW( aResourceName );
if( nRet > 0 )
{
TempFontItem* pNewItem = new TempFontItem;
- pNewItem->maResourcePath = OString( aResourceName );
- pNewItem->maFontFilePath = aUSytemPath.getStr();
+ pNewItem->maResourcePath = SAL_U( aResourceName );
+ pNewItem->maFontFilePath = aUSytemPath;
pNewItem->mpNextItem = rSalData.mpTempFontItem;
rSalData.mpTempFontItem = pNewItem;
}
@@ -1117,13 +1115,13 @@ void ImplReleaseTempFonts( SalData& rSalData )
++nCount;
if( p->maResourcePath.getLength() )
{
- const char* pResourcePath = p->maResourcePath.getStr();
- ::RemoveFontResourceA( pResourcePath );
- ::DeleteFileA( pResourcePath );
+ const wchar_t* pResourcePath = SAL_W(p->maResourcePath.getStr());
+ RemoveFontResourceW( pResourcePath );
+ DeleteFileW( pResourcePath );
}
else
{
- ::RemoveFontResourceW( reinterpret_cast<LPCWSTR>(p->maFontFilePath.getStr()) );
+ RemoveFontResourceW( SAL_W(p->maFontFilePath.getStr()) );
}
rSalData.mpTempFontItem = p->mpNextItem;
@@ -1147,19 +1145,17 @@ static bool ImplGetFontAttrFromFile( const OUString& rFontFileURL,
rDFA.SetPitch(PITCH_DONTKNOW);
// Create temporary file name
- char aResourceName[512];
- int nMaxLen = sizeof(aResourceName)/sizeof(*aResourceName) - 16;
- int nLen = ::GetTempPathA( nMaxLen, aResourceName );
- ::strncpy( aResourceName + nLen, "soAAT.fot", std::max( 0, nMaxLen - nLen ));
- ::DeleteFileA( aResourceName );
+ wchar_t aResourceName[512];
+ int nMaxLen = SAL_N_ELEMENTS(aResourceName) - 16;
+ int nLen = GetTempPathW( nMaxLen, aResourceName );
+ wcsncpy( aResourceName + nLen, L"soAAT.fot", std::max( 0, nMaxLen - nLen ));
+ DeleteFileW( aResourceName );
// Create font resource file (typically with a .fot file name extension).
- rtl_TextEncoding theEncoding = osl_getThreadTextEncoding();
- OString aCFileName = OUStringToOString( aUSytemPath, theEncoding );
- ::CreateScalableFontResourceA( 0, aResourceName, aCFileName.getStr(), nullptr );
+ CreateScalableFontResourceW( 0, aResourceName, SAL_W(aUSytemPath.getStr()), nullptr );
// Open and read the font resource file
- OUString aFotFileName = OStringToOUString( aResourceName, osl_getThreadTextEncoding() );
+ OUString aFotFileName = SAL_U( aResourceName );
osl::FileBase::getFileURLFromSystemPath( aFotFileName, aFotFileName );
osl::File aFotFile( aFotFileName );
osl::FileBase::RC aError = aFotFile.open( osl_File_OpenFlag_Read );
@@ -1171,7 +1167,7 @@ static bool ImplGetFontAttrFromFile( const OUString& rFontFileURL,
aFotFile.read( aBuffer, sizeof( aBuffer ), nBytesRead );
// clean up temporary resource file
aFotFile.close();
- ::DeleteFileA( aResourceName );
+ DeleteFileW( aResourceName );
// retrieve font family name from byte offset 0x4F6
sal_uInt64 i = 0x4F6;
@@ -1608,8 +1604,8 @@ bool WinSalGraphics::CreateFontSubset( const OUString& rToFile,
#if OSL_DEBUG_LEVEL > 1
// get font metrics
- TEXTMETRICA aWinMetric;
- if( !::GetTextMetricsA( getHDC(), &aWinMetric ) )
+ TEXTMETRICW aWinMetric;
+ if( !::GetTextMetricsW( getHDC(), &aWinMetric ) )
return FALSE;
SAL_WARN_IF( (aWinMetric.tmPitchAndFamily & TMPF_DEVICE), "vcl", "cannot subset device font" );
diff --git a/vcl/win/gdi/salnativewidgets-luna.cxx b/vcl/win/gdi/salnativewidgets-luna.cxx
index 3cb1b341f418..22ed3bf1262a 100644
--- a/vcl/win/gdi/salnativewidgets-luna.cxx
+++ b/vcl/win/gdi/salnativewidgets-luna.cxx
@@ -351,7 +351,7 @@ bool ImplDrawTheme( HTHEME hTheme, HDC hDC, int iPart, int iState, RECT rc, cons
RECT rcContent;
hr = vsAPI.GetThemeBackgroundContentRect( hTheme, hDC, iPart, iState, &rc, &rcContent);
hr = vsAPI.DrawThemeText( hTheme, hDC, iPart, iState,
- reinterpret_cast<LPCWSTR>(aStr.getStr()), -1,
+ SAL_W(aStr.getStr()), -1,
DT_CENTER | DT_VCENTER | DT_SINGLELINE,
0, &rcContent);
}
diff --git a/vcl/win/gdi/salprn.cxx b/vcl/win/gdi/salprn.cxx
index 211a524705d2..008f9a9e5817 100644
--- a/vcl/win/gdi/salprn.cxx
+++ b/vcl/win/gdi/salprn.cxx
@@ -79,8 +79,8 @@ using namespace com::sun::star::uno;
using namespace com::sun::star::lang;
using namespace com::sun::star::ui::dialogs;
-static char aImplWindows[] = "windows";
-static char aImplDevice[] = "device";
+static const wchar_t aImplWindows[] = L"windows";
+static const wchar_t aImplDevice[] = L"device";
static DEVMODEW const * SAL_DEVMODE_W( const ImplJobSetup* pSetupData )
{
@@ -162,7 +162,7 @@ void WinSalInstance::GetPrinterQueueInfo( ImplPrnQueueList* pList )
for ( i = 0; i < nInfoPrn4; i++ )
{
SalPrinterQueueInfo* pInfo = new SalPrinterQueueInfo;
- pInfo->maPrinterName = OUString( reinterpret_cast< const sal_Unicode* >(pWinInfo4[i].pPrinterName) );
+ pInfo->maPrinterName = SAL_U(pWinInfo4[i].pPrinterName);
pInfo->mnStatus = PrintQueueFlags::NONE;
pInfo->mnJobs = 0;
pInfo->mpSysData = nullptr;
@@ -176,7 +176,7 @@ void WinSalInstance::GetPrinterQueueInfo( ImplPrnQueueList* pList )
void WinSalInstance::GetPrinterQueueState( SalPrinterQueueInfo* pInfo )
{
HANDLE hPrinter = nullptr;
- LPWSTR pPrnName = reinterpret_cast<LPWSTR>(const_cast<sal_Unicode*>(pInfo->maPrinterName.getStr()));
+ LPWSTR pPrnName = const_cast<LPWSTR>(SAL_W(pInfo->maPrinterName.getStr()));
if( OpenPrinterW( pPrnName, &hPrinter, nullptr ) )
{
DWORD nBytes = 0;
@@ -187,18 +187,18 @@ void WinSalInstance::GetPrinterQueueState( SalPrinterQueueInfo* pInfo )
if( GetPrinterW( hPrinter, 2, reinterpret_cast<LPBYTE>(pWinInfo2), nBytes, &nBytes ) )
{
if( pWinInfo2->pDriverName )
- pInfo->maDriver = OUString( reinterpret_cast< const sal_Unicode* >(pWinInfo2->pDriverName) );
+ pInfo->maDriver = SAL_U(pWinInfo2->pDriverName);
OUString aPortName;
if ( pWinInfo2->pPortName )
- aPortName = OUString( reinterpret_cast< const sal_Unicode* >(pWinInfo2->pPortName) );
+ aPortName = SAL_U(pWinInfo2->pPortName);
// pLocation can be 0 (the Windows docu doesn't describe this)
if ( pWinInfo2->pLocation && *pWinInfo2->pLocation )
- pInfo->maLocation = OUString( reinterpret_cast< const sal_Unicode* >(pWinInfo2->pLocation) );
+ pInfo->maLocation = SAL_U(pWinInfo2->pLocation);
else
pInfo->maLocation = aPortName;
// pComment can be 0 (the Windows docu doesn't describe this)
if ( pWinInfo2->pComment )
- pInfo->maComment = OUString( reinterpret_cast< const sal_Unicode* >(pWinInfo2->pComment) );
+ pInfo->maComment = SAL_U(pWinInfo2->pComment);
pInfo->mnStatus = ImplWinQueueStatusToSal( pWinInfo2->Status );
pInfo->mnJobs = pWinInfo2->cJobs;
if( ! pInfo->mpSysData )
@@ -226,7 +226,7 @@ OUString WinSalInstance::GetDefaultPrinter()
OUString aDefPrt;
if( GetDefaultPrinterW( pStr, &nChars ) )
{
- aDefPrt = OUString(reinterpret_cast<sal_Unicode* >(pStr));
+ aDefPrt = SAL_U(pStr);
}
rtl_freeMemory( pStr );
if( !aDefPrt.isEmpty() )
@@ -234,16 +234,16 @@ OUString WinSalInstance::GetDefaultPrinter()
}
// get default printer from win.ini
- char szBuffer[256];
- GetProfileStringA( aImplWindows, aImplDevice, "", szBuffer, sizeof( szBuffer ) );
+ wchar_t szBuffer[256];
+ GetProfileStringW( aImplWindows, aImplDevice, L"", szBuffer, SAL_N_ELEMENTS( szBuffer ) );
if ( szBuffer[0] )
{
// search for printer name
- char* pBuf = szBuffer;
- char* pTmp = pBuf;
+ wchar_t* pBuf = szBuffer;
+ wchar_t* pTmp = pBuf;
while ( *pTmp && (*pTmp != ',') )
pTmp++;
- return ImplSalGetUniString( pBuf, static_cast<sal_Int32>(pTmp-pBuf) );
+ return OUString( SAL_U(pBuf), static_cast<sal_Int32>(pTmp-pBuf) );
}
else
return OUString();
@@ -258,8 +258,8 @@ static DWORD ImplDeviceCaps( WinSalInfoPrinter const * pPrinter, WORD nCaps,
else
pDevMode = SAL_DEVMODE_W( pSetupData );
- return DeviceCapabilitiesW( reinterpret_cast<LPCWSTR>(pPrinter->maDeviceName.getStr()),
- reinterpret_cast<LPCWSTR>(pPrinter->maPortName.getStr()),
+ return DeviceCapabilitiesW( SAL_W(pPrinter->maDeviceName.getStr()),
+ SAL_W(pPrinter->maPortName.getStr()),
nCaps, reinterpret_cast<LPWSTR>(pOutput), pDevMode );
}
@@ -288,7 +288,7 @@ static bool ImplTestSalJobSetup( WinSalInfoPrinter const * pPrinter,
// can avoid potential driver crashes as their jobsetups are often not compatible
// #110800#, #111151#, #112381#, #i16580#, #i14173# and perhaps #112375#
HANDLE hPrn;
- LPWSTR pPrinterNameW = reinterpret_cast<LPWSTR>(const_cast<sal_Unicode*>(pPrinter->maDeviceName.getStr()));
+ LPWSTR pPrinterNameW = const_cast<LPWSTR>(SAL_W(pPrinter->maDeviceName.getStr()));
if ( !OpenPrinterW( pPrinterNameW, &hPrn, nullptr ) )
return FALSE;
@@ -350,7 +350,7 @@ static bool ImplUpdateSalJobSetup( WinSalInfoPrinter const * pPrinter, ImplJobSe
bool bIn, WinSalFrame* pVisibleDlgParent )
{
HANDLE hPrn;
- LPWSTR pPrinterNameW = reinterpret_cast<LPWSTR>(const_cast<sal_Unicode*>(pPrinter->maDeviceName.getStr()));
+ LPWSTR pPrinterNameW = const_cast<LPWSTR>(SAL_W(pPrinter->maDeviceName.getStr()));
if ( !OpenPrinterW( pPrinterNameW, &hPrn, nullptr ) )
return FALSE;
// #131642# hPrn==HGDI_ERROR even though OpenPrinter() succeeded!
@@ -1023,8 +1023,8 @@ static HDC ImplCreateSalPrnIC( WinSalInfoPrinter const * pPrinter, const ImplJob
memset( pDriverName+pPrinter->maDriverName.getLength(), 0, 32 );
memcpy( pDeviceName, pPrinter->maDeviceName.getStr(), pPrinter->maDeviceName.getLength()*sizeof(sal_Unicode));
memset( pDeviceName+pPrinter->maDeviceName.getLength(), 0, 32 );
- hDC = ImplCreateICW_WithCatch( reinterpret_cast< LPWSTR >(pDriverName),
- reinterpret_cast< LPCWSTR >(pDeviceName),
+ hDC = ImplCreateICW_WithCatch( SAL_W(pDriverName),
+ SAL_W(pDeviceName),
pDevMode );
return hDC;
}
@@ -1438,8 +1438,8 @@ bool WinSalPrinter::StartJob( const OUString* pFileName,
sal_Unicode aDevBuf[4096];
memcpy( aDrvBuf, mpInfoPrinter->maDriverName.getStr(), (mpInfoPrinter->maDriverName.getLength()+1)*sizeof(sal_Unicode));
memcpy( aDevBuf, mpInfoPrinter->maDeviceName.getStr(), (mpInfoPrinter->maDeviceName.getLength()+1)*sizeof(sal_Unicode));
- hDC = CreateDCW( reinterpret_cast<LPCWSTR>(aDrvBuf),
- reinterpret_cast<LPCWSTR>(aDevBuf),
+ hDC = CreateDCW( SAL_W(aDrvBuf),
+ SAL_W(aDevBuf),
nullptr,
pDevModeW );
@@ -1481,7 +1481,6 @@ bool WinSalPrinter::StartJob( const OUString* pFileName,
{
Sequence< OUString > aPathSeq( xFilePicker->getSelectedFiles() );
INetURLObject aObj( aPathSeq[0] );
- // we're using ansi calls (StartDocA) so convert the string
aOutFileName = aObj.PathToFileName();
}
else
diff --git a/vcl/win/gdi/winlayout.cxx b/vcl/win/gdi/winlayout.cxx
index dd32c80ae695..3521bea0796d 100644
--- a/vcl/win/gdi/winlayout.cxx
+++ b/vcl/win/gdi/winlayout.cxx
@@ -253,7 +253,7 @@ bool ExTextOutRenderer::operator ()(CommonSalLayout const &rLayout,
if (rLayout.getFontSelData().mbVertical)
{
LOGFONTW aLogFont;
- GetObjectW(hFont, sizeof(LOGFONTW), &aLogFont);
+ GetObjectW(hFont, sizeof(aLogFont), &aLogFont);
if (aLogFont.lfFaceName[0] == '@')
{
memmove(&aLogFont.lfFaceName[0], &aLogFont.lfFaceName[1],
diff --git a/vcl/win/window/salframe.cxx b/vcl/win/window/salframe.cxx
index 411bb644bfd5..e8a7c5090172 100644
--- a/vcl/win/window/salframe.cxx
+++ b/vcl/win/window/salframe.cxx
@@ -116,7 +116,7 @@ using namespace ::com::sun::star::beans;
# define IDC_PEN MAKEINTRESOURCE(32631)
#endif
-const unsigned int WM_USER_SYSTEM_WINDOW_ACTIVATED = RegisterWindowMessageA("SYSTEM_WINDOW_ACTIVATED");
+const unsigned int WM_USER_SYSTEM_WINDOW_ACTIVATED = RegisterWindowMessageW(L"SYSTEM_WINDOW_ACTIVATED");
bool WinSalFrame::mbInReparent = FALSE;
@@ -227,7 +227,7 @@ void ImplSalGetWorkArea( HWND hWnd, RECT *pRect, const RECT *pParentRect )
pRect->bottom = GetSystemMetrics( SM_CYSCREEN );
}
else
- SystemParametersInfo( SPI_GETWORKAREA, 0, pRect, 0 );
+ SystemParametersInfoW( SPI_GETWORKAREA, 0, pRect, 0 );
}
else
{
@@ -262,7 +262,7 @@ void ImplSalGetWorkArea( HWND hWnd, RECT *pRect, const RECT *pParentRect )
if( !bIgnoreTaskbar )
{
RECT wRect, scrRect;
- SystemParametersInfo( SPI_GETWORKAREA, 0, &wRect, 0 );
+ SystemParametersInfoW( SPI_GETWORKAREA, 0, &wRect, 0 );
scrRect.left = 0;
scrRect.top = 0;
scrRect.right = GetSystemMetrics( SM_CXSCREEN );
@@ -503,8 +503,8 @@ SalFrame* ImplSalCreateFrame( WinSalInstance* pInst,
HWND ImplSalReCreateHWND( HWND hWndParent, HWND oldhWnd, bool bAsChild )
{
HINSTANCE hInstance = GetSalData()->mhInst;
- sal_uLong nSysStyle = GetWindowLong( oldhWnd, GWL_STYLE );
- sal_uLong nExSysStyle = GetWindowLong( oldhWnd, GWL_EXSTYLE );
+ sal_uLong nSysStyle = GetWindowLongW( oldhWnd, GWL_STYLE );
+ sal_uLong nExSysStyle = GetWindowLongW( oldhWnd, GWL_EXSTYLE );
if( bAsChild )
{
@@ -675,15 +675,15 @@ static const sal_uInt16 aImplTranslateKeyTab[KEY_TAB_SIZE] =
static UINT ImplSalGetWheelScrollLines()
{
UINT nScrLines = 0;
- HWND hWndMsWheel = FindWindowA( MSH_WHEELMODULE_CLASS, MSH_WHEELMODULE_TITLE );
+ HWND hWndMsWheel = FindWindowW( MSH_WHEELMODULE_CLASS, MSH_WHEELMODULE_TITLE );
if ( hWndMsWheel )
{
- UINT nGetScrollLinesMsgId = RegisterWindowMessage( MSH_SCROLL_LINES );
+ UINT nGetScrollLinesMsgId = RegisterWindowMessageW( MSH_SCROLL_LINES );
nScrLines = (UINT)SendMessageW( hWndMsWheel, nGetScrollLinesMsgId, 0, 0 );
}
if ( !nScrLines )
- if( !SystemParametersInfo( SPI_GETWHEELSCROLLLINES, 0, &nScrLines, 0 ) )
+ if( !SystemParametersInfoW( SPI_GETWHEELSCROLLLINES, 0, &nScrLines, 0 ) )
nScrLines = 0 ;
if ( !nScrLines )
@@ -695,7 +695,7 @@ static UINT ImplSalGetWheelScrollLines()
static UINT ImplSalGetWheelScrollChars()
{
UINT nScrChars = 0;
- if( !SystemParametersInfo( SPI_GETWHEELSCROLLCHARS, 0, &nScrChars, 0 ) )
+ if( !SystemParametersInfoW( SPI_GETWHEELSCROLLCHARS, 0, &nScrChars, 0 ) )
{
return 3;
}
@@ -1070,7 +1070,7 @@ void WinSalFrame::SetTitle( const OUString& rTitle )
{
static_assert( sizeof( WCHAR ) == sizeof( sal_Unicode ), "must be the same size" );
- SetWindowTextW( mhWnd, reinterpret_cast<LPCWSTR>(rTitle.getStr()) );
+ SetWindowTextW( mhWnd, SAL_W(rTitle.getStr()) );
}
void WinSalFrame::SetIcon( sal_uInt16 nIcon )
@@ -1935,16 +1935,16 @@ void WinSalFrame::StartPresentation( bool bStart )
if ( bStart )
{
// turn off screen-saver when in Presentation mode
- SystemParametersInfo( SPI_GETSCREENSAVEACTIVE, 0,
+ SystemParametersInfoW( SPI_GETSCREENSAVEACTIVE, 0,
&(pSalData->mbScrSvrEnabled), 0 );
if ( pSalData->mbScrSvrEnabled )
- SystemParametersInfo( SPI_SETSCREENSAVEACTIVE, FALSE, nullptr, 0 );
+ SystemParametersInfoW( SPI_SETSCREENSAVEACTIVE, FALSE, nullptr, 0 );
}
else
{
// turn on screen-saver
if ( pSalData->mbScrSvrEnabled )
- SystemParametersInfo( SPI_SETSCREENSAVEACTIVE, pSalData->mbScrSvrEnabled, nullptr, 0 );
+ SystemParametersInfoW( SPI_SETSCREENSAVEACTIVE, pSalData->mbScrSvrEnabled, nullptr, 0 );
}
}
@@ -2031,7 +2031,7 @@ void WinSalFrame::SetPointer( PointerStyle ePointerStyle )
struct ImplPtrData
{
HCURSOR mhCursor;
- LPCSTR mnSysId;
+ LPCTSTR mnSysId;
UINT mnOwnId;
};
@@ -2303,7 +2303,7 @@ static void ImplGetKeyNameText( LONG lParam, sal_Unicode* pBuf,
else
{
nKeyLen = aRet.getLength();
- wcscpy( aKeyBuf, reinterpret_cast< const wchar_t* >( aRet.getStr() ));
+ wcscpy( aKeyBuf, SAL_W( aRet.getStr() ));
}
}
@@ -2344,21 +2344,21 @@ OUString WinSalFrame::GetKeyName( sal_uInt16 nKeyCode )
if ( nKeyCode & KEY_MOD1 )
{
- nSysCode = MapVirtualKey( VK_CONTROL, 0 );
+ nSysCode = MapVirtualKeyW( VK_CONTROL, 0 );
nSysCode = (nSysCode << 16) | (((sal_uLong)1) << 25);
ImplGetKeyNameText( nSysCode, aKeyBuf, nKeyBufLen, nMaxKeyLen, "Ctrl" );
}
if ( nKeyCode & KEY_MOD2 )
{
- nSysCode = MapVirtualKey( VK_MENU, 0 );
+ nSysCode = MapVirtualKeyW( VK_MENU, 0 );
nSysCode = (nSysCode << 16) | (((sal_uLong)1) << 25);
ImplGetKeyNameText( nSysCode, aKeyBuf, nKeyBufLen, nMaxKeyLen, "Alt" );
}
if ( nKeyCode & KEY_SHIFT )
{
- nSysCode = MapVirtualKey( VK_SHIFT, 0 );
+ nSysCode = MapVirtualKeyW( VK_SHIFT, 0 );
nSysCode = (nSysCode << 16) | (((sal_uLong)1) << 25);
ImplGetKeyNameText( nSysCode, aKeyBuf, nKeyBufLen, nMaxKeyLen, "Shift" );
}
@@ -2516,7 +2516,7 @@ OUString WinSalFrame::GetKeyName( sal_uInt16 nKeyCode )
if ( nSysCode )
{
- nSysCode = MapVirtualKey( nSysCode, 0 );
+ nSysCode = MapVirtualKeyW( nSysCode, 0 );
if ( nSysCode )
nSysCode = (nSysCode << 16) | nSysCode2;
ImplGetKeyNameText( nSysCode, aKeyBuf, nKeyBufLen, nMaxKeyLen, pReplace );
@@ -2554,14 +2554,14 @@ static void ImplSalUpdateStyleFontW( HDC hDC, const LOGFONTW& rLogFont, vcl::Fon
// 6 Point is the smallest one
if ( rFont.GetFontHeight() < 8 )
{
- if ( rtl_ustr_compareIgnoreAsciiCase( reinterpret_cast<const sal_Unicode*>(rLogFont.lfFaceName), reinterpret_cast<const sal_Unicode*>(L"MS Sans Serif") ) == 0 )
+ if ( rtl_ustr_compareIgnoreAsciiCase( SAL_U(rLogFont.lfFaceName), SAL_U(L"MS Sans Serif") ) == 0 )
rFont.SetFontHeight( 8 );
else if ( rFont.GetFontHeight() < 6 )
rFont.SetFontHeight( 6 );
}
}
-static long ImplA2I( const BYTE* pStr )
+static long ImplW2I( const wchar_t* pStr )
{
long n = 0;
int nSign = 1;
@@ -2597,18 +2597,18 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
if ( nDragHeight )
aMouseSettings.SetStartDragHeight( nDragHeight );
HKEY hRegKey;
- if ( RegOpenKey( HKEY_CURRENT_USER,
- "Control Panel\\Desktop",
- &hRegKey ) == ERROR_SUCCESS )
+ if ( RegOpenKeyW( HKEY_CURRENT_USER,
+ L"Control Panel\\Desktop",
+ &hRegKey ) == ERROR_SUCCESS )
{
- BYTE aValueBuf[10];
+ wchar_t aValueBuf[10];
DWORD nValueSize = sizeof( aValueBuf );
DWORD nType;
- if ( RegQueryValueEx( hRegKey, "MenuShowDelay", nullptr,
- &nType, aValueBuf, &nValueSize ) == ERROR_SUCCESS )
+ if ( RegQueryValueExW( hRegKey, L"MenuShowDelay", nullptr,
+ &nType, reinterpret_cast<LPBYTE>(aValueBuf), &nValueSize ) == ERROR_SUCCESS )
{
if ( nType == REG_SZ )
- aMouseSettings.SetMenuDelay( (sal_uLong)ImplA2I( aValueBuf ) );
+ aMouseSettings.SetMenuDelay( (sal_uLong)ImplW2I( aValueBuf ) );
}
RegCloseKey( hRegKey );
@@ -2689,8 +2689,8 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
aStyleSettings.SetActiveTextColor( ImplWinColorToSal( GetSysColor( COLOR_CAPTIONTEXT ) ) );
aStyleSettings.SetDeactiveColor( ImplWinColorToSal( GetSysColor( COLOR_INACTIVECAPTION ) ) );
aStyleSettings.SetDeactiveTextColor( ImplWinColorToSal( GetSysColor( COLOR_INACTIVECAPTIONTEXT ) ) );
- long bFlatMenus = 0;
- SystemParametersInfo( SPI_GETFLATMENU, 0, &bFlatMenus, 0);
+ BOOL bFlatMenus = FALSE;
+ SystemParametersInfoW( SPI_GETFLATMENU, 0, &bFlatMenus, 0);
if( bFlatMenus )
{
aStyleSettings.SetUseFlatMenus( TRUE );
@@ -2707,13 +2707,13 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
// caret width
DWORD nCaretWidth = 2;
- if( SystemParametersInfo( SPI_GETCARETWIDTH, 0, &nCaretWidth, 0 ) )
+ if( SystemParametersInfoW( SPI_GETCARETWIDTH, 0, &nCaretWidth, 0 ) )
aStyleSettings.SetCursorSize( nCaretWidth );
// High contrast
HIGHCONTRAST hc;
hc.cbSize = sizeof( HIGHCONTRAST );
- if( SystemParametersInfo( SPI_GETHIGHCONTRAST, hc.cbSize, &hc, 0 )
+ if( SystemParametersInfoW( SPI_GETHIGHCONTRAST, hc.cbSize, &hc, 0 )
&& (hc.dwFlags & HCF_HIGHCONTRASTON) )
aStyleSettings.SetHighContrastMode( true );
else
@@ -2775,7 +2775,7 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
aStyleSettings.SetTabFont( aAppFont );
BOOL bDragFull;
- if ( SystemParametersInfo( SPI_GETDRAGFULLWINDOWS, 0, &bDragFull, 0 ) )
+ if ( SystemParametersInfoW( SPI_GETDRAGFULLWINDOWS, 0, &bDragFull, 0 ) )
{
DragFullOptions nDragFullOptions = aStyleSettings.GetDragFullOptions();
if ( bDragFull )
@@ -2785,20 +2785,20 @@ void WinSalFrame::UpdateSettings( AllSettings& rSettings )
aStyleSettings.SetDragFullOptions( nDragFullOptions );
}
- if ( RegOpenKey( HKEY_CURRENT_USER,
- "Control Panel\\International\\Calendars\\TwoDigitYearMax",
- &hRegKey ) == ERROR_SUCCESS )
+ if ( RegOpenKeyW( HKEY_CURRENT_USER,
+ L"Control Panel\\International\\Calendars\\TwoDigitYearMax",
+ &hRegKey ) == ERROR_SUCCESS )
{
- BYTE aValueBuf[10];
+ wchar_t aValueBuf[10];
DWORD nValue;
DWORD nValueSize = sizeof( aValueBuf );
DWORD nType;
- if ( RegQueryValueEx( hRegKey, "1", nullptr,
- &nType, aValueBuf, &nValueSize ) == ERROR_SUCCESS )
+ if ( RegQueryValueExW( hRegKey, L"1", nullptr,
+ &nType, reinterpret_cast<LPBYTE>(aValueBuf), &nValueSize ) == ERROR_SUCCESS )
{
if ( nType == REG_SZ )
{
- nValue = (sal_uLong)ImplA2I( aValueBuf );
+ nValue = (sal_uLong)ImplW2I( aValueBuf );
if ( (nValue > 1000) && (nValue < 10000) )
{
MiscSettings aMiscSettings = rSettings.GetMiscSettings();
@@ -4436,15 +4436,15 @@ static int ImplMeasureItem( HWND hWnd, WPARAM wParam, LPARAM lParam )
HDC hdc = GetDC( hWnd );
SIZE strSize;
- NONCLIENTMETRICS ncm;
+ NONCLIENTMETRICSW ncm;
memset( &ncm, 0, sizeof(ncm) );
ncm.cbSize = sizeof( ncm );
- SystemParametersInfo( SPI_GETNONCLIENTMETRICS, 0, &ncm, 0 );
+ SystemParametersInfoW( SPI_GETNONCLIENTMETRICS, 0, &ncm, 0 );
// Assume every menu item can be default and printed bold
//ncm.lfMenuFont.lfWeight = FW_BOLD;
- HFONT hfntOld = static_cast<HFONT>(SelectObject(hdc, CreateFontIndirect( &ncm.lfMenuFont )));
+ HFONT hfntOld = static_cast<HFONT>(SelectObject(hdc, CreateFontIndirectW( &ncm.lfMenuFont )));
// menu text and accelerator
OUString aStr(pSalMenuItem->mText);
@@ -4577,16 +4577,16 @@ static int ImplDrawItem(HWND, WPARAM wParam, LPARAM lParam )
x += bmpSize.Width() + 3;
aRect.left = x;
- NONCLIENTMETRICS ncm;
+ NONCLIENTMETRICSW ncm;
memset( &ncm, 0, sizeof(ncm) );
ncm.cbSize = sizeof( ncm );
- SystemParametersInfo( SPI_GETNONCLIENTMETRICS, 0, &ncm, 0 );
+ SystemParametersInfoW( SPI_GETNONCLIENTMETRICS, 0, &ncm, 0 );
// Print default menu entry with bold font
//if ( pDI->itemState & ODS_DEFAULT )
// ncm.lfMenuFont.lfWeight = FW_BOLD;
- hfntOld = static_cast<HFONT>(SelectObject(pDI->hDC, CreateFontIndirect( &ncm.lfMenuFont )));
+ hfntOld = static_cast<HFONT>(SelectObject(pDI->hDC, CreateFontIndirectW( &ncm.lfMenuFont )));
SIZE strSize;
OUString aStr( pSalMenuItem->mText );
@@ -4605,8 +4605,8 @@ static int ImplDrawItem(HWND, WPARAM wParam, LPARAM lParam )
aStr = pSalMenuItem->mAccelText;
GetTextExtentPoint32W( pDI->hDC, SAL_W(aStr.getStr()),
aStr.getLength(), &strSizeA );
- TEXTMETRIC tm;
- GetTextMetrics( pDI->hDC, &tm );
+ TEXTMETRICW tm;
+ GetTextMetricsW( pDI->hDC, &tm );
// position the accelerator string to the right but leave space for the
// (potential) submenu arrow (tm.tmMaxCharWidth)
@@ -4969,7 +4969,7 @@ static bool ImplHandleIMECompositionInput( WinSalFrame* pFrame,
{
auto pTextBuf = std::unique_ptr<WCHAR[]>(new WCHAR[nTextLen]);
ImmGetCompositionStringW( hIMC, GCS_RESULTSTR, pTextBuf.get(), nTextLen*sizeof( WCHAR ) );
- aEvt.maText = OUString( reinterpret_cast<const sal_Unicode*>(pTextBuf.get()), (sal_Int32)nTextLen );
+ aEvt.maText = OUString( SAL_U(pTextBuf.get()), (sal_Int32)nTextLen );
}
aEvt.mnCursorPos = aEvt.maText.getLength();
@@ -4992,17 +4992,18 @@ static bool ImplHandleIMECompositionInput( WinSalFrame* pFrame,
LONG nTextLen = ImmGetCompositionStringW( hIMC, GCS_COMPSTR, nullptr, 0 ) / sizeof( WCHAR );
if ( nTextLen > 0 )
{
- WCHAR* pTextBuf = new WCHAR[nTextLen];
- ImmGetCompositionStringW( hIMC, GCS_COMPSTR, pTextBuf, nTextLen*sizeof( WCHAR ) );
- aEvt.maText = OUString( reinterpret_cast<const sal_Unicode*>(pTextBuf), (sal_Int32)nTextLen );
- delete [] pTextBuf;
+ {
+ auto pTextBuf = std::unique_ptr<WCHAR>(new WCHAR[nTextLen]);
+ ImmGetCompositionStringW( hIMC, GCS_COMPSTR, pTextBuf.get(), nTextLen*sizeof( WCHAR ) );
+ aEvt.maText = OUString( SAL_U(pTextBuf.get()), (sal_Int32)nTextLen );
+ }
- BYTE* pAttrBuf = nullptr;
+ std::unique_ptr<BYTE> pAttrBuf;
LONG nAttrLen = ImmGetCompositionStringW( hIMC, GCS_COMPATTR, nullptr, 0 );
if ( nAttrLen > 0 )
{
- pAttrBuf = new BYTE[nAttrLen];
- ImmGetCompositionStringW( hIMC, GCS_COMPATTR, pAttrBuf, nAttrLen );
+ pAttrBuf.reset(new BYTE[nAttrLen]);
+ ImmGetCompositionStringW( hIMC, GCS_COMPATTR, pAttrBuf.get(), nAttrLen );
}
if ( pAttrBuf )
@@ -5012,7 +5013,7 @@ static bool ImplHandleIMECompositionInput( WinSalFrame* pFrame,
memset( pSalAttrAry, 0, nTextLen2*sizeof( sal_uInt16 ) );
for( sal_Int32 i = 0; (i < nTextLen2) && (i < nAttrLen); i++ )
{
- BYTE nWinAttr = pAttrBuf[i];
+ BYTE nWinAttr = pAttrBuf.get()[i];
ExtTextInputAttr nSalAttr;
if ( nWinAttr == ATTR_TARGET_CONVERTED )
{
@@ -5031,7 +5032,6 @@ static bool ImplHandleIMECompositionInput( WinSalFrame* pFrame,
}
aEvt.mpTextAttr = pSalAttrAry;
- delete [] pAttrBuf;
}
}
@@ -5443,9 +5443,9 @@ LRESULT CALLBACK SalFrameWndProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lP
if ( nMsg == WM_CREATE )
{
// Save Window-Instance in Windowhandle
- // Can also be used for the W-Version, because the struct
+ // Can also be used for the A-Version, because the struct
// to access lpCreateParams is the same structure
- CREATESTRUCTA* pStruct = reinterpret_cast<CREATESTRUCTA*>(lParam);
+ CREATESTRUCTW* pStruct = reinterpret_cast<CREATESTRUCTW*>(lParam);
WinSalFrame* pFrame = static_cast<WinSalFrame*>(pStruct->lpCreateParams);
if ( pFrame != nullptr )
{
@@ -5870,7 +5870,7 @@ bool HasAtHook()
{
BOOL bIsRunning = FALSE;
// pvParam must be BOOL
- return SystemParametersInfo(SPI_GETSCREENREADER, 0, &bIsRunning, 0)
+ return SystemParametersInfoW(SPI_GETSCREENREADER, 0, &bIsRunning, 0)
&& bIsRunning;
}
#endif
diff --git a/vcl/win/window/salobj.cxx b/vcl/win/window/salobj.cxx
index dfbcf8c54648..744d260c0d48 100644
--- a/vcl/win/window/salobj.cxx
+++ b/vcl/win/window/salobj.cxx
@@ -356,9 +356,9 @@ LRESULT CALLBACK SalSysObjWndProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM l
case WM_CREATE:
{
// Window-Instanz am Windowhandle speichern
- // Can also be used for the W-Version, because the struct
+ // Can also be used for the A-Version, because the struct
// to access lpCreateParams is the same structure
- CREATESTRUCTA* pStruct = reinterpret_cast<CREATESTRUCTA*>(lParam);
+ CREATESTRUCTW* pStruct = reinterpret_cast<CREATESTRUCTW*>(lParam);
pSysObj = static_cast<WinSalObject*>(pStruct->lpCreateParams);
SetSalObjWindowPtr( hWnd, pSysObj );
// set HWND already here,
@@ -372,12 +372,12 @@ LRESULT CALLBACK SalSysObjWndProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM l
return nRet;
}
-LRESULT CALLBACK SalSysObjWndProcA( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam )
+LRESULT CALLBACK SalSysObjWndProcW( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam )
{
int bDef = TRUE;
LRESULT nRet = SalSysObjWndProc( hWnd, nMsg, wParam, lParam, bDef );
if ( bDef )
- nRet = DefWindowProcA( hWnd, nMsg, wParam, lParam );
+ nRet = DefWindowProcW( hWnd, nMsg, wParam, lParam );
return nRet;
}
@@ -443,12 +443,12 @@ LRESULT CALLBACK SalSysObjChildWndProc( HWND hWnd, UINT nMsg, WPARAM wParam, LPA
return nRet;
}
-LRESULT CALLBACK SalSysObjChildWndProcA( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam )
+LRESULT CALLBACK SalSysObjChildWndProcW( HWND hWnd, UINT nMsg, WPARAM wParam, LPARAM lParam )
{
int bDef = TRUE;
LRESULT nRet = SalSysObjChildWndProc( hWnd, nMsg, wParam, lParam, bDef );
if ( bDef )
- nRet = DefWindowProcA( hWnd, nMsg, wParam, lParam );
+ nRet = DefWindowProcW( hWnd, nMsg, wParam, lParam );
return nRet;
}
@@ -467,10 +467,10 @@ SalObject* ImplSalCreateObject( WinSalInstance* pInst, WinSalFrame* pParent )
if ( !pSalData->mbObjClassInit )
{
- WNDCLASSEXA aWndClassEx;
+ WNDCLASSEXW aWndClassEx;
aWndClassEx.cbSize = sizeof( aWndClassEx );
aWndClassEx.style = 0;
- aWndClassEx.lpfnWndProc = SalSysObjWndProcA;
+ aWndClassEx.lpfnWndProc = SalSysObjWndProcW;
aWndClassEx.cbClsExtra = 0;
aWndClassEx.cbWndExtra = SAL_OBJECT_WNDEXTRA;
aWndClassEx.hInstance = pSalData->mhInst;
@@ -479,15 +479,15 @@ SalObject* ImplSalCreateObject( WinSalInstance* pInst, WinSalFrame* pParent )
aWndClassEx.hCursor = LoadCursor( nullptr, IDC_ARROW );
aWndClassEx.hbrBackground = nullptr;
aWndClassEx.lpszMenuName = nullptr;
- aWndClassEx.lpszClassName = SAL_OBJECT_CLASSNAMEA;
- if ( RegisterClassExA( &aWndClassEx ) )
+ aWndClassEx.lpszClassName = SAL_OBJECT_CLASSNAMEW;
+ if ( RegisterClassExW( &aWndClassEx ) )
{
// Clean background first because of plugins.
aWndClassEx.cbWndExtra = 0;
aWndClassEx.hbrBackground = reinterpret_cast<HBRUSH>(COLOR_WINDOW+1);
- aWndClassEx.lpfnWndProc = SalSysObjChildWndProcA;
- aWndClassEx.lpszClassName = SAL_OBJECT_CHILDCLASSNAMEA;
- if ( RegisterClassExA( &aWndClassEx ) )
+ aWndClassEx.lpfnWndProc = SalSysObjChildWndProcW;
+ aWndClassEx.lpszClassName = SAL_OBJECT_CHILDCLASSNAMEW;
+ if ( RegisterClassExW( &aWndClassEx ) )
pSalData->mbObjClassInit = true;
}
}
@@ -500,7 +500,7 @@ SalObject* ImplSalCreateObject( WinSalInstance* pInst, WinSalFrame* pParent )
// SystemChildWindow. Otherwise, DXCanvas (using a hidden
// SystemChildWindow) clobbers applets/plugins during
// animations .
- HWND hWnd = CreateWindowExA( 0, SAL_OBJECT_CLASSNAMEA, "",
+ HWND hWnd = CreateWindowExW( 0, SAL_OBJECT_CLASSNAMEW, L"",
WS_CHILD | WS_CLIPSIBLINGS, 0, 0, 0, 0,
pParent->mhWnd, nullptr,
pInst->mhInst, pObject );
@@ -513,7 +513,7 @@ SalObject* ImplSalCreateObject( WinSalInstance* pInst, WinSalFrame* pParent )
// of zorder.
SetWindowPos(hWnd,HWND_TOP,0,0,0,0,
SWP_NOACTIVATE|SWP_NOMOVE|SWP_NOREDRAW|SWP_NOSIZE);
- hWndChild = CreateWindowExA( 0, SAL_OBJECT_CHILDCLASSNAMEA, "",
+ hWndChild = CreateWindowExW( 0, SAL_OBJECT_CHILDCLASSNAMEW, L"",
WS_CHILD | WS_CLIPCHILDREN | WS_CLIPSIBLINGS | WS_VISIBLE,
0, 0, 0, 0,
hWnd, nullptr,
@@ -523,13 +523,14 @@ SalObject* ImplSalCreateObject( WinSalInstance* pInst, WinSalFrame* pParent )
if ( !hWndChild )
{
#if OSL_DEBUG_LEVEL > 1
- char *msg = NULL;
- FormatMessageA(FORMAT_MESSAGE_ALLOCATE_BUFFER
+ wchar_t *msg = NULL;
+ FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER
|FORMAT_MESSAGE_IGNORE_INSERTS
|FORMAT_MESSAGE_FROM_SYSTEM,
NULL, GetLastError(), 0,
- (LPSTR) &msg, 0, NULL);
- MessageBoxA(NULL, msg, "CreateWindowExA failed", MB_OK);
+ (LPWSTR) &msg, 0, NULL);
+ MessageBoxW(NULL, msg, L"CreateWindowExW failed", MB_OK);
+ HeapFree(GetProcessHeap(), msg);
#endif
delete pObject;
return nullptr;
diff --git a/xmlhelp/source/cxxhelp/provider/databases.cxx b/xmlhelp/source/cxxhelp/provider/databases.cxx
index 9b16270d4d1f..8f1694778a25 100644
--- a/xmlhelp/source/cxxhelp/provider/databases.cxx
+++ b/xmlhelp/source/cxxhelp/provider/databases.cxx
@@ -966,20 +966,20 @@ void Databases::cascadingStylesheet( const OUString& Language,
aCSS = "highcontrastblack";
#ifdef _WIN32
HKEY hKey = nullptr;
- LONG lResult = RegOpenKeyExA( HKEY_CURRENT_USER, "Control Panel\\Accessibility\\HighContrast", 0, KEY_QUERY_VALUE, &hKey );
+ LONG lResult = RegOpenKeyExW( HKEY_CURRENT_USER, L"Control Panel\\Accessibility\\HighContrast", 0, KEY_QUERY_VALUE, &hKey );
if ( ERROR_SUCCESS == lResult )
{
- CHAR szBuffer[1024];
+ WCHAR szBuffer[1024];
DWORD nSize = sizeof( szBuffer );
- lResult = RegQueryValueExA( hKey, "High Contrast Scheme", nullptr, nullptr, reinterpret_cast<LPBYTE>(szBuffer), &nSize );
+ lResult = RegQueryValueExW( hKey, L"High Contrast Scheme", nullptr, nullptr, reinterpret_cast<LPBYTE>(szBuffer), &nSize );
if ( ERROR_SUCCESS == lResult && nSize > 0 )
{
szBuffer[nSize] = '\0';
- if ( strncmp( szBuffer, "High Contrast #1", strlen("High Contrast #1") ) == 0 )
+ if ( wcscmp( szBuffer, L"High Contrast #1" ) == 0 )
aCSS = "highcontrast1";
- if ( strncmp( szBuffer, "High Contrast #2", strlen("High Contrast #2") ) == 0 )
+ if ( wcscmp( szBuffer, L"High Contrast #2" ) == 0 )
aCSS = "highcontrast2";
- if ( strncmp( szBuffer, "High Contrast White", strlen("High Contrast White") ) == 0 )
+ if ( wcscmp( szBuffer, L"High Contrast White" ) == 0 )
aCSS = "highcontrastwhite";
}
RegCloseKey( hKey );
diff --git a/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
index 8df7520a9897..44b430fe939a 100644
--- a/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
+++ b/xmlsecurity/source/xmlsec/mscrypt/securityenvironment_mscryptimpl.cxx
@@ -372,7 +372,7 @@ Sequence< Reference < XCertificate > > SecurityEnvironment_MSCryptImpl::getPerso
CertEnumSystemStore(CERT_SYSTEM_STORE_CURRENT_USER, nullptr, nullptr, cert_enum_system_store_callback);
#endif
- hSystemKeyStore = CertOpenSystemStore( 0, "MY" ) ;
+ hSystemKeyStore = CertOpenSystemStoreW( 0, L"MY" ) ;
if( hSystemKeyStore != nullptr ) {
pCertContext = CertEnumCertificatesInStore( hSystemKeyStore, pCertContext );
while (pCertContext)
@@ -420,7 +420,6 @@ Sequence< Reference < XCertificate > > SecurityEnvironment_MSCryptImpl::getPerso
Reference< XCertificate > SecurityEnvironment_MSCryptImpl::getCertificate( const OUString& issuerName, const Sequence< sal_Int8 >& serialNumber ) {
unsigned int i ;
- LPCSTR pszName ;
X509Certificate_MSCryptImpl *xcert = nullptr ;
PCCERT_CONTEXT pCertContext = nullptr ;
HCERTSTORE hCertStore = nullptr ;
@@ -434,10 +433,9 @@ Reference< XCertificate > SecurityEnvironment_MSCryptImpl::getCertificate( const
encoding = osl_getTextEncodingFromLocale( pLocale ) ;
//Create cert info from issue and serial
- OString oissuer = OUStringToOString( issuerName , encoding ) ;
- pszName = oissuer.getStr() ;
+ LPCWSTR pszName = SAL_W( issuerName.getStr() );
- if( ! ( CertStrToName(
+ if( ! ( CertStrToNameW(
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING ,
pszName ,
CERT_X500_NAME_STR | CERT_NAME_STR_REVERSE_FLAG | CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG,
@@ -452,7 +450,7 @@ Reference< XCertificate > SecurityEnvironment_MSCryptImpl::getCertificate( const
if(!certInfo.Issuer.pbData)
throw RuntimeException() ;
- if( ! ( CertStrToName(
+ if( ! ( CertStrToNameW(
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING ,
pszName ,
CERT_X500_NAME_STR | CERT_NAME_STR_REVERSE_FLAG | CERT_NAME_STR_ENABLE_UTF8_UNICODE_FLAG,
@@ -492,19 +490,19 @@ Reference< XCertificate > SecurityEnvironment_MSCryptImpl::getCertificate( const
hCertStore = m_hCertStore ;
break;
case 2:
- hCertStore = CertOpenSystemStore( 0, "MY" ) ;
+ hCertStore = CertOpenSystemStoreW( 0, L"MY" ) ;
if(hCertStore == nullptr || !m_bEnableDefault) continue ;
break;
case 3:
- hCertStore = CertOpenSystemStore( 0, "Root" ) ;
+ hCertStore = CertOpenSystemStoreW( 0, L"Root" ) ;
if(hCertStore == nullptr || !m_bEnableDefault) continue ;
break;
case 4:
- hCertStore = CertOpenSystemStore( 0, "Trust" ) ;
+ hCertStore = CertOpenSystemStoreW( 0, L"Trust" ) ;
if(hCertStore == nullptr || !m_bEnableDefault) continue ;
break;
case 5:
- hCertStore = CertOpenSystemStore( 0, "CA" ) ;
+ hCertStore = CertOpenSystemStoreW( 0, L"CA" ) ;
if(hCertStore == nullptr || !m_bEnableDefault) continue ;
break;
default:
@@ -1055,7 +1053,7 @@ xmlSecKeysMngrPtr SecurityEnvironment_MSCryptImpl::createKeysManager() {
*/
if( defaultEnabled() ) {
//Add system key store into the keys manager.
- m_hMySystemStore = CertOpenSystemStore( 0, "MY" ) ;
+ m_hMySystemStore = CertOpenSystemStoreW( 0, L"MY" ) ;
if( m_hMySystemStore != nullptr ) {
if( xmlSecMSCryptoAppliedKeysMngrAdoptKeyStore( pKeysMngr, m_hMySystemStore ) < 0 ) {
CertCloseStore( m_hMySystemStore, CERT_CLOSE_STORE_CHECK_FLAG ) ;
@@ -1065,7 +1063,7 @@ xmlSecKeysMngrPtr SecurityEnvironment_MSCryptImpl::createKeysManager() {
}
//Add system root store into the keys manager.
- m_hRootSystemStore = CertOpenSystemStore( 0, "Root" ) ;
+ m_hRootSystemStore = CertOpenSystemStoreW( 0, L"Root" ) ;
if( m_hRootSystemStore != nullptr ) {
if( xmlSecMSCryptoAppliedKeysMngrAdoptTrustedStore( pKeysMngr, m_hRootSystemStore ) < 0 ) {
CertCloseStore( m_hRootSystemStore, CERT_CLOSE_STORE_CHECK_FLAG ) ;
@@ -1075,7 +1073,7 @@ xmlSecKeysMngrPtr SecurityEnvironment_MSCryptImpl::createKeysManager() {
}
//Add system trusted store into the keys manager.
- m_hTrustSystemStore = CertOpenSystemStore( 0, "Trust" ) ;
+ m_hTrustSystemStore = CertOpenSystemStoreW( 0, L"Trust" ) ;
if( m_hTrustSystemStore != nullptr ) {
if( xmlSecMSCryptoAppliedKeysMngrAdoptUntrustedStore( pKeysMngr, m_hTrustSystemStore ) < 0 ) {
CertCloseStore( m_hTrustSystemStore, CERT_CLOSE_STORE_CHECK_FLAG ) ;
@@ -1085,7 +1083,7 @@ xmlSecKeysMngrPtr SecurityEnvironment_MSCryptImpl::createKeysManager() {
}
//Add system CA store into the keys manager.
- m_hCaSystemStore = CertOpenSystemStore( 0, "CA" ) ;
+ m_hCaSystemStore = CertOpenSystemStoreW( 0, L"CA" ) ;
if( m_hCaSystemStore != nullptr ) {
if( xmlSecMSCryptoAppliedKeysMngrAdoptUntrustedStore( pKeysMngr, m_hCaSystemStore ) < 0 ) {
CertCloseStore( m_hCaSystemStore, CERT_CLOSE_STORE_CHECK_FLAG ) ;
diff --git a/xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx
index 72b50e292079..6fd3bdc85c24 100644
--- a/xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx
+++ b/xmlsecurity/source/xmlsec/mscrypt/seinitializer_mscryptimpl.cxx
@@ -50,13 +50,14 @@ cssu::Reference< cssxc::XXMLSecurityContext > SAL_CALL
{
const char* n_pCertStore ;
HCERTSTORE n_hStoreHandle ;
+ OString sCertDir;
//Initialize the crypto engine
if( sCertDB.getLength() > 0 )
{
- OString sCertDir(sCertDB.getStr(), sCertDB.getLength(), RTL_TEXTENCODING_ASCII_US);
+ sCertDir = OString(sCertDB.getStr(), sCertDB.getLength(), RTL_TEXTENCODING_ASCII_US);
n_pCertStore = sCertDir.getStr();
- n_hStoreHandle = CertOpenSystemStore( NULL, n_pCertStore ) ;
+ n_hStoreHandle = CertOpenSystemStoreW( NULL, SAL_W(sCertDB.getStr())) ;
if( n_hStoreHandle == nullptr )
{
return nullptr;
diff --git a/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx b/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx
index 7fcc699b8a25..c45b541cf3d7 100644
--- a/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx
+++ b/xmlsecurity/source/xmlsec/mscrypt/x509certificate_mscryptimpl.cxx
@@ -205,9 +205,7 @@ css::uno::Sequence< sal_Int8 > SAL_CALL X509Certificate_MSCryptImpl::getSerialNu
OUString SAL_CALL X509Certificate_MSCryptImpl::getIssuerName() {
if( m_pCertContext != nullptr && m_pCertContext->pCertInfo != nullptr ) {
- DWORD cbIssuer ;
-
- cbIssuer = CertNameToStr(
+ DWORD cchIssuer = CertNameToStrW(
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING ,
&( m_pCertContext->pCertInfo->Issuer ),
CERT_X500_NAME_STR | CERT_NAME_STR_REVERSE_FLAG ,
@@ -215,28 +213,22 @@ OUString SAL_CALL X509Certificate_MSCryptImpl::getIssuerName() {
) ;
// Here the cbIssuer count the last 0x00 , take care.
- if( cbIssuer != 0 ) {
- auto issuer = std::unique_ptr<char[]>(new char[ cbIssuer ]);
+ if( cchIssuer != 0 ) {
+ auto issuer = std::unique_ptr<wchar_t[]>(new wchar_t[ cchIssuer ]);
- cbIssuer = CertNameToStr(
+ cchIssuer = CertNameToStrW(
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING ,
&( m_pCertContext->pCertInfo->Issuer ),
CERT_X500_NAME_STR | CERT_NAME_STR_REVERSE_FLAG ,
- issuer.get(), cbIssuer
+ issuer.get(), cchIssuer
) ;
- if( cbIssuer <= 0 ) {
+ if( cchIssuer <= 0 ) {
throw RuntimeException() ;
}
- // for correct encoding
- sal_uInt16 encoding ;
- rtl_Locale *pLocale = nullptr ;
- osl_getProcessLocale( &pLocale ) ;
- encoding = osl_getTextEncodingFromLocale( pLocale ) ;
-
- if(issuer.get()[cbIssuer-1] == 0) cbIssuer--; //delimit the last 0x00;
- OUString xIssuer(issuer.get() , cbIssuer ,encoding ) ;
+ if(issuer.get()[cchIssuer -1] == 0) cchIssuer--; //delimit the last 0x00;
+ OUString xIssuer(SAL_U(issuer.get()), cchIssuer) ;
return replaceTagSWithTagST(xIssuer);
} else {
@@ -251,32 +243,29 @@ OUString SAL_CALL X509Certificate_MSCryptImpl::getSubjectName()
{
if( m_pCertContext != nullptr && m_pCertContext->pCertInfo != nullptr )
{
- DWORD cbSubject ;
-
- cbSubject = CertNameToStrW(
+ DWORD cchSubject = CertNameToStrW(
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING ,
&( m_pCertContext->pCertInfo->Subject ),
CERT_X500_NAME_STR | CERT_NAME_STR_REVERSE_FLAG ,
nullptr, 0
) ;
- if( cbSubject != 0 )
+ if( cchSubject != 0 )
{
- auto subject = std::unique_ptr<wchar_t[]>(new wchar_t[ cbSubject ]);
+ auto subject = std::unique_ptr<wchar_t[]>(new wchar_t[ cchSubject ]);
- cbSubject = CertNameToStrW(
+ cchSubject = CertNameToStrW(
X509_ASN_ENCODING | PKCS_7_ASN_ENCODING ,
&( m_pCertContext->pCertInfo->Subject ),
CERT_X500_NAME_STR | CERT_NAME_STR_REVERSE_FLAG ,
- subject.get(), cbSubject
+ subject.get(), cchSubject
) ;
- if( cbSubject <= 0 ) {
+ if( cchSubject <= 0 ) {
throw RuntimeException() ;
}
- OUString xSubject(
- reinterpret_cast<const sal_Unicode*>(subject.get()));
+ OUString xSubject(SAL_U(subject.get()));
return replaceTagSWithTagST(xSubject);
} else