Partager via


CoGetStdMarshalEx, fonction (combaseapi.h)

Crée un marshaleur standard agrégé à utiliser avec des gestionnaires légers côté client.

Syntaxe

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

Paramètres

[in] pUnkOuter

Pointeur vers le contrôle IUnknown.

[in] smexflags

L’une des deux valeurs indiquant si le marshaleur standard agrégé se trouve côté client ou côté serveur. Ces indicateurs sont définis dans l’énumération STDMSHLFLAGS .

Valeur Signification
SMEXF_SERVER
0x01
Indique un marshaleur standard agrégé côté serveur.
SMEXF_HANDLER
0x0
Indique un marshaleur standard agrégé côté client (gestionnaire).

[out] ppUnkInner

En cas de retour réussi, adresse du pointeur vers l’interface IUnknown sur le marshaleur standard agrégé nouvellement créé. Si une erreur se produit, cette valeur est NULL.

Valeur retournée

Cette fonction retourne S_OK.

Remarques

Le serveur appelle CoGetStdMarshalEx en passant l’indicateur SMEXF_SERVER. Cela crée un marshaleur standard côté serveur (appelé gestionnaire de stubs). Le gestionnaire appelle CoGetStdMarshalEx en passant l’indicateur SMEXF_HANDLER. Cela crée un marshaleur standard côté client (appelé gestionnaire de proxy). Notez que lors de l’appel de cette fonction, le gestionnaire doit passer le contrôle d’origine inconnu qui a été passé au gestionnaire lors de la création du gestionnaire. Il s’agit du système implémenté contrôlant inconnu. L’échec de la réussite du IUnknown correct entraîne une erreur retournée. En cas de réussite, le ppUnkInner retourné est l’inconnu de contrôle de l’objet interne. Le serveur et le gestionnaire doivent conserver ce pointeur et peuvent l’utiliser pour appeler IUnknown::QueryInterface pour l’interface IMarshal .

Configuration requise

   
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête combaseapi.h (inclure Objbase.h)
Bibliothèque Ole32.lib
DLL Ole32.dll

Voir aussi

IMarshal

IStdMarshalInfo

Gestionnaire de Client-Side léger