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:
- Crea un oggetto stream.
- Passa il puntatore IStream dell'oggetto di flusso a CoMarshalInterface.
- 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 |