Funzione CoGetInterfaceAndReleaseStream (combaseapi.h)
Annulla il marshalling di un buffer contenente un puntatore dell'interfaccia e rilascia il flusso quando un puntatore dell'interfaccia è stato eseguito il marshalling da un altro thread al thread chiamante.
Sintassi
HRESULT CoGetInterfaceAndReleaseStream(
[in] LPSTREAM pStm,
[in] REFIID iid,
[out] LPVOID *ppv
);
Parametri
[in] pStm
Puntatore all'interfaccia IStream nel flusso da annullare.
[in] iid
Riferimento all'identificatore dell'interfaccia richiesta dall'oggetto non gestito.
[out] ppv
Indirizzo della variabile puntatore che riceve il puntatore dell'interfaccia richiesto in riid. Al termine della restituzione, *ppv contiene il puntatore dell'interfaccia richiesto all'interfaccia non modificata.
Valore restituito
Questa funzione può restituire i valori restituiti standard S_OK e E_INVALIDARG, nonché uno dei valori restituiti da CoUnmarshalInterface.
Commenti
Nota sulla sicurezza: la chiamata a questo metodo con dati non attendibili è un rischio di sicurezza. Chiamare questo metodo solo con dati attendibili.
- Chiama CoUnmarshalInterface per annullare ilmarshal di un puntatore di interfaccia passato in precedenza in una chiamata a CoMarshalInterThreadInterfaceInStream.
- Rilascia il puntatore di flusso. Anche se il nonmarshaling ha esito negativo, il flusso viene ancora rilasciato perché non esiste alcun modo efficace per ripristinare da un errore di questo tipo.
Requisiti
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 |