| 158 | } |
| 159 | |
| 160 | static LIST* get_value_names(HKEY key, char const* path) |
| 161 | { |
| 162 | LIST* result = 0; |
| 163 | |
| 164 | if ( ERROR_SUCCESS == RegOpenKeyEx(key, path, 0, KEY_QUERY_VALUE, &key) ) |
| 165 | { |
| 166 | char name[MAX_REGISTRY_VALUENAME_LENGTH]; |
| 167 | DWORD name_size = sizeof(name); |
| 168 | DWORD index; |
| 169 | |
| 170 | for ( index = 0; |
| 171 | ERROR_SUCCESS == RegEnumValue( |
| 172 | key, index, name, &name_size, 0, 0, 0, 0); |
| 173 | ++index, |
| 174 | name_size = sizeof(name) |
| 175 | ) |
| 176 | { |
| 177 | name[name_size] = 0; |
| 178 | result = list_append(result, list_new(object_new(name))); |
| 179 | } |
| 180 | |
| 181 | RegCloseKey(key); |
| 182 | } |
| 183 | |
| 184 | return result; |
| 185 | } |
| 186 | |
| 187 | LIST * builtin_system_registry_names( FRAME * frame, int flags ) |
| 188 | { |
no test coverage detected