Condividi tramite


Funzione CoGetStdMarshalEx (combaseapi.h)

Crea un marshalling standard aggregato da usare con gestori lato client leggeri.

Sintassi

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

Parametri

[in] pUnkOuter

Puntatore al controllo di IUnknown.

[in] smexflags

Uno dei due valori che indica se il marshalling standard aggregato si trova sul lato client o sul lato server. Questi flag sono definiti nell'enumerazione STDMSHLFLAGS .

Valore Significato
SMEXF_SERVER
0x01
Indica un marshalling standard aggregato sul lato server.
SMEXF_HANDLER
0x0
Indica un marshalling standard aggregato sul lato client (gestore).

[out] ppUnkInner

In caso di esito positivo, indirizzo del puntatore all'interfaccia IUnknown nel marshalling standard aggregato appena creato. Se si verifica un errore, questo valore è NULL.

Valore restituito

Questa funzione restituisce S_OK.

Commenti

Il server chiama CoGetStdMarshalEx passando il flag SMEXF_SERVER. In questo modo viene creato un marshalling standard sul lato server (noto come gestore stub). Il gestore chiama CoGetStdMarshalEx passando il flag SMEXF_HANDLER. In questo modo viene creato un marshalling standard lato client (noto come gestione proxy). Si noti che quando si chiama questa funzione, il gestore deve passare il controllo originale sconosciuto passato al gestore al momento della creazione del gestore. Questo sarà il sistema implementato controllo sconosciuto. Non è possibile passare il valore IUnknown corretto genera un errore restituito. In caso di esito positivo, il ppUnkInner restituito è il controllo sconosciuto dell'oggetto interno. Il server e il gestore devono mantenere questo puntatore e può usarlo per chiamare IUnknown::QueryInterface per l'interfaccia IMarshal .

Requisiti

   
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione combaseapi.h (include Objbase.h)
Libreria Ole32.lib
DLL Ole32.dll

Vedi anche

IMarshal

IStdMarshalInfo

Gestore Leggero Client-Side