[NTOBJSHEX] Fix displayed registry value type and icon (#4949)
authorSerge Gautherie <32623169+SergeGautherie@users.noreply.github.com>
Wed, 21 Dec 2022 12:42:36 +0000 (13:42 +0100)
committerGitHub <noreply@github.com>
Wed, 21 Dec 2022 12:42:36 +0000 (15:42 +0300)
- RegistryTypeNames[]: Remove an unwanted space

- CRegistryFolderExtractIcon::GetIconLocation():
  Add the REG_ENTRY_VALUE_WITH_CONTENT case

- CRegistryFolder::GetDetailsOf(): Fix copypasta

- CRegistryFolder::FormatValueData(): Fix magic constant

CORE-18747

dll/shellext/ntobjshex/ntobjenum.cpp
dll/shellext/ntobjshex/regfolder.cpp

index 62d1b19..1d2c6c5 100644 (file)
@@ -43,7 +43,7 @@ const LPCWSTR RegistryTypeNames [] = {
     L"REG_MULTI_SZ",
     L"REG_RESOURCE_LIST",
     L"REG_FULL_RESOURCE_DESCRIPTOR",
-    L"REG_RESOURCE_REQUIREMENTS_LIST ",
+    L"REG_RESOURCE_REQUIREMENTS_LIST",
     L"REG_QWORD"
 };
 
index e8369f8..83683f0 100644 (file)
@@ -71,6 +71,7 @@ HRESULT STDMETHODCALLTYPE CRegistryFolderExtractIcon::GetIconLocation(
             return S_OK;
 
         case REG_ENTRY_VALUE:
+        case REG_ENTRY_VALUE_WITH_CONTENT:
             GetModuleFileNameW(g_hInstance, szIconFile, cchMax);
             *piIndex = -IDI_REGISTRYVALUE;
             *pwFlags = flags;
@@ -299,7 +300,7 @@ HRESULT STDMETHODCALLTYPE CRegistryFolder::GetDetailsOf(
                     return MakeStrRetFromString(L"Key", &(psd->str));
                 }
 
-                return MakeStrRetFromString(RegistryTypeNames[info->entryType], &(psd->str));
+                return MakeStrRetFromString(RegistryTypeNames[info->contentType], &(psd->str));
             }
 
             case REGISTRY_COLUMN_VALUE:
@@ -490,7 +491,7 @@ HRESULT CRegistryFolder::FormatValueData(DWORD contentType, PVOID td, DWORD cont
 {
     switch (contentType)
     {
-        case 0:
+        case REG_NONE:
         {
             PCWSTR strTodo = L"";
             DWORD bufferLength = (wcslen(strTodo) + 1) * sizeof(WCHAR);