| 10 | return list; |
| 11 | } |
| 12 | VOID LoadIntegerListFromRegistryKey(PINTEGER_LIST list, HKEY key) |
| 13 | { |
| 14 | DWORD count; |
| 15 | if (RegQueryInfoKeyW(key, NULL, NULL, NULL, NULL, NULL, NULL, &count, NULL, NULL, NULL, NULL) == ERROR_SUCCESS) |
| 16 | { |
| 17 | WCHAR valueName[100]; |
| 18 | |
| 19 | for (DWORD i = 0; i < count; i++) |
| 20 | { |
| 21 | DWORD valueNameLength = 100; |
| 22 | DWORD type; |
| 23 | DWORD value; |
| 24 | DWORD valueSize = sizeof(DWORD); |
| 25 | |
| 26 | if (RegEnumValueW(key, i, valueName, &valueNameLength, NULL, &type, (LPBYTE)&value, &valueSize) == ERROR_SUCCESS && type == REG_DWORD && !IntegerListContains(list, value)) |
| 27 | { |
| 28 | IntegerListAdd(list, value); |
| 29 | } |
| 30 | } |
| 31 | } |
| 32 | } |
| 33 | VOID DeleteIntegerList(PINTEGER_LIST list) |
| 34 | { |
| 35 | FREE(list->Values); |
no test coverage detected