Freigeben über


String-Attribut (RPC)

Das Attribut [string] gibt an, dass der Parameter ein Zeiger auf ein Array vom Typ Zeichen, Byte-oder w_charist. Wie bei einem konformen Array wird die Größe eines [string] Parameter zur Laufzeit bestimmt. Im Gegensatz zu einem konformen Array muss der Entwickler nicht die dem Array zugeordnete Länge angeben – das [string] Attribut weist den Stub an, die Arraygröße durch Aufrufen von strlenzu bestimmen. Ein [string] Attribut kann nicht gleichzeitig mit den Attributen [ length_is] oder [ last_is] verwendet werden.

Die [in, Zeichenfolge] Attributkombination leitet den Stub an, die Zeichenfolge nur vom Client an den Server zu übergeben. Die auf dem Server zugewiesene Arbeitsspeichermenge entspricht der übertragenen Zeichenfolgengröße plus 1.

Die Attribute [, Zeichenfolge] leiten den Stub an, um die Zeichenfolge nur vom Server an den Client zu übergeben. Der Aufruf-nach-Wert-Entwurf der Sprache C besteht darauf, dass alle [out] Parameter Zeiger sein müssen.

Der [out] Parameter muss ein Zeiger sein, und standardmäßig sind alle Zeigerparameter Referenzzeiger. Der Referenzzeiger ändert sich während des Anrufs nicht– er verweist auf denselben Speicher wie vor dem Anruf. Bei Zeichenfolgenzeigern bedeutet die zusätzliche Einschränkung des Referenzzeigers, dass der Client genügend gültigen Arbeitsspeicher zuweisen muss, bevor der Remoteprozeduraufruf ausgeführt wird. Die Stubs übertragen die Zeichenfolge, die die [out, string] Attribute angeben, in den Speicher, der bereits auf der Clientseite zugeordnet ist.

In den folgenden Themen werden die Prototypen des Remoteprozedurparameters für Zeichenfolgen beschrieben: