55 lines
1 KiB
C
55 lines
1 KiB
C
//*************************************************************
|
|
//
|
|
// Debugging functions
|
|
//
|
|
// Microsoft Confidential
|
|
// Copyright (c) Microsoft Corporation 1995
|
|
// All rights reserved
|
|
//
|
|
//*************************************************************
|
|
|
|
#include "pch.h"
|
|
|
|
VOID
|
|
_DebugMsg (
|
|
UINT mask,
|
|
PCSTR Format,
|
|
...
|
|
)
|
|
{
|
|
va_list args;
|
|
DWORD Error;
|
|
WCHAR Output[2048];
|
|
PWSTR UnicodeFormat;
|
|
UINT Size;
|
|
|
|
Error = GetLastError();
|
|
|
|
va_start (args, Format);
|
|
|
|
Size = (lstrlenA (Format) + 1) * sizeof (WCHAR);
|
|
|
|
UnicodeFormat = LocalAlloc (LPTR, Size);
|
|
if (!UnicodeFormat) {
|
|
SetLastError (Error);
|
|
return;
|
|
}
|
|
|
|
MultiByteToWideChar (CP_ACP, 0, Format, -1, UnicodeFormat, Size/sizeof(WCHAR));
|
|
|
|
_vsnwprintf (Output, sizeof(Output) - 3, UnicodeFormat, args);
|
|
lstrcatW (Output, L"\r\n");
|
|
OutputDebugStringW (Output);
|
|
|
|
if (mask == DM_ASSERT) {
|
|
DebugBreak();
|
|
}
|
|
|
|
va_end (args);
|
|
|
|
LocalFree (UnicodeFormat);
|
|
|
|
SetLastError (Error);
|
|
}
|
|
|