Share via


Fonction NdrGetUserMarshalInfo (rpcndr.h)

La fonction NdrGetUserMarshalInfo fournit des informations supplémentaires pour wire_marshal et user_marshal fonctions d’assistance.

Syntaxe

RPC_STATUS NdrGetUserMarshalInfo(
  unsigned long         *pFlags,
  unsigned long         InformationLevel,
  NDR_USER_MARSHAL_INFO *pMarshalInfo
);

Paramètres

pFlags

Pointeur portant le même nom que rpc passé à la fonction d’assistance.

InformationLevel

Niveau de détail souhaité à recevoir. Différents niveaux impliquent différents ensembles de champs d’informations. Seul le niveau 1 est actuellement défini.

pMarshalInfo

Adresse d’une mémoire tampon, fournie par l’application, pour recevoir les informations demandées. La mémoire tampon doit être au moins aussi grande que la structure d’informations indiquée par InformationLevel.

Valeur retournée

Valeur Signification
RPC_S_OK
L’appel a réussi.
RPC_S_INVALID_ARG
Au moins un des arguments n’était pas valide.
RPC_X_INVALID_BUFFER
La mémoire tampon de marshaling actuelle n’était pas valide.

Remarques

La fonction NdrGetUserMarshalInfo est appelée par les fonctions d’assistance wire_marshal ou user_marshal (fournies par l’application) <de type>_UserSize, <type>_UserMarshal, <type>_UserUnmarshal et <type>_UserFree pour recevoir des informations supplémentaires sur l’état de l’appel. Une utilisation courante de cette fonction consiste à obtenir la taille de la mémoire tampon de marshaling afin de vérifier les conditions de fin de mémoire tampon. L’envoi de données mal dimensionnées est une méthode couramment utilisée pour violer la sécurité du système.

Pour obtenir la liste complète des informations retournées par NdrGetUserMarshalInfo, consultez NDR_USER_MARSHAL_INFO.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 2000 Professionnel [applications de bureau | Applications UWP]
Serveur minimal pris en charge Windows 2000 Server [applications de bureau | Applications UWP]
Plateforme cible Windows
En-tête rpcndr.h (inclure Rpc.h)
Bibliothèque Rpcrt4.lib
DLL Rpcrt4.dll

Voir aussi

NDR_USER_MARSHAL_INFO

user_marshal

wire_marshal