153 lines
2.5 KiB
C
153 lines
2.5 KiB
C
|
|
|||
|
/*++
|
|||
|
|
|||
|
Copyright (c) 1990 Microsoft Corporation
|
|||
|
|
|||
|
Module Name:
|
|||
|
|
|||
|
util.c
|
|||
|
|
|||
|
Abstract:
|
|||
|
|
|||
|
Battery Class Installer utility routines
|
|||
|
|
|||
|
Author:
|
|||
|
|
|||
|
Scott Brenden
|
|||
|
|
|||
|
Environment:
|
|||
|
|
|||
|
Notes:
|
|||
|
|
|||
|
|
|||
|
Revision History:
|
|||
|
|
|||
|
--*/
|
|||
|
|
|||
|
|
|||
|
#include "proj.h"
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
#if defined(DEBUG)
|
|||
|
|
|||
|
|
|||
|
DWORD BattDebugPrintLevel = TF_ERROR | TF_WARNING;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void
|
|||
|
CPUBLIC
|
|||
|
CommonDebugMsgW(
|
|||
|
DWORD Flag,
|
|||
|
LPCSTR Message,
|
|||
|
...
|
|||
|
)
|
|||
|
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
This is the wide char version of CommonDebugMsgA
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
Flag - Debug print level for message
|
|||
|
|
|||
|
Message - Format string for message
|
|||
|
|
|||
|
... - Arguments for the format string
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
--*/
|
|||
|
{
|
|||
|
WCHAR tmpBuffer[DEBUG_PRINT_BUFFER_LEN]; // Largest path plus extra
|
|||
|
va_list variableArgs;
|
|||
|
|
|||
|
|
|||
|
|
|||
|
if (Flag & BattDebugPrintLevel)
|
|||
|
{
|
|||
|
int wideCharCount;
|
|||
|
int tmpInt;
|
|||
|
WCHAR wideBuffer[MAX_BUF];
|
|||
|
|
|||
|
lstrcpyW (tmpBuffer, L"BATTERY CLASS INSTALLER: ");
|
|||
|
wideCharCount = lstrlenW (tmpBuffer);
|
|||
|
va_start(variableArgs, Message);
|
|||
|
|
|||
|
// (We convert the string, rather than simply input an
|
|||
|
// LPCWSTR parameter, so the caller doesn't have to wrap
|
|||
|
// all the string constants with the TEXT() macro.)
|
|||
|
|
|||
|
tmpInt = MultiByteToWideChar(CP_ACP, 0, Message, lstrlenA (Message), wideBuffer, MAX_BUF);
|
|||
|
if (!tmpInt) {
|
|||
|
lstrcatW (tmpBuffer, L"Debug string too long to print\n");
|
|||
|
|
|||
|
} else {
|
|||
|
wvsprintfW (&tmpBuffer[wideCharCount-sizeof(WCHAR)], wideBuffer, variableArgs);
|
|||
|
}
|
|||
|
|
|||
|
va_end(variableArgs);
|
|||
|
OutputDebugStringW(tmpBuffer);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
|
|||
|
void
|
|||
|
CPUBLIC
|
|||
|
CommonDebugMsgA(
|
|||
|
DWORD Flag,
|
|||
|
LPCSTR Message,
|
|||
|
...
|
|||
|
)
|
|||
|
|
|||
|
/*++
|
|||
|
|
|||
|
Routine Description:
|
|||
|
|
|||
|
Debug spew
|
|||
|
|
|||
|
Arguments:
|
|||
|
|
|||
|
Flag - Debug print level for message
|
|||
|
|
|||
|
Message - Format string for message
|
|||
|
|
|||
|
... - Arguments for the format string
|
|||
|
|
|||
|
Return Value:
|
|||
|
|
|||
|
|
|||
|
|
|||
|
--*/
|
|||
|
{
|
|||
|
UCHAR tmpBuffer[DEBUG_PRINT_BUFFER_LEN]; // Largest path plus extra
|
|||
|
va_list variableArgs;
|
|||
|
|
|||
|
|
|||
|
if (Flag & BattDebugPrintLevel)
|
|||
|
{
|
|||
|
int charCount;
|
|||
|
|
|||
|
lstrcpyA (tmpBuffer, "BATTERY CLASS INSTALLER: ");
|
|||
|
charCount = lstrlenA (tmpBuffer);
|
|||
|
va_start(variableArgs, Message);
|
|||
|
|
|||
|
wvsprintfA (&tmpBuffer[charCount-1], Message, variableArgs);
|
|||
|
va_end(variableArgs);
|
|||
|
OutputDebugStringA(tmpBuffer);
|
|||
|
}
|
|||
|
}
|
|||
|
|
|||
|
|
|||
|
#endif // #if defined(DEBUG)
|