CoMarshalInterface(3w)

NAME

CoMarshalInterface (OLE32.@)

SYNOPSIS

HRESULT CoMarshalInterface
 (
  IStream*  pStream,
  REFIID    riid,
  IUnknown* pUnk,
  DWORD     dwDestContext,
  void*     pvDestContext,
  DWORD     mshlFlags
 )

DESCRIPTION

Marshals an interface into a stream so that the object can then be unmarshaled from another COM apartment and used remotely.

PARAMS

pStream [In] Stream the object will be marshaled into.

riid [In] Identifier of the interface to marshal.

pUnk [In] Pointer to the object to marshal.

dwDestContext [In] Destination. Used to enable or disable optimizations.

pvDestContext [In] Reserved. Must be NULL.

mshlFlags [In] Flags that affect the marshaling. See notes.

RETURNS

Success: S_OK.

Failure: HRESULT code.

NOTES

The mshlFlags parameter can take one or more of the following flags:
MSHLFLAGS_NORMAL - Unmarshal once, releases stub on last proxy
release.
MSHLFLAGS_TABLESTRONG - Unmarshal many, release when CoReleaseMarshal
Data() called.
MSHLFLAGS_TABLEWEAK - Unmarshal many, releases stub on last proxy
release.
MSHLFLAGS_NOPING - No automatic garbage collection (and so reduces
network traffic).
If a marshaled object is not unmarshaled, then CoReleaseMarshalData(3w) must be called in order to release the resources used in the marshaling.

SEE ALSO

CoUnmarshalInterface(), CoReleaseMarshalData(3w).

IMPLEMENTATION

Defined in "objbase.h".

Implemented in "build/buildd-wine-unstable_1.1.32-1+b1-amd64-KnxYu0/wine-unstable-1.1.32/build32/dlls/ole32/marshal.c".

Debug channel "ole".
Copyright © 2010-2025 Platon Technologies, s.r.o.           Home | Man pages | tLDP | Documents | Utilities | About
Design by styleshout