Metodo ICallFrame::ReleaseMarshalData (callobj.h)

Rilascia le risorse 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 pacchetto.

Sintassi

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

Parametri

[in] pBuffer

Puntatore al buffer contenente i valori marshalling [out].

[in] cbBuffer

Dimensioni del buffer, in byte.

[in] ibFirstRelease

Primo byte nel buffer, che deve essere rilasciato. Un valore pari a zero implica che i puntatori di interfaccia nell'intero buffer devono essere rilasciati. Si presuppone che i puntatori dell'interfaccia con marshalling siano stati rilasciati da altri meccanismi.

[in] dataRep

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

[in] pcontext

Puntatore alla struttura CALLFRAME_MARSHALCONTEXT contenente informazioni sul contesto su come viene eseguito il marshalling.

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

Il metodo ReleaseMarshalData deve essere chiamato esattamente una volta per pulire le risorse contenute in un buffer marshalling. Tuttavia, quando l'enumerazione MSHLFLAGS è impostata su MSHLFLAGS_NORMAL, questa operazione viene eseguita automaticamente durante il marshalling e quindi non deve essere eseguita in modo esplicito.

Questo metodo può funzionare correttamente in entrambi i parametri marshalling [in] e [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

ICallFrame