Metodo ICallFrame::Marshallal (callobj.h)
Esegue il marshalling del frame di chiamata trasformando i dati raggiungibili in un buffer flat senza disturbare il frame.
Sintassi
HRESULT Marshal(
[in] CALLFRAME_MARSHALCONTEXT *pmshlContext,
[in] MSHLFLAGS mshlflags,
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[out] ULONG *pcbBufferUsed,
[out] RPCOLEDATAREP *pdataRep,
[out] ULONG *prpcFlags
);
Parametri
[in] pmshlContext
Puntatore alla struttura CALLFRAME_MARSHALCONTEXT contenente informazioni sul contesto relative al modo in cui viene eseguito il marshalling.
[in] mshlflags
Flag che indica se i dati da eseguire per il marshalling devono essere trasmessi al processo client, ovvero il caso normale o scritto in una tabella globale, in cui può essere recuperato da più client. I valori possibili sono dall'enumerazione MSHLFLAGS .
[in] pBuffer
Puntatore al buffer in cui devono essere inseriti i dati con marshalling.
[in] cbBuffer
Dimensioni del buffer, in byte.
[out] pcbBufferUsed
Riceve le dimensioni del buffer effettivamente usato. Questo parametro è facoltativo e,
[out] pdataRep
Riceve la rappresentazione dei dati NDR con cui è stato eseguito il marshalling dei dati. Questo parametro è facoltativo e, Per altre informazioni, vedere IRpcChannelBuffer::GetBuffer.
[out] prpcFlags
Riceve un flag RPC associato alla chiamata. Questo parametro è facoltativo e, Per altre informazioni, vedere IRpcChannelBuffer::GetBuffer.
Valore restituito
Questo metodo può restituire i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Metodo completato correttamente. |
|
Si è verificato un errore imprevisto. |
Commenti
Quando si esegue il marshalling delle versioni [In] dei parametri [in, out] sono presenti e le versioni [out] non sono definiti. Quando si esegue il marshalling dei parametri [out] i valori sono validi.
Se questo metodo restituisce un errore, il chiamante non sarà in grado di pulirlo. Le risorse come la memoria allocata temporaneamente durante il marshalling tentato sono state liberate.
Requisiti
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 |