Excluindo valores da chave do Registro

No MSDN, ele diz que RegEnumValue não deve ser usado ao chamar funções que alteram as chaves do Registro que estão sendo enumeradas.

Então, isso também se aplica à exclusão dos valores da chave do Registro?

Como este código faz:

if (RegOpenKeyEx(m_hkey,m_path.c_str(),0,KEY_ALL_ACCESS,&key) == ERROR_SUCCESS)
 {
  bool error=false;
  idx=0;
  while (RegEnumValue(key,idx,name,&namesize,NULL,NULL,NULL,NULL) == ERROR_SUCCESS && !error)
  {
   error=(RegDeleteValue(key,name)!=ERROR_SUCCESS);
   idx++;
  }
  RegCloseKey(key);
 }