MCPcopy Create free account
hub / github.com/BeneficialCode/WinArk / Execute

Method Execute

WinArk/CreateValueCommand.cpp:10–36  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

8}
9
10bool CreateValueCommand::Execute() {
11 auto key = Registry::OpenKey(GetPath(), KEY_SET_VALUE);
12 if (!key)
13 return false;
14
15 DWORD size = 0;
16 switch (GetType())
17 {
18 case REG_DWORD: size = 4; break;
19 case REG_QWORD: size = 8; break;
20 case REG_SZ:
21 case REG_EXPAND_SZ:
22 size = 2;
23 break;
24
25 case REG_MULTI_SZ:
26 size = 4;
27 break;
28 }
29 BYTE dummy[8] = { 0 };
30 auto error = key.SetValue(GetName(), GetType(), dummy, _size = size);
31 ::SetLastError(error);
32 if (ERROR_SUCCESS != error)
33 return false;
34
35 return InvokeCallback(true);
36}
37
38bool CreateValueCommand::Undo() {
39 auto key = Registry::OpenKey(GetPath(), KEY_WRITE);

Callers

nothing calls this directly

Calls 1

SetValueMethod · 0.45

Tested by

no test coverage detected