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 |
---|---|
|
Indique un marshaleur standard agrégé côté serveur. |
|
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 |