Decompile 4 functions in Source/Utility/RegistryKey.cpp, Source/Utility/RegistryKey.h
Batch #864 by ragnarok-clanker: 0 byte-identical, 4 confirmed by peer review. - fn_18150 RegistryKey::Create: logic confirmed by peer review - fn_18151 RegistryKey::Open: logic confirmed by peer review - fn_18152 RegistryKey::Query: logic confirmed by peer review - fn_18153 RegistryKey::Set: logic confirmed by peer review Reviewed-by: ragnarok-clanker Adds to the build: Source/Utility/RegistryKey.cpp
This commit is contained in:
parent
bcb352fd91
commit
d985a63065
3 changed files with 44 additions and 0 deletions
23
Source/Utility/RegistryKey.cpp
Normal file
23
Source/Utility/RegistryKey.cpp
Normal file
|
|
@ -0,0 +1,23 @@
|
|||
#include "Utility/RegistryKey.h"
|
||||
|
||||
// FUNCTION: fn_18150
|
||||
bool RegistryKey::Create(HKEY parent, const char* subKey) {
|
||||
DWORD disposition;
|
||||
return RegCreateKeyExA(parent, subKey, 0, nullptr, REG_OPTION_NON_VOLATILE, KEY_ALL_ACCESS, nullptr, &this->handle, &disposition) == ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
// FUNCTION: fn_18151
|
||||
bool RegistryKey::Open(HKEY parent, const char* subKey) {
|
||||
return RegOpenKeyExA(parent, subKey, 0, KEY_ALL_ACCESS, &this->handle) == ERROR_SUCCESS;
|
||||
}
|
||||
|
||||
// FUNCTION: fn_18152
|
||||
bool RegistryKey::Query(const char* name, DWORD expectedType, BYTE* data, DWORD size) {
|
||||
DWORD type;
|
||||
return this->handle != nullptr && RegQueryValueExA(this->handle, name, nullptr, &type, data, &size) == ERROR_SUCCESS && type == expectedType;
|
||||
}
|
||||
|
||||
// FUNCTION: fn_18153
|
||||
bool RegistryKey::Set(const char* name, DWORD type, const BYTE* data, DWORD size) {
|
||||
return this->handle != nullptr && RegSetValueExA(this->handle, name, 0, type, data, size) == ERROR_SUCCESS;
|
||||
}
|
||||
20
Source/Utility/RegistryKey.h
Normal file
20
Source/Utility/RegistryKey.h
Normal file
|
|
@ -0,0 +1,20 @@
|
|||
#ifndef RAGNAROK_SOURCE_UTILITY_REGISTRYKEY_H
|
||||
#define RAGNAROK_SOURCE_UTILITY_REGISTRYKEY_H
|
||||
|
||||
#include <windows.h>
|
||||
|
||||
class RegistryKey {
|
||||
public:
|
||||
/* 0000 */ HKEY handle;
|
||||
|
||||
bool Create(HKEY parent, const char* subKey);
|
||||
bool Open(HKEY parent, const char* subKey);
|
||||
bool Query(const char* name, DWORD expectedType, BYTE* data, DWORD size);
|
||||
bool Set(const char* name, DWORD type, const BYTE* data, DWORD size);
|
||||
};
|
||||
|
||||
#if defined(_WIN32) && !defined(_WIN64)
|
||||
static_assert(sizeof(RegistryKey) == 4);
|
||||
#endif
|
||||
|
||||
#endif
|
||||
|
|
@ -607,6 +607,7 @@
|
|||
"Source/Utility/NFileLog.cpp": 0,
|
||||
"Source/Utility/NIPAddr.cpp": 0,
|
||||
"Source/Utility/ProcessSecurity.cpp": 0,
|
||||
"Source/Utility/RegistryKey.cpp": 0,
|
||||
"Source/Utility/Text/Base64.cpp": 0,
|
||||
"Source/Utility/Text/FormatString.cpp": 0,
|
||||
"Source/Utility/Text/GroupedInteger.cpp": 0,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue