Freigeben über


Feste Arrays

Wenn Ihre Schnittstelle ein Array mit einer bestimmten Anzahl von Elementen als Parameter angibt, verwendet sie ein festes Array. Wenn Sie MIDL verwenden, definieren Sie feste Arrays auf die gleiche Weise wie 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 Serverstub. Der Serverstub weist arbeitsspeicher für das Array zu und speichert die Arraydaten, die er über das Netzwerk empfängt, im zugeordneten Arbeitsspeicher. 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 Serverstub den Inhalt des Arrays zurück an den Client. Der Clientstub kopiert die vom Server-Stub empfangenen Daten in das ursprüngliche Array. Das Clientprogramm kann die Daten dann so verwenden, wie es die Daten aus einem lokalen Prozeduraufruf empfangen würde.