Remarque
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de vous connecter ou de modifier des répertoires.
L’accès à cette page nécessite une autorisation. Vous pouvez essayer de modifier des répertoires.
L’attribut [ chaîne] indique que le paramètre est un pointeur vers un tableau de types caractères, d’octets ou w_char. Comme pour un tableau conforme, la taille d’un paramètre [string] est déterminée au moment de l’exécution. Contrairement à un tableau conforme, le développeur n’a pas besoin de fournir la longueur associée au tableau : l’attribut [chaîne] indique au stub de déterminer la taille du tableau en appelant strlen. Un attribut [string] ne peut pas être utilisé en même temps que les attributs [ length_is] ou [ last_is].
Le [in, string] combinaison d’attributs dirige le stub pour passer la chaîne du client au serveur uniquement. La quantité de mémoire allouée sur le serveur est identique à la taille de chaîne transmise plus une.
Les attributs [ out, chaîne] dirigent le stub pour passer la chaîne du serveur au client uniquement. La conception d’appel par valeur du langage C insiste sur le fait que tous les paramètres [out] doivent être des pointeurs.
Le paramètre [out] doit être un pointeur et, par défaut, tous les paramètres de pointeur sont des pointeurs de référence. Le pointeur de référence ne change pas pendant l’appel. Il pointe vers la même mémoire qu’avant l’appel. Pour les pointeurs de chaîne, la contrainte supplémentaire du pointeur de référence signifie que le client doit allouer suffisamment de mémoire valide avant d’effectuer l’appel de procédure distante. Les stubs transmettent la chaîne que le [out, string] attributs indiquent dans la mémoire déjà allouée côté client.
Les rubriques suivantes décrivent les prototypes de paramètres de procédure distante pour les chaînes :