Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

106 lines
2.6 KiB

/*****************************************************************************
*
* (C) COPYRIGHT MICROSOFT CORPORATION, 2000
*
* TITLE: AppUtil.cpp
*
* VERSION: 1.0
*
* DATE: 2000/11/14
*
* DESCRIPTION: Misc application utilities
*
*****************************************************************************/
#include <stdafx.h>
#include "wiavideotest.h"
/****************************Local Function Prototypes********************/
///////////////////////////////
// AppUtil_ConvertToWideString
//
HRESULT AppUtil_ConvertToWideString(const TCHAR *pszStringToConvert,
WCHAR *pwszString,
UINT cchString)
{
HRESULT hr = S_OK;
if ((pszStringToConvert == NULL) ||
(pwszString == NULL))
{
return E_POINTER;
}
#ifdef UNICODE
wcsncpy(pwszString, pszStringToConvert, cchString);
#else
MultiByteToWideChar(CP_ACP, 0, pszStringToConvert, -1,
pwszString, cchString);
#endif
return hr;
}
///////////////////////////////
// AppUtil_ConvertToTCHAR
//
HRESULT AppUtil_ConvertToTCHAR(const WCHAR *pwszStringToConvert,
TCHAR *pszString,
UINT cchString)
{
HRESULT hr = S_OK;
if ((pwszStringToConvert == NULL) ||
(pszString == NULL))
{
return E_POINTER;
}
#ifdef UNICODE
wcsncpy(pszString, pwszStringToConvert, cchString);
#else
WideCharToMultiByte(CP_ACP, 0, pwszStringToConvert,
-1, pszString, cchString * sizeof(TCHAR), NULL, NULL);
#endif
return hr;
}
///////////////////////////////
// AppUtil_MsgBox
//
int AppUtil_MsgBox(UINT uiCaption,
UINT uiTextResID,
UINT uiStyle,
...)
{
HRESULT hr = S_OK;
TCHAR szCaption[255 + 1] = {0};
TCHAR szFmt[511 + 1] = {0};
TCHAR szMsg[1023 + 1] = {0};
int iResult = 0;
va_list vArgs;
if (uiCaption != 0)
{
iResult = LoadString(APP_GVAR.hInstance, uiCaption, szCaption,
sizeof(szCaption) / sizeof(TCHAR));
}
if (uiTextResID != 0)
{
iResult = LoadString(APP_GVAR.hInstance, uiTextResID, szFmt,
sizeof(szFmt) / sizeof(TCHAR));
}
va_start(vArgs, uiStyle);
_vsntprintf(szMsg, sizeof(szMsg) / sizeof(TCHAR), szFmt, vArgs);
va_end(vArgs);
return MessageBox(APP_GVAR.hwndMainDlg, szMsg, szCaption, uiStyle);
}