Partager via


ICallFrame ::Unmarshal, méthode (callobj.h)

Désactive un paquet de données contenant les paramètres [out] précédemment marshalés d’un appel dans cet enregistrement d’activation déjà existant.

Syntaxe

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

Paramètres

[in] pBuffer

Pointeur vers la mémoire tampon contenant les valeurs [out] marshalées.

[in] cbBuffer

Taille de la mémoire tampon, en octets.

[in] dataRep

Représentation des données NDR avec laquelle les données ont été marshalées. Pour plus d’informations, consultez IRpcChannelBuffer ::GetBuffer.

[in] pcontext

Pointeur vers la structure CALLFRAME_MARSHALCONTEXT contenant des informations de contexte sur la façon dont le démarshalling est effectué.

[out] pcbUnmarshalled

Reçoit le nombre d’octets qui ont été correctement démarshalés. Ce paramètre est retourné même en cas d’erreur. Ce paramètre est facultatif.

Valeur renvoyée

Cette méthode peut retourner les valeurs suivantes.

Code de retour Description
S_OK
La commande s'est correctement terminée.
E_UNEXPECTED
Une erreur inattendue s’est produite.

Remarques

En cas de démarshalling, les versions [in] des paramètres [in, out] sont libérées et les pointeurs d’interface sont libérés et remplacés par leurs versions [out]. Tous les paramètres [in, out] et [out] seront toujours définis sur des valeurs [in], [in, out] raisonnables, [out] des valeurs [in, out] qui ont été correctement disshalées à partir des données retournées ou une valeur explicitement initialisée sur NULL. En cas de retour d’échec, l’appelant souhaite généralement appeler ICallFrame ::Free afin de propre les valeurs qui ne sont pas NULL.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau uniquement]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau uniquement]
Plateforme cible Windows
En-tête callobj.h

Voir aussi

ICallFrame