FtmBase::MarshalInterface-Methode

Schreibt in einem Stream, der Daten, die zum Aufrufen eines Proxyobjekts in einem Clientprozess nicht initialisiert werden müssen.

STDMETHODIMP MarshalInterface(
   __in IStream *pStm,
   __in REFIID riid,
   __in_opt void *pv,
   __in DWORD dwDestContext,
   __reserved void *pvDestContext,
   __in DWORD mshlflags
) override;

Parameter

  • pStm
    Während des Marshallens Zeiger auf den Stream verwendet werden soll.

  • riid
    Verweis auf den Bezeichner der zu marshallende Schnittstelle.Diese Schnittstelle muss von der IUnknown-Schnittstelle abgeleitet werden.

  • pv
    Zeiger auf den Schnittstellenzeiger gemarshallt werden soll. NULL sein kann, wenn der Aufrufer einen Zeiger nicht auf die gewünschte Schnittstelle verfügt.

  • dwDestContext
    Zielkontext, in dem die angegebene Schnittstelle das Marshalling rückgängig gemacht werden soll.

    Geben Sie eine oder mehrere MSHCTX-Enumerationswerte an.

    Unmarshalling kann in ein anderes Apartment des aktuellen Prozesses (MSHCTX_INPROC) oder in einem anderen Prozess auf demselben Computer wie der aktuellen Prozess (MSHCTX_LOCAL) auftreten.

  • pvDestContext
    Für die zukünftige Verwendung reserviert. Muss 0 (null) sein.

  • mshlflags
    Gibt an, ob die Daten sollen an den Clientprozess gesendet werden — Der typische Fall — oder einem globalen Tabelle geschrieben sind gemarshallt wird, in dem sie von mehreren Clients abgerufen werden kann.

Rückgabewert

  • S_OK
    Der Schnittstellenzeiger wurde erfolgreich gemarshallt.

  • E_NOINTERFACE
    Die angegebene Schnittstelle wird nicht unterstützt.

  • STG_E_MEDIUMFULL
    Der Stream ist voll.

  • E_FAIL
    Der Vorgang ist fehlgeschlagen.

Anforderungen

Header: ftm.h

Namespace: Microsoft:: WRL

Siehe auch

Referenz

FtmBase-Klasse