Note
Access to this page requires authorization. You can try signing in or changing directories.
Access to this page requires authorization. You can try changing directories.
Destroys a previously marshaled data packet.
Syntax
HRESULT CoReleaseMarshalData(
[in] LPSTREAM pStm
);
Parameters
[in] pStm
A pointer to the stream that contains the data packet to be destroyed. See IStream.
Return value
This function can return the standard return values E_FAIL, E_INVALIDARG, E_OUTOFMEMORY, and E_UNEXPECTED, as well as the following values.
Return code | Description |
---|---|
|
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. |
Remarks
Security Note: Calling this method with untrusted data is a security risk. Call this method only with trusted data.
- 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.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Windows 2000 Professional [desktop apps | UWP apps] |
Minimum supported server | Windows 2000 Server [desktop apps | UWP apps] |
Target Platform | Windows |
Header | combaseapi.h (include Objbase.h) |
Library | Ole32.lib |
DLL | Ole32.dll |