if( !m_bLoad )
{
m_bLoad = TRUE; //取程序路径文件命
TCHAR szFullPath[MAX_PATH]; 
CString szPath;
::GetModuleFileName( NULL, szFullPath, MAX_PATH);
szPath.Format( _T("%s"), szFullPath);
szPath.Replace( "\\", ">"); //组合成注册表路径
SubKey.Format( "Software\\%s\\%d", szPath, GetDlgCtrlID());
} //清空记录
m_arrRecord.RemoveAll(); CRegKey rk;
CString KeyValue;
char szValue[1024];
CString szCount;
int iCount = 0; long lResult = rk.Open( HKEY_CURRENT_USER, (LPCTSTR)SubKey); //如果不存在则创建
if( lResult == ERROR_FILE_NOT_FOUND )
{
lResult = rk.Create( HKEY_CURRENT_USER, (LPCTSTR)SubKey);
}
ULONG ulSize = 1024;
while(true)
{
if( lResult != ERROR_SUCCESS )
break;//退出循环 szCount.Format( "%.2d", ++iCount);
memset( szValue, '\0', 1024); lResult = rk.QueryStringValue( (LPCTSTR)szCount, szValue, &ulSize); KeyValue = szValue;
KeyValue.Trim();
if( !KeyValue.IsEmpty() )
{
m_arrRecord.Add((LPCTSTR)KeyValue);
}
} rk.Close();
在注册表中的形式是
01              中国
02              美国
03              俄罗斯
04              印度
05              加拿大
06              ……
……            ……
在读取几天记录后  
lResult = rk.QueryStringValue( (LPCTSTR)szCount, szValue, &ulSize);
出现ERROR_MORE_DATA的错误 这个错误啥意思啊?  怎么解决啊?