CoMarshalHresult

This function marshals an HRESULT to the specified stream, from which it can be unmarshaled using the CoUnmarshalHresult function.

STDAPI CoMarshalHresult(
  IStream* pStm,
  HRESULT hresult 
);

Parameters

  • pStm
    [in] Pointer to the marshaling stream.
  • hresult
    [in] HRESULT in the originating process.

Return Values

This function supports the standard return values E_OUTOFMEMORY and E_UNEXPECTED, as well as the following:

  • S_OK
    The HRESULT was marshaled successfully.
  • STG_E_INVALIDPOINTER
    Bad pointer passed in for pStm.
  • STG_E_MEDIUMFULL
    The medium is full.

Remarks

An HRESULT is process-specific, so an HRESULT that is valid in one process might not be valid in another. If you are writing your own implementation of IMarshal and need to marshal an HRESULT from one process to another, either as a parameter or a return code, you must call this function. In other circumstances, you will have no need to call this function.

This function performs the following tasks:

  1. Writes an HRESULT to a stream.
  2. Returns an IStream pointer to that stream.

To determine whether the platform supports this function, see Determining Supported COM APIs.

Requirements

OS Versions: Windows CE 3.0 and later.
Header: Objbase.h.
Link Library: Ole32.lib.

Last updated on Wednesday, April 13, 2005

© 2005 Microsoft Corporation. All rights reserved.