Condividi tramite


Funzione CoMarshalInterThreadInterfaceInStream (combaseapi.h)

Esegue il marshalling di un puntatore dell'interfaccia da un thread a un altro thread nello stesso processo.

Sintassi

HRESULT CoMarshalInterThreadInterfaceInStream(
  [in]  REFIID    riid,
  [in]  LPUNKNOWN pUnk,
  [out] LPSTREAM  *ppStm
);

Parametri

[in] riid

Riferimento all'identificatore dell'interfaccia da eseguire per il marshalling.

[in] pUnk

Puntatore all'interfaccia da eseguire per il marshalling, che deve essere derivato da IUnknown. Questo parametro può essere NULL.

[out] ppStm

Indirizzo della variabile puntatore IStream* che riceve il puntatore dell'interfaccia al flusso che contiene l'interfaccia con marshalling.

Valore restituito

Questa funzione può restituire i valori restituiti standard E_OUTOFMEMORY e S_OK.

Commenti

La funzione CoMarshalInterThreadInterfaceInStream consente a un oggetto di eseguire facilmente e in modo affidabile il marshalling di un puntatore dell'interfaccia a un altro thread nello stesso processo. Il flusso restituito nel parametro ppStm è garantito il comportamento corretto quando un client in esecuzione nel thread ricevente tenta di annullare il puntatore. Il client può quindi chiamare CoGetInterfaceAndReleaseStream per annullare il puntatore dell'interfaccia e rilasciare l'oggetto stream.

La funzione CoMarshalInterThreadInterfaceInStream esegue le attività seguenti:

  1. Crea un oggetto stream.
  2. Passa il puntatore IStream dell'oggetto di flusso a CoMarshalInterface.
  3. Restituisce il puntatore IStream al chiamante.

Requisiti

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

Vedi anche

CoGetInterfaceAndReleaseStream