rConsole.Write(_T("\n"));
}
}
-
+
const TCHAR *pszPattern = PATTERN_MATCH_ALL;
const TCHAR *pszPath = _T(".");
if (pszKey)
{
pszPath = pszKey;
-
+
TCHAR *pch = pszKey;
while(*pch) // search end of string
pch++;
{
while ((pch > pszKey) && (*pch != _T('\\')))
pch--;
-
+
if (*pch == _T('\\'))
{
pszPattern = pch+1;
-
+
if (pch > pszKey)
{
ASSERT(*pch == _T('\\'));
}
LONG nError;
-
+
if (!blnDo)
return 0;
-
+
rConsole.Write(_T("\n Key is "));
rConsole.Write(Key.GetKeyName());
rConsole.Write(_T("\n Last modify time is "));
rConsole.Write(Key.GetLastWriteTime());
}
-
+
rConsole.Write(_T("\n\n"));
unsigned __int64 nTotalItems = 0;
-
+
try
{
ASSERT(nTotalItems == 0);
rConsole.Write(_T("\t(KEY)\t\t\t\t..\\\n")); // parent key abstraction
nTotalItems = 1;
-
+
DWORD dwMaxSubkeyNameLength;
nError = Key.GetSubkeyNameMaxLength(dwMaxSubkeyNameLength);
if (nError != ERROR_SUCCESS)
TCHAR *pszSubkeyNameBuffer = new TCHAR[dwMaxSubkeyNameLength];
if (!pszSubkeyNameBuffer)
throw ERROR_OUTOFMEMORY;
-
+
Key.InitSubkeyEnumeration(pszSubkeyNameBuffer,dwMaxSubkeyNameLength);
while ((nError = Key.GetNextSubkeyName()) == ERROR_SUCCESS)
{
}
delete pszSubkeyNameBuffer;
-
+
if (nError != ERROR_NO_MORE_ITEMS)
throw nError;
nError = Key.GetMaxValueNameLength(dwMaxValueNameBufferSize);
if (nError != ERROR_SUCCESS)
throw nError;
-
+
TCHAR *pchValueNameBuffer = new TCHAR[dwMaxValueNameBufferSize];
if (!pchValueNameBuffer)
throw ERROR_OUTOFMEMORY;
-
+
DWORD Type;
Key.InitValueEnumeration(pchValueNameBuffer,
nTotalItems++;
}
}
-
+
delete pchValueNameBuffer;
-
+
if (nError != ERROR_NO_MORE_ITEMS)
throw nError;
-
+
} // try
catch (LONG nError)
{
rConsole.Write(_itoa(nError,Buffer,10));
rConsole.Write(_T("\n"));
}
-
+
rConsole.Write(_T("\n Total: "));
TCHAR Buffer[256];
rConsole.Write(_ui64tot(nTotalItems,Buffer,10));