CList has no copy constructor and no copy Operator. So the easiest way is to pass an CList object as a reference to the function.
void FunctionToGetListData(CList<CString,CString> &listData)
{
listData.RemobveAll();
...
Call the function just in using the list as an argument:
CList<CString,CString> listData;
FunctionToGetListData(listData);
Or use std:list. you can easily return a std::list from a function.