/* * This takes strings from a resource stringtable * and outputs it to the console. */ VOID PrintResourceString(INT resID, ...) { WCHAR tmpBuffer[MAX_BUFFER_SIZE]; va_list arg_ptr; va_start(arg_ptr, resID); LoadStringW(GetModuleHandle(NULL), resID, tmpBuffer, MAX_BUFFER_SIZE); _vcwprintf(tmpBuffer, arg_ptr); va_end(arg_ptr); }
/********************************************************************* * _cwprintf (MSVCRT.@) */ int CDECL _cwprintf(const MSVCRT_wchar_t* format, ...) { int retval; __ms_va_list valist; __ms_va_start( valist, format ); retval = _vcwprintf(format, valist); __ms_va_end(valist); return retval; }
int _cdecl _cwprintf(const wchar_t* format, ...) { int retval; va_list valist; va_start( valist, format ); retval = _vcwprintf(format, valist); va_end(valist); return retval; }
VOID PrintResourceString(INT resID, ...) { HANDLE OutputHandle = GetStdHandle(STD_OUTPUT_HANDLE); WCHAR tmpBuffer[RC_STRING_MAX_SIZE]; va_list arg_ptr; va_start(arg_ptr, resID); LoadStringW(GetModuleHandleW(NULL), resID, tmpBuffer, RC_STRING_MAX_SIZE); // FIXME: Optimize by using Win32 console functions. if (IsConsoleHandle(OutputHandle)) { _vcwprintf(tmpBuffer, arg_ptr); } else { vwprintf(tmpBuffer, arg_ptr); } va_end(arg_ptr); }