RegEnumValue错误代码259

时间:2017-05-30 15:54:49

标签: c++ windows winapi

我想删除注册表中特定键的所有值。 我使用以下代码:

    HKEY registryKey = NULL;
RegOpenKeyEx(HKEY_CURRENT_USER, TEXT("Software\\Microsoft\\Windows\\CurrentVersion\\Explorer\\TypedPaths"), 0, KEY_ALL_ACCESS, &registryKey);

LONG result = ERROR_SUCCESS;

for (int i = 0; result == ERROR_SUCCESS; i++) {
    TCHAR name[16383];
    DWORD chars = sizeof(name);

    result = RegEnumValue(registryKey, i, name, &chars, NULL, NULL, NULL, NULL);
    RegDeleteValue(registryKey, name);
}

RegCloseKey(registryKey);

此代码存在问题,只会删除一半的密钥并返回错误代码259(ERROR_NO_MORE_ITEMS)

0 个答案:

没有答案