Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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 |