IStream.Clone Disk file

I am trying to copy the binary data of a disk file to a stream in a
structured storage file.

I get to the point of converting the disk file to a storage stream
'contents' and go to clone to an open stream and all my HRESULTs come up 0,
which leads me to believe all is well, but the open stream remains empty.

<snip>

var
   CStorage: IStorage;
   CStream: IStream;

begin

//Open stream in SS_OpenStorage {SS_ my global variables}
   SS_Hr := SS_OpenStorage.CreateStream(  PWideChar( sStreamName ),
                                   ( STGM_DIRECT or STGM_SHARE_EXCLUSIVE or
STGM_READWRITE or STGM_CREATE ),
                                   0,
                                   0,
                                   SS_OpenStream
                                   );

  SS_Hr := StgCreateDocFile( PWideChar( sFileName ),
                             ( STGM_CONVERT or STGM_READWRITE or
STGM_SHARE_EXCLUSIVE),
                             0,
                             CStorage
                              );

   SS_Hr := CStorage.OpenStream( 'Contents' ,
                                 nil,
                                 ( STGM_DIRECT or STGM_SHARE_EXCLUSIVE or
STGM_READWRITE )
                                 0,
                                 CStream
                                );

   SS_Hr := CStream.Clone( SS_OpenStream );

</snip>

SS_OpenStream is empty

SS_HR := 0  //on all

The size of CStream is correct.

Any help would be appreciated.

Nic