IMarshal::ReleaseMarshalData

HRESULT IMarshal::ReleaseMarshalData(pstm)

This function is called by CoReleaseMarshalData() in order to actually carry out the destruction of a marshaled-data-packet. See that function for more details.

Note that whereas the IMarshal methods


   GetUmarshalClass
   GetMarshalSizeMax
   MarshalInterface
   Disconnect

are always called on the IMarshal interface instance in the originating side (server side), the method


   UnmarshalInterface

is called on the receiving (client) side. (This should be no surprise.) However, the function


   ReleaseMarshalData

(when needed) will be called on the receiving (client) side if the appropriate IMarshal instance can be successfully created there; otherwise, it is invoked on the originating (server) side.

Argument

Type

Description

pstm

IStream*

as in CoReleaseMarshalData().

return value

HRESULT

as in CoReleaseMarshalData().