Partager via


Fonction NdrConformantArrayUnmarshall (rpcndr.h)

La fonction NdrConformantArrayUnmarshall désactive un tableau conforme.

Syntaxe

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

Paramètres

[in] pStubMsg

Pointeur vers une structure MIDL_STUB_MESSAGE qui maintient la status actuelle du stub RPC. Cette structure est destinée uniquement à un usage interne et ne doit pas être modifiée.

[out] ppMemory

Adressez-vous à un pointeur vers la mémoire tampon où le tableau conforme n’est pas délimité. Si la valeur est null ou si fMustAlloc a la valeur TRUE, le stub alloue la mémoire.

[in] pFormat

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

[in] fMustAlloc

Indicateur qui spécifie si le stub doit allouer la mémoire dans laquelle le tableau conforme doit être marshalé. Spécifiez TRUE si RPC doit allouer ppMemory.

Valeur retournée

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

Code de retour Description
RPC_BAD_STUB_DATA
Le réseau est incorrect.
RPC_X_INVALID_BOUND
Le réseau est incorrect.
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.

Notes

La fonction NdrConformantArrayUnmarshall est utilisée par le stub côté client et côté serveur pour démarshaller un tableau conforme. Le stub peut allouer de la mémoire si nécessaire. Par exemple, pArray dans l’exemple de cette page pointe vers un tableau conforme.

NdrConformantArrayUnmarshall ne doit être appelé que dans le contexte d’un stub RPC, une fois que le stub du client ou du serveur a été initialisé.

Exemples

void  ConfArray([in] long size,
        [in,size_is(size)] long *pArray);         // conformant array

Spécifications

   
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