Partager via


[in, string] et [out, string] Prototype

Le prototype de fonction suivant utilise deux paramètres : un paramètre [dans, paramètre de chaîne] et un paramètre [out, string].

void Analyze(
    [in, string]                       *pszInput,
    [out, string, size_is(STRSIZE)]    *pszOutput);

Le premier paramètre est [dans] uniquement. Cette chaîne d’entrée est transmise uniquement du client au serveur. Le serveur l’utilise comme base pour un traitement ultérieur. La chaîne n’est pas modifiée et n’est pas requise à nouveau par le client, de sorte qu’elle n’a pas besoin d’être retournée au client.

Le deuxième paramètre, représentant la réponse du médecin, est [out] uniquement. Cette chaîne de réponse est transmise uniquement du serveur au client. La taille d’allocation est fournie afin que les stubs de serveur puissent allouer de la mémoire pour celle-ci. Étant donné que pszOutput est un pointeur [ref] , le client doit disposer d’une mémoire suffisante allouée pour la chaîne avant l’appel. La chaîne de réponse est écrite dans cette zone de mémoire lorsque la procédure distante retourne.