/*
* PROJECT: ReactOS Services
* LICENSE: GPL - See COPYING in the top level directory
- * FILE: base/system/servman/misc.c
- * PURPOSE: miscallanous functions
+ * FILE: base/applications/mscutils/servman/misc.c
+ * PURPOSE: miscellaneous functions
* COPYRIGHT: Copyright 2005 Thomas Weidenmueller <w3seek@reactos.org>
* Copyright 2006 Ged Murphy <gedmurphy@gmail.com>
*
}
INT
-AllocAndLoadString(OUT LPTSTR *lpTarget,
+AllocAndLoadString(OUT LPWSTR *lpTarget,
IN HINSTANCE hInst,
IN UINT uID)
{
uID);
if (ln++ > 0)
{
- (*lpTarget) = (LPTSTR)LocalAlloc(LMEM_FIXED,
- ln * sizeof(TCHAR));
+ (*lpTarget) = (LPWSTR)LocalAlloc(LMEM_FIXED,
+ ln * sizeof(WCHAR));
if ((*lpTarget) != NULL)
{
INT Ret;
- if (!(Ret = LoadString(hInst, uID, *lpTarget, ln)))
+ if (!(Ret = LoadStringW(hInst, uID, *lpTarget, ln)))
{
LocalFree((HLOCAL)(*lpTarget));
}
DWORD
LoadAndFormatString(IN HINSTANCE hInstance,
IN UINT uID,
- OUT LPTSTR *lpTarget,
+ OUT LPWSTR *lpTarget,
...)
{
DWORD Ret = 0;
- LPTSTR lpFormat;
+ LPWSTR lpFormat;
va_list lArgs;
if (AllocAndLoadString(&lpFormat,
va_start(lArgs, lpTarget);
/* let's use Format to format it because it has the ability to allocate
memory automatically */
- Ret = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING,
- lpFormat,
- 0,
- 0,
- (LPTSTR)lpTarget,
- 0,
- &lArgs);
+ Ret = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING,
+ lpFormat,
+ 0,
+ 0,
+ (LPWSTR)lpTarget,
+ 0,
+ &lArgs);
va_end(lArgs);
LocalFree((HLOCAL)lpFormat);
...)
{
BOOL Ret = FALSE;
- LPTSTR lpFormat, lpStr;
+ LPWSTR lpFormat, lpStr;
va_list lArgs;
if (AllocAndLoadString(&lpFormat,
va_start(lArgs, uID);
/* let's use FormatMessage to format it because it has the ability to allocate
memory automatically */
- Ret = FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING,
- lpFormat,
- 0,
- 0,
- (VOID*)&lpStr,
- 0,
- &lArgs);
+ Ret = FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_STRING,
+ lpFormat,
+ 0,
+ 0,
+ (VOID*)&lpStr,
+ 0,
+ &lArgs);
va_end(lArgs);
if (lpStr != NULL)
{
- Ret = (BOOL)SendMessage(hStatusBar,
- SB_SETTEXT,
- (WPARAM)PartId,
- (LPARAM)lpStr);
+ Ret = (BOOL)SendMessageW(hStatusBar,
+ SB_SETTEXT,
+ (WPARAM)PartId,
+ (LPARAM)lpStr);
LocalFree((HLOCAL)lpStr);
}
IN UINT uID)
{
BOOL Ret = FALSE;
- LPTSTR lpStr;
+ LPWSTR lpStr;
if (AllocAndLoadString(&lpStr,
hInstance,
uID) > 0)
{
- Ret = (BOOL)SendMessage(hStatusBar,
- SB_SETTEXT,
- (WPARAM)PartId,
- (LPARAM)lpStr);
+ Ret = (BOOL)SendMessageW(hStatusBar,
+ SB_SETTEXT,
+ (WPARAM)PartId,
+ (LPARAM)lpStr);
LocalFree((HLOCAL)lpStr);
}
INT
-GetTextFromEdit(OUT LPTSTR lpString,
+GetTextFromEdit(OUT LPWSTR lpString,
IN HWND hDlg,
IN UINT Res)
{
- INT len = GetWindowTextLength(GetDlgItem(hDlg, Res));
+ INT len = GetWindowTextLengthW(GetDlgItem(hDlg, Res));
if(len > 0)
{
- GetDlgItemText(hDlg,
- Res,
- lpString,
- len + 1);
+ GetDlgItemTextW(hDlg,
+ Res,
+ lpString,
+ len + 1);
}
else
lpString = NULL;
VOID GetError(VOID)
{
- LPTSTR lpMsgBuf = NULL;
+ LPWSTR lpMsgBuf = NULL;
- FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
- FORMAT_MESSAGE_FROM_SYSTEM |
- FORMAT_MESSAGE_IGNORE_INSERTS,
- NULL,
- GetLastError(),
- MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
- (VOID*)&lpMsgBuf,
- 0,
- NULL );
+ FormatMessageW(FORMAT_MESSAGE_ALLOCATE_BUFFER |
+ FORMAT_MESSAGE_FROM_SYSTEM |
+ FORMAT_MESSAGE_IGNORE_INSERTS,
+ NULL,
+ GetLastError(),
+ MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT),
+ (VOID*)&lpMsgBuf,
+ 0,
+ NULL );
- MessageBox(NULL, lpMsgBuf, _T("Error!"), MB_OK | MB_ICONERROR);
+ MessageBoxW(NULL, lpMsgBuf, L"Error!", MB_OK | MB_ICONERROR);
LocalFree(lpMsgBuf);
}
-VOID DisplayString(PTCHAR Msg)
+VOID DisplayString(LPWSTR Msg)
{
- MessageBox(NULL, Msg, _T("Note!"), MB_ICONEXCLAMATION|MB_OK);
+ MessageBoxW(NULL, Msg, L"Note!", MB_ICONEXCLAMATION|MB_OK);
}
ret = 0;
for (i = StartResource; i <= EndResource && ret != -1; i++)
{
- hImage = LoadImage(hInstance,
- MAKEINTRESOURCE(i),
- type,
- Width,
- Height,
- LR_LOADTRANSPARENT);
+ hImage = LoadImageW(hInstance,
+ MAKEINTRESOURCEW(i),
+ type,
+ Width,
+ Height,
+ LR_LOADTRANSPARENT);
if (hImage == NULL)
{
ImageList_Destroy(himl);
return himl;
}
+
+
+#define BUFFERSIZE 512
+
+VOID
+ResourceMessageBox(
+ HINSTANCE hInstance,
+ HWND hwnd,
+ UINT uType,
+ UINT uCaptionId,
+ UINT uMessageId)
+{
+ WCHAR szErrorText[BUFFERSIZE];
+ WCHAR szErrorCaption[BUFFERSIZE];
+
+ LoadStringW(hInstance, uMessageId, szErrorText, sizeof(szErrorText) / sizeof(WCHAR));
+ LoadStringW(hInstance, uCaptionId, szErrorCaption, sizeof(szErrorCaption) / sizeof(WCHAR));
+
+ MessageBoxW(hwnd, szErrorText, szErrorCaption, uType);
+}
+