Share via


Fonction NdrPointerUnmarshall (rpcndr.h)

La fonction NdrPointerUnmarshall démarshalle un pointeur de niveau supérieur vers n’importe quoi. Les pointeurs incorporés dans des structures, des tableaux ou des unions appellent directement NdrPointerUnmarshall .

Syntaxe

unsigned char * NdrPointerUnmarshall(
  [in, out] PMIDL_STUB_MESSAGE pStubMsg,
  [in]      unsigned char      **ppMemory,
  [in]      PFORMAT_STRING     pFormat,
  [in]      unsigned char      fMustAlloc
);

Paramètres

[in, out] pStubMsg

Pointeur vers une structure MIDL_STUB_MESSAGE qui maintient la status actuelle du stub RPC. La structure est destinée uniquement à un usage interne ; ne modifiez pas.

[in] ppMemory

Pointeur vers la mémoire où le pointeur ne sera pasmarshalled. Consultez Protection de mémoire tampon MCCP pour plus d’informations sur les protections contre les dépassements de mémoire tampon dans RPC : http://msdn.microsoft.com/en-us/library/ff621497(VS.85).aspx

[in] pFormat

Pointeur vers la description de la chaîne de format.

[in] fMustAlloc

Inutilisé.

Valeur retournée

Retourne la valeur NULL en cas de réussite. Si une erreur se produit, la fonction lève l’un des codes d’exception suivants.

Erreur Description
RPC_BAD_STUB_DATA ou RPC_X_INVALID_BOUND La mémoire tampon réseau est incorrecte.
RPC_S_OUT_OF_MEMORY La mémoire du système est insuffisante.
STATUS_ACCESS_VIOLATION Une violation d’accès s’est produite.
RPC_S_INTERNAL_ERROR Une erreur s’est produite dans RPC.

Remarques

Cette fonction est utilisée pour les chaînes de format FC_RP, FC_UP, FC_FP FC_OP.

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