Freigeben über


CoGetStdMarshalEx-Funktion (combaseapi.h)

Erstellt einen aggregierten Standard marshaler für die Verwendung mit einfachen clientseitigen Handlern.

Syntax

HRESULT CoGetStdMarshalEx(
  [in]  LPUNKNOWN pUnkOuter,
  [in]  DWORD     smexflags,
  [out] LPUNKNOWN *ppUnkInner
);

Parameter

[in] pUnkOuter

Ein Zeiger auf das steuernde IUnknown.

[in] smexflags

Einer von zwei Werten, die angibt, ob sich der aggregierte Standard marshaler auf der Client- oder serverseite befindet. Diese Flags werden in der STDMSHLFLAGS-Enumeration definiert.

Wert Bedeutung
SMEXF_SERVER
0x01
Gibt einen serverseitigen aggregierten Standard marshaler an.
SMEXF_HANDLER
0x0
Gibt einen clientseitigen (Handler) aggregierten Standard marshaler an.

[out] ppUnkInner

Bei erfolgreicher Rückgabe die Adresse des Zeigers auf die IUnknown-Schnittstelle des neu erstellten aggregierten Standard marshalers. Wenn ein Fehler auftritt, ist dieser Wert NULL.

Rückgabewert

Diese Funktion gibt S_OK zurück.

Hinweise

Der Server ruft CoGetStdMarshalEx auf und übergibt das Flag SMEXF_SERVER. Dadurch wird ein serverseitiger Standard marshaler (bekannt als Stub-Manager) erstellt. Der Handler ruft CoGetStdMarshalEx auf und übergibt das Flag SMEXF_HANDLER. Dadurch wird ein clientseitiger Standard marshaler (als Proxy-Manager bezeichnet) erstellt. Beachten Sie, dass der Handler beim Aufrufen dieser Funktion die ursprüngliche Steuerung unbekannt übergeben muss, die beim Erstellen des Handlers an den Handler übergeben wurde. Dies ist das system implementierte Steuerung unbekannt. Fehler beim Übergeben des richtigen IUnknown führt zu einem Fehler, der zurückgegeben wird. Bei Erfolg ist der zurückgegebene ppUnkInner das steuernde Unbekannte des inneren Objekts. Der Server und der Handler müssen diesen Zeiger beibehalten und können ihn verwenden, um IUnknown::QueryInterface für die IMarshal-Schnittstelle aufzurufen.

Anforderungen

   
Unterstützte Mindestversion (Client) Windows 2000 Professional [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows 2000 Server [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile combaseapi.h (include Objbase.h)
Bibliothek Ole32.lib
DLL Ole32.dll

Weitere Informationen

IMarshal

IStdMarshalInfo

Der leichte Client-Side-Handler