Freigeben über


[in, string] und [out, string] Prototyp

Der folgende Funktionsprototyp verwendet zwei Parameter: einen [in, string]-Parameter und einen [out, string]-Parameter.

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

Der erste Parameter ist nur [in]. Diese Eingabezeichenfolge wird nur vom Client an den Server übertragen. Der Server verwendet sie als Grundlage für die weitere Verarbeitung. Die Zeichenfolge wird nicht geändert und wird vom Client nicht erneut benötigt, sodass sie nicht an den Client zurückgegeben werden muss.

Der zweite Parameter, der die Antwort des Arztes darstellt, ist nur [out]. Diese Antwortzeichenfolge wird nur vom Server an den Client übertragen. Die Zuordnungsgröße wird angegeben, sodass die Serverstubs Arbeitsspeicher dafür zuweisen können. Da es sich bei pszOutput um einen [ref]-Zeiger handelt, muss dem Client vor dem Aufruf genügend Arbeitsspeicher für die Zeichenfolge zugewiesen sein. Die Antwortzeichenfolge wird in diesen Speicherbereich geschrieben, wenn die Remoteprozedur zurückgibt.