|
|
#include "stdafx.h"
INT g_iDebugOutputLevel = 0; DWORD g_dwInetmgrParamFlags = 0;
void DebugTrace(LPTSTR lpszFormat, ...) { // Only do this if the flag is set.
if (0 != g_iDebugOutputLevel) { int nBuf; TCHAR szBuffer[_MAX_PATH];
va_list args; va_start(args, lpszFormat);
nBuf = _vsntprintf(szBuffer, sizeof(szBuffer)/sizeof(szBuffer[0]), lpszFormat, args); szBuffer[_MAX_PATH - 1] = L'\0'; // null terminate the string
ASSERT(nBuf < sizeof(szBuffer)/sizeof(szBuffer[0])); //Output truncated as it was > sizeof(szBuffer)
OutputDebugString(szBuffer); va_end(args);
// if it does not end if '\r\n' then make one.
int nLen = _tcslen(szBuffer); if (szBuffer[nLen-1] != _T('\n')){OutputDebugString(_T("\r\n"));} } }
void WinHelpDebug(DWORD_PTR dwWinHelpID) { if (DEBUG_FLAG_HELP & g_iDebugOutputLevel) { TCHAR szBuffer[30]; _stprintf(szBuffer,_T("WinHelp:0x%x,%d\r\n"),dwWinHelpID,dwWinHelpID);
DebugTrace(szBuffer); } return; }
void GetOutputDebugFlag(void) { DWORD rc, err, size, type; HKEY hkey; err = RegOpenKey(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\InetMgr"), &hkey); if (err != ERROR_SUCCESS) {return;} size = sizeof(DWORD); err = RegQueryValueEx(hkey,_T("OutputDebugFlag"),0,&type,(LPBYTE)&rc,&size); if (err != ERROR_SUCCESS || type != REG_DWORD) {rc = 0;} RegCloseKey(hkey);
if (rc < 0xffffffff) { // Defined in inc\DebugDefs.h
g_iDebugOutputLevel = rc; } return; }
void GetInetmgrParamFlag(void) { DWORD rc, size, type; HKEY hkey; g_dwInetmgrParamFlags = 0; if (ERROR_SUCCESS == RegOpenKey(HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\InetMgr\\Parameters"), &hkey)) { size = sizeof(DWORD); if (ERROR_SUCCESS == RegQueryValueEx(hkey,_T("InetMgrFlags"),0,&type,(LPBYTE)&rc,&size)) { if (type == REG_DWORD) { // Defined in inc\DebugDefs.h
g_dwInetmgrParamFlags = rc; } } RegCloseKey(hkey); } #if defined(_DEBUG) || DBG
DebugTrace(_T("g_dwInetmgrParamFlags=0x%x\r\n"),g_dwInetmgrParamFlags); #endif
}
BOOL SetInetmgrParamFlag(DWORD dwFlagToSet,BOOL bState) { BOOL bSuccessfullyWrote = FALSE; HKEY hKey = NULL;
// Grab the existing params
// and change only our settings
if (bState) { // ON the setting
g_dwInetmgrParamFlags |= dwFlagToSet; } else { // OFF the setting
g_dwInetmgrParamFlags &= ~dwFlagToSet; }
if (ERROR_SUCCESS == RegOpenKeyEx( HKEY_LOCAL_MACHINE, _T("SOFTWARE\\Microsoft\\InetMgr\\Parameters"), 0, KEY_WRITE, &hKey )) { if (ERROR_SUCCESS == RegSetValueEx( hKey, _T("InetMgrFlags"), 0, REG_DWORD, (BYTE *) &g_dwInetmgrParamFlags, sizeof( DWORD ) )) { bSuccessfullyWrote = TRUE; } if( NULL != hKey ) { RegCloseKey( hKey ); hKey = NULL; } } #if defined(_DEBUG) || DBG
DebugTrace(_T("SetInetmgrParamFlag:g_dwInetmgrParamFlags=0x%x\r\n"),g_dwInetmgrParamFlags); #endif
return bSuccessfullyWrote; }
|