You cannot get the position from the CArchive
object directly, but you can obtain it from the underlying stream - COleStreamFile
in your case. Simply call CFile::GetPosition.
Example:
COleStreamFile stream;
//Stream is pointed to footer location.
stream.OpenStream(m_pStg, "Footer", nOpenFlags, pError); // pStg is LPSTORAGE
CArchive ar(&stream, CArchive::load);
// Add some data.
ar << someData;
// And get the current position.
int currentPos = stream.GetPosition();