1 The native Windows ImageList control provides this support through the IStream interface (ImageList_Read and ImageList_Write). MFC then abstracts the IStream interface by wrapping it with a CArchiveStream object which can be constructed with a regular CArchive. You can also use COleStreamFile to construct a stream in memory.
2 any object supporting an IStream interface.
3 ask Bill Gates for the source code of Windows.