Probably, you have your own list class. If you use the standard list (from STL), wrap it in a class. It should be derived from the CObject. Add the serialize methods and macros. Then, in the loop, you will write or read the data from the archive, like:
if( archive.IsStoring() )
{
for (it = list.begin(); it != list.end(); ++it)
archive << *iter;
}
MSDN. Serialization: Making a Serializable Class
http://msdn.microsoft.com/en-us/library/00hh13h0(VS.80).aspxCObArray class in MFC supports the serialization and can work with the pointers. It, maybe, can be a good replacement.
http://msdn.microsoft.com/en-us/library/088sck34(VS.80).aspx