【发布时间】:2013-11-22 16:53:55
【问题描述】:
我正在尝试从注册表中读取 DWORD 值。在注册表中,它存储为 0x00000068 (104)。当我从注册表中读取值时,我得到一个非常大的数字(3435973836)。任何帮助表示赞赏!
DWORD getRecentId(PDWORD id) {
HKEY hKey;
LONG lRes = RegOpenKeyEx(HKEY_CURRENT_USER, _T("SOFTWARE\\My App\\Feed Reader"), 0, KEY_QUERY_VALUE, &hKey);
if (!lRes == ERROR_SUCCESS)
{
RegCloseKey(hKey);
return ERROR_FILE_NOT_FOUND;
}
DWORD dwSize = sizeof(DWORD);
lRes = RegQueryValueEx(hKey, _T("Latest"), NULL, NULL, (LPBYTE)&id, &dwSize);
if (!lRes == ERROR_SUCCESS)
{
RegCloseKey(hKey);
return ERROR_NOT_ENOUGH_MEMORY;
}
RegCloseKey(hKey);
return lRes;
}
【问题讨论】:
-
不要取id的地址,已经是指针了。使用 (LPBYTE)id。