void WINAPI DbgInitModuleSettings(bool fTakeMax) { LONG lReturn; // Create key return value TCHAR szInfo[iDEBUGINFO]; // Constructs key names HKEY hModuleKey; // Module key handle /* Construct the base key name */ wsprintf(szInfo,TEXT("%s\\%s"),pBaseKey,m_ModuleName); /* Create or open the key for this module */ lReturn = RegCreateKeyEx(HKEY_LOCAL_MACHINE, // Handle of an open key szInfo, // Address of subkey name (DWORD) 0, // Reserved value NULL, // Address of class name (DWORD) 0, // Special options flags KEY_ALL_ACCESS, // Desired security access NULL, // Key security descriptor &hModuleKey, // Opened handle buffer NULL); // What really happened if (lReturn != ERROR_SUCCESS) { DbgLog((LOG_ERROR,0,TEXT("Could not access module key"))); return; } DbgInitLogTo(hModuleKey); DbgInitKeyLevels(hModuleKey, fTakeMax); RegCloseKey(hModuleKey); }
void WINAPI DbgInitGlobalSettings(bool fTakeMax) { LONG lReturn; // Create key return value TCHAR szInfo[iDEBUGINFO]; // Constructs key names HKEY hGlobalKey; // Global override key /* Construct the global base key name */ (void)StringCchPrintf(szInfo,NUMELMS(szInfo),TEXT("%s\\%s"),pBaseKey,pGlobalKey); /* Create or open the key for this module */ lReturn = RegCreateKeyEx(HKEY_LOCAL_MACHINE, // Handle of an open key szInfo, // Address of subkey name (DWORD) 0, // Reserved value NULL, // Address of class name (DWORD) 0, // Special options flags GENERIC_READ | GENERIC_WRITE, // Desired security access NULL, // Key security descriptor &hGlobalKey, // Opened handle buffer NULL); // What really happened if (lReturn != ERROR_SUCCESS) { lReturn = RegCreateKeyEx(HKEY_LOCAL_MACHINE, // Handle of an open key szInfo, // Address of subkey name (DWORD) 0, // Reserved value NULL, // Address of class name (DWORD) 0, // Special options flags GENERIC_READ, // Desired security access NULL, // Key security descriptor &hGlobalKey, // Opened handle buffer NULL); // What really happened if (lReturn != ERROR_SUCCESS) { DbgLog((LOG_ERROR,1,TEXT("Could not access GLOBAL module key"))); } return; } DbgInitKeyLevels(hGlobalKey, fTakeMax); RegCloseKey(hGlobalKey); }