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.
 
 
 
 
 
 

129 lines
2.8 KiB

//+-------------------------------------------------------------------------
//
// Microsoft Windows
// Copyright (C) Microsoft Corporation, 1992 - 2000.
//
// File: dbgmod.cxx
//
// Contents: Support for visual debug values
//
// Classes:
//
// Functions:
//
// History: 12-Mar-93 KevinRo Created
//
// This module handles debug values, such as breakpoints and settable
// values. By using this module, the values can be examined and changed
// in a debugging window. The debugging window uses its own thread, so
// changes can be effected asynchronously.
//
//--------------------------------------------------------------------------
#include <pch.cxx>
#pragma hdrstop
//
// NOTE: This file is surrounded by if CIDBG == 1, which means that these
// routines are in the debugging version ONLY
//
#if CIDBG == 1
#include <dbgpoint.hxx>
//
// The following Mutex provides a lock for registering the InfoLevelGroup
//
//CMutexSem mtxInfoLevelLock;
//+-------------------------------------------------------------------------
//
// Function: dbgGetIniInfoLevels
//
// Synopsis: Called by the CInfoLevel constructor to get the default
// value for an InfoLevel from win.ini
//
// Arguments:
// [pwzName] -- Name of InfoLevel
// [ulDefault] -- Default value if not found in win.ini
//
// Requires:
//
// Returns: Returns the value read from profile, or default if the value
// didn't exist in the correct section.
//
//--------------------------------------------------------------------------
WCHAR *pwzInfoLevelSectionName = L"Cairo InfoLevels";
WCHAR *pwzInfoLevelDefault = L"$";
#define INIT_VALUE_SIZE 16
extern "C"
EXPORTIMP
ULONG APINOT dbgGetIniInfoLevel(WCHAR const *pwzName,ULONG ulDefault)
{
WCHAR awcInitValue[INIT_VALUE_SIZE];
ULONG ulRet;
ulRet = GetProfileString(pwzInfoLevelSectionName,
pwzName,
pwzInfoLevelDefault,
awcInitValue,
INIT_VALUE_SIZE);
if(ulRet == (INIT_VALUE_SIZE - 1))
{
return(ulDefault);
}
if(awcInitValue[0] == L'$')
{
return(ulDefault);
}
if(swscanf(awcInitValue,L"%x",&ulRet) != 1)
{
return(ulDefault);
}
return(ulRet);
}
// stubs
extern "C"
EXPORTIMP
void APINOT dbgRemoveGroup(HANDLE hGroup)
{}
extern "C"
EXPORTIMP
void APINOT dbgRegisterGroup(WCHAR const *pwzName,HANDLE *phGroup)
{}
extern "C"
EXPORTIMP
void APINOT dbgNotifyChange(HANDLE hGroup,CDebugBaseClass *pdv)
{}
extern "C"
EXPORTIMP
void APINOT dbgRegisterValue(WCHAR const *pwzName,
HANDLE hGroup,
CDebugBaseClass *pdv)
{}
extern "C"
EXPORTIMP
void APINOT dbgRemoveValue(HANDLE hGroup,CDebugBaseClass *pdv)
{}
#endif // if CIDBG == 1