Funzione CoReleaseMarshalData (combaseapi.h)
Elimina un pacchetto di dati con marshalling precedentemente.
Sintassi
HRESULT CoReleaseMarshalData(
[in] LPSTREAM pStm
);
Parametri
[in] pStm
Puntatore al flusso contenente il pacchetto di dati da eliminare. Vedere IStream.
Valore restituito
Questa funzione può restituire i valori restituiti standard E_FAIL, E_INVALIDARG, E_OUTOFMEMORY e E_UNEXPECTED, nonché i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Il pacchetto di dati è stato eliminato correttamente. |
|
Errore correlato al parametro pStm . |
|
La funzione CoInitialize o OleInitialize non è stata chiamata nel thread corrente prima che questa funzione sia stata chiamata. |
Commenti
Nota sulla sicurezza: la chiamata a questo metodo con dati non attendibili è un rischio di sicurezza. Chiamare questo metodo solo con dati attendibili.
- La funzione legge un CLSID dal flusso.
- Se viene usata l'implementazione predefinita del marshalling COM, la funzione ottiene un puntatore IMarshal a un'istanza del nonmarshaler standard. Se viene usato il marshalling personalizzato, la funzione crea un proxy chiamando la funzione CoCreateInstance , passando il CLSID letto dal flusso e richiede un puntatore dell'interfaccia IMarshal al proxy appena creato.
- Usando il puntatore dell'interfaccia IMarshal acquisito, la funzione chiama IMarshal::ReleaseMarshalData.
- È stato effettuato un tentativo di annullare il pacchetto di dati, ma non è riuscito.
- Un pacchetto di dati con marshalling è stato rimosso da una tabella globale.
Si noti che non è necessario chiamare CoReleaseMarshalData dopo una chiamata riuscita della funzione CoUnmarshalInterface ; tale funzione rilascia i dati di marshalling come parte dell'elaborazione che esegue.
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 |