Destroys a previously marshaled data packet.
HRESULT CoReleaseMarshalData( LPSTREAM pStm );
A pointer to the stream that contains the data packet to be destroyed. See IStream.
This function can return the standard return values E_FAIL, E_INVALIDARG, E_OUTOFMEMORY, and E_UNEXPECTED, as well as the following values.
||The data packet was successfully destroyed.|
||An error related to the pStm parameter.|
||The CoInitialize or OleInitialize function was not called on the current thread before this function was called.|
Security Note: Calling this method with untrusted data is a security risk. Call this method only with trusted data. For more information, see Untrusted Data Security Risks.
- The function reads a CLSID from the stream.
- If COM's default marshaling implementation is being used, the function gets an IMarshal pointer to an instance of the standard unmarshaler. If custom marshaling is being used, the function creates a proxy by calling the CoCreateInstance function, passing the CLSID it read from the stream, and requests an IMarshal interface pointer to the newly created proxy.
- Using whichever IMarshal interface pointer it has acquired, the function calls IMarshal::ReleaseMarshalData.
- An attempt was made to unmarshal the data packet, but it failed.
- A marshaled data packet was removed from a global table.
Note that you do not need to call CoReleaseMarshalData after a successful call of the CoUnmarshalInterface function; that function releases the marshal data as part of the processing that it does.
|Minimum supported client||Windows 2000 Professional [desktop apps | UWP apps]|
|Minimum supported server||Windows 2000 Server [desktop apps | UWP apps]|
|Header||combaseapi.h (include Objbase.h)|