Partager via


Fonction MesEncodeDynBufferHandleCreate (midles.h)

La fonction MesEncodeDynBufferHandleCreate crée un handle d’encodage, puis l’initialise pour un style de mémoire tampon dynamique de sérialisation.

Syntaxe

RPC_STATUS MesEncodeDynBufferHandleCreate(
  char          **pBuffer,
  unsigned long *pEncodedSize,
  handle_t      *pHandle
);

Paramètres

pBuffer

Pointeur vers un pointeur vers la mémoire tampon fournie par stub contenant l’encodage une fois la sérialisation terminée.

pEncodedSize

Pointeur vers la taille de l’encodage terminé. La taille sera écrite dans l’emplacement de mémoire pointé par pEncodedSize par les opérations d’encodage suivantes.

pHandle

Pointeur vers l’adresse dans laquelle le handle sera écrit.

Valeur retournée

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_INVALID_ARG
L'argument n'était pas valide.
RPC_S_OUT_OF_MEMORY
Mémoire insuffisante.
 
Note Pour obtenir la liste des codes d’erreur valides, consultez Valeurs de retour RPC.
 

Notes

La routine MesEncodeDynBufferHandleCreate est utilisée par les applications pour allouer la mémoire et initialiser le handle pour le style de mémoire tampon dynamique d’encodage. Lorsque vous utilisez le style d’encodage de la mémoire tampon dynamique, la mémoire tampon dans laquelle toutes les données encodées seront placées est fournie par le stub. Cette mémoire tampon sera allouée par le mécanisme de gestion de la mémoire client actuel.

Il peut y avoir des implications en matière de performances lors de l’utilisation de ce style pour plusieurs encodages avec le même handle. Une mémoire tampon unique est retournée à partir d’un encodage et les données sont copiées à partir de mémoires tampons intermédiaires. Les mémoires tampons sont libérées si nécessaire.

Lorsqu’un stub est compilé à l’aide de -protocol all ou -protocol ndr64 et que la mémoire tampon doit être encodée à l’aide de la syntaxe de transfert NDR64, la fonction MesBufferHandleReset doit être appelée avec son paramètre OpCode défini sur MES_ENCODE_NDR64.

Spécifications

   
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 midles.h (inclure Rpc.h)
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

MesBufferhandleReset

MesHandleFree