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 |
---|---|
|
L’appel a réussi. |
|
L'argument n'était pas valide. |
|
Mémoire insuffisante. |
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 |