Feste Arrays
Wenn die Schnittstelle ein Array mit einer bestimmten Anzahl von Elementen als Parameter angibt, wird ein festes Array verwendet. Bei Verwendung von MIDL definieren Sie feste Arrays auf die gleiche Weise, wie Sie sie in C definieren. Sie geben den Typ, den Namen und die Größe des Arrays an.
Im folgenden Beispiel wird veranschaulicht, wie ein festes Array definiert wird.
[
/*Attributes are defined here. */
]
interface MyInterface
{
const long ARRAY_SIZE = 1000;
MyRemoteProc(char achArray[ARRAY_SIZE]);
/* Other interface procedures are defined here. */
}
Wenn ein Clientprogramm ein festes Array an ein Serverprogramm übergibt, sendet der Client-Stub das gesamte Array an den Server stub. Der Server-Stub weist Speicher für das Array zu und speichert die Arraydaten, die er über das Netzwerk empfängt, im zugeordneten Speicher. Anschließend wird das Array an die Remoteprozedur auf dem Server übergeben. Der Server kann die Daten im Array ändern.
Wenn die Remoteprozedur beendet wird, sendet der Server-Stub den Inhalt des Arrays an den Client zurück. Der Client-Stub kopiert die Vom Server-Stub empfangenen Daten in das ursprüngliche Array. Das Clientprogramm kann dann die Daten wie bei einem lokalen Prozeduraufruf verwenden.