Metodo ICallUnmarshal::ReleaseMarshalData (callobj.h)

Rilascia le risorse che possono essere mantenute dai puntatori di interfaccia che risiedono in un pacchetto di dati marshalling. Questo metodo trova tutti i puntatori di interfaccia nel pacchetto e chiama la funzione CoReleaseMarshalData in ogni puntatore dell'interfaccia.

Sintassi

HRESULT ReleaseMarshalData(
  [in] ULONG                    iMethod,
  [in] PVOID                    pBuffer,
  [in] ULONG                    cbBuffer,
  [in] ULONG                    ibFirstRelease,
  [in] RPCOLEDATAREP            dataRep,
  [in] CALLFRAME_MARSHALCONTEXT *pcontext
);

Parametri

[in] iMethod

Numero di metodo.

[in] pBuffer

Puntatore al buffer contenente i parametri di marshalling out.

[in] cbBuffer

Dimensioni del buffer, in byte.

[in] ibFirstRelease

Primo byte nel buffer da rilasciare. Un valore pari a zero implica che i puntatori di interfaccia nell'intero buffer devono essere rilasciati. L'idea è che i puntatori dell'interfaccia con marshalling prima del byte indicato siano già stati rilasciati da un altro meccanismo.

[in] dataRep

Rappresentazione dei dati con cui è stato eseguito il marshalling dei dati.

[in] pcontext

Puntatore a una struttura CALLFRAME_MARSHALCONTEXT che contiene informazioni sul contesto in cui è necessario eseguire l'annullamento delmarshaling.

Valore restituito

Questo metodo può restituire i valori seguenti.

Codice restituito Descrizione
S_OK
Metodo completato correttamente.
E_UNEXPECTED
Si è verificato un errore imprevisto.

Commenti

Per pulire le risorse mantenute nel buffer di marshalling, è necessario chiamare il metodo ReleaseMarshalData . Tuttavia, quando l'enumerazione MSHLFLAGS è impostata su normale, questa operazione viene eseguita automaticamente quando si annulla ilmarshaling.

ReleaseMarshalData può essere usato sia nei parametri di marshalling sia in che out.

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione callobj.h

Vedi anche

ICallUnmarshal