Fonction type_UserFree

La <fonction type>_UserFree est une fonction d’assistance pour les attributs [ wire_marshal] et [ user_marshal]. Les stubs appellent cette fonction pour libérer les données côté serveur. La fonction est définie comme suit :

void __RPC_USER  <type>_UserFree(
    unsigned long __RPC_FAR * pFlags,
    <type_name>  __RPC_FAR *  pMyObj );

Le <type> dans le nom de la fonction désigne le type utilisateur spécifié dans la définition de type [wire_marshal] ou [user_marshal].

Le paramètre pFlags est un pointeur vers un champ d’indicateur long non signé . Le mot supérieur de l’indicateur contient des indicateurs de représentation des données NDR tels que définis par OSF DCE pour les représentations à virgule flottante, l’ordre d’octets et les représentations de caractères. Le mot inférieur contient un indicateur de contexte de marshaling tel que défini par le canal COM. La disposition exacte des indicateurs dans le champ est décrite dans La fonction type_UserSize.

Le paramètre pMyObj est un pointeur vers un objet de type utilisateur. Le moteur de remise de remise libère l’objet de niveau supérieur. Vous êtes responsable de libérer tous les objets vers lesquels l’objet de niveau supérieur peut pointer.

Les exceptions doivent être interceptées et gérées localement. Les exceptions ne doivent pas être autorisées à remonter la pile des appels.

Règles de marshaling pour user_marshal et wire_marshal

wire_marshal

user_marshal