Partager via


Méthode ICallFrame ::ReleaseMarshalData (callobj.h)

Libère les ressources qui sont conservées par les pointeurs d’interface résidant dans un paquet de données marshalées. Cette méthode recherche tous les pointeurs d’interface dans le paquet et appelle la fonction CoReleaseMarshalData sur chacun d’eux.

Syntaxe

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

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] ibFirstRelease

Premier octet de la mémoire tampon, qui doit être libéré. La valeur zéro implique que les pointeurs d’interface dans l’ensemble de la mémoire tampon doivent être libérés. Les pointeurs d’interface marshalés sont supposés avoir été libérés par un autre mécanisme.

[in] dataRep

Représentation de données avec laquelle les données ont été marshalées.

[in] pcontext

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

Valeur retourné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

La méthode ReleaseMarshalData doit être appelée une seule fois pour propre les ressources contenues dans une mémoire tampon marshalée. Toutefois, lorsque l’énumération MSHLFLAGS est définie sur MSHLFLAGS_NORMAL, cette opération est effectuée automatiquement lors du marshaling et n’a donc pas besoin d’être effectuée explicitement.

Cette méthode peut fonctionner correctement sur les paramètres [in] et [out] marshalés.

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