Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Der folgende Funktionsprototyp verwendet einen einzelnen [in, out, Zeichenfolge] Parameter für die Eingabe- und Ausgabezeichenfolgen. Die Zeichenfolge enthält zuerst die Patienteneingabe und wird dann wie gezeigt mit der Arztantwort überschrieben:
void Analyze([in, out, string, size_is(STRSIZE)] char achInOut[]);
Dieses Beispiel ähnelt dem Beispiel, das eine einzelne Zeichenfolge für Eingabe und Ausgabe verwendet hat. Wie in diesem Beispiel bestimmt das Attribut [size_is] die Anzahl der auf dem Server zugeordneten Elemente. Das Attribut [Zeichenfolge] leitet den Stub an, um strlen aufzurufen, um die Anzahl der übertragenen Elemente zu bestimmen.
Der Client weist vor dem Aufruf alle Arbeitsspeicher zu:
/* client */
char achInOut[STRSIZE];
...
gets_s(achInOut, STRSIZE); // get patient input
Analyze(achInOut);
printf("%s\n", achInOut); // display doctor response
Beachten Sie, dass die Analysefunktion die Länge der Rückgabezeichenfolge nicht mehr berechnen muss, wie im Beispiel für Zeichenfolgen mit Zählung, in dem das [Zeichenfolge] Attribut nicht verwendet wurde. Jetzt berechnen die Stubs die Länge wie gezeigt:
/* server */
void Analyze(char *pchInOut)
{
...
Respond(response, pchInOut); // don't need to call strlen
return; // stubs handle size
}