Die [ Größe _ ist ] "Attribute".

Die Größe ist attribut einer ganzzahligen Konstante, einem Ausdruck oder einer Variablen zugeordnet, die [ _ ] die Zuordnungsgröße des Arrays angibt. Stellen Sie sich ein Zeichenarray vor, dessen Länge von der Benutzereingabe bestimmt wird:

/* IDL file */
[ 
  uuid(ba209999-0c6c-11d2-97cf-00c04f8eea45),
  version(2.0)
]
interface arraytest
{
  void fArray2([in] short sSize,
               [in, out, size_is(sSize)] char achArray[*]);
}

Hinweis

Das Sternchen ( ), das den Platzhalter für die * Variable-Array-Dimension markiert, ist optional.

Der Serverstub muss Arbeitsspeicher auf dem Server zuordnen, der dem Arbeitsspeicher auf dem Client für diesen Parameter entspricht. Die Variable, die die Größe angibt, muss immer mindestens ein [ in-Parameter ] sein. Das [ ] indirektionale Attribut ist erforderlich, damit der Größenwert beim Eintrag in den Serverstub definiert wird. Dieser Größenwert stellt Informationen zur Verfügung, die der Serverstub benötigt, um den Arbeitsspeicher zu reservieren.

Der Size-Parameter kann auch [ in und aus sein. ] Dies ist beispielsweise nützlich, wenn das vom Client gesendete Array nicht groß genug für die Daten ist, die der Server in ihm speichern muss. Sie können einen [ In-Out-Größenparameter verwenden, ] um die erforderliche Größe zurück an das Clientprogramm zu senden.

Mehrere Zeigerebenen