ICallFrame::Marshal-Methode (callobj.h)
Marshallt den Aufrufrahmen, indem die erreichbaren Daten in einen flachen Puffer umgewandelt werden, ohne den Frame zu stören.
Syntax
HRESULT Marshal(
[in] CALLFRAME_MARSHALCONTEXT *pmshlContext,
[in] MSHLFLAGS mshlflags,
[in] PVOID pBuffer,
[in] ULONG cbBuffer,
[out] ULONG *pcbBufferUsed,
[out] RPCOLEDATAREP *pdataRep,
[out] ULONG *prpcFlags
);
Parameter
[in] pmshlContext
Ein Zeiger auf die CALLFRAME_MARSHALCONTEXT-Struktur , die Kontextinformationen zur Durchführung des Marshallings enthält.
[in] mshlflags
Flag, das angibt, ob die zu marshallenden Daten zurück an den Clientprozess (normaler Fall) übertragen oder in eine globale Tabelle geschrieben werden sollen, wo sie von mehreren Clients abgerufen werden können. Die möglichen Werte stammen aus der MSHLFLAGS-Enumeration .
[in] pBuffer
Ein Zeiger auf den Puffer, in den die gemarshallten Daten platziert werden sollen.
[in] cbBuffer
Die Größe des Puffers in Bytes.
[out] pcbBufferUsed
Empfängt die Größe des Puffers, der tatsächlich verwendet wurde. Dieser Parameter ist optional.
[out] pdataRep
Empfängt die NDR-Datendarstellung, mit der die Daten gemarshallt wurden. Dieser Parameter ist optional. Weitere Informationen finden Sie unter IRpcChannelBuffer::GetBuffer.
[out] prpcFlags
Empfängt ein RPC-Flag, das dem Aufruf zugeordnet ist. Dieser Parameter ist optional. Weitere Informationen finden Sie unter IRpcChannelBuffer::GetBuffer.
Rückgabewert
Diese Methode kann die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Ein unerwarteter Fehler ist aufgetreten. |
Hinweise
Beim Marshallen sind die [In]-Versionen von [in, out]-Parametern vorhanden, und die [out]-Versionen sind nicht definiert. Beim Marshallen von [out]-Parametern sind die Werte gültig.
Wenn diese Methode einen Fehler zurückgibt, kann der Aufrufer ihn nicht sauber. Ressourcen wie z. B. Speicher, der während des versuchten Marshallings vorübergehend zugeordnet wurde, wurden freigegeben.
Anforderungen
Unterstützte Mindestversion (Client) | Windows 2000 Professional [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows 2000 Server [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | callobj.h |