		DWORD index = 0;
		while (index < 100000)
		{
			WCHAR name[MAX_PATH];
			DWORD name_size = MAX_PATH;
			FILETIME last_write_time;
			LONG result = RegEnumKeyEx(impl->key, index++, name, &name_size, 0, 0, 0, &last_write_time);
			if (result == ERROR_NO_MORE_ITEMS)
				break;
			if (result != ERROR_SUCCESS)
				continue;