Metodo ICallFrame::Unmarshal (callobj.h)

Annulla il marshalling di un pacchetto di dati contenente i parametri [out] precedentemente sottoposto a marshalling di una chiamata a questo record di attivazione già esistente.

Sintassi

HRESULT Unmarshal(
  [in]  PVOID                    pBuffer,
  [in]  ULONG                    cbBuffer,
  [in]  RPCOLEDATAREP            dataRep,
  [in]  CALLFRAME_MARSHALCONTEXT *pcontext,
  [out] ULONG                    *pcbUnmarshalled
);

Parametri

[in] pBuffer

Puntatore al buffer contenente i valori [out] di cui è stato effettuato il marshalling.

[in] cbBuffer

Dimensioni del buffer, in byte.

[in] dataRep

Rappresentazione dei dati NDR con cui i dati sono stati sottoposto a marshalling. Per altre informazioni, vedere IRpcChannelBuffer::GetBuffer.

[in] pcontext

Puntatore alla struttura CALLFRAME_MARSHALCONTEXT contenente informazioni di contesto su come viene eseguito il nonmarshalling.

[out] pcbUnmarshalled

Riceve il numero di byte che sono stati annullati correttamente. Questo parametro viene restituito anche in situazioni di errore. Questo parametro è facoltativo e,

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

Quando si annulla ilmarshalling, le versioni [in] dei parametri [in, out] vengono liberate e i puntatori di interfaccia vengono rilasciati e sostituiti con le versioni [out]. Tutti i parametri [in, out] e [out] verranno sempre impostati su valori [in], [in, out] e [out] correttamente non sincronizzati dai dati restituiti o su un valore inizializzato in modo esplicito su NULL. In caso di errore restituito, il chiamante in genere vuole chiamare ICallFrame::Free per pulire i valori che non sono NULL.

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