고정 배열

인터페이스가 특정 개수의 요소를 매개 변수로 사용하여 배열을 지정하는 경우 고정 배열을 사용합니다. MIDL을 사용하는 경우 C에서 정의한 것과 동일한 방식으로 고정 배열을 정의합니다. 배열의 형식, 이름 및 크기를 지정합니다.

다음 예제에서는 고정 배열을 정의하는 방법을 보여 줍니다.

[
    /*Attributes are defined here. */
]
interface MyInterface
{
    const long ARRAY_SIZE = 1000;

    MyRemoteProc(char achArray[ARRAY_SIZE]);

    /* Other interface procedures are defined here. */
}

클라이언트 프로그램이 고정 배열을 서버 프로그램에 전달하면 클라이언트 스텁은 전체 배열을 서버 스텁으로 보냅니다. 서버 스텁은 배열에 대한 메모리를 할당하고 네트워크를 통해 수신하는 배열 데이터를 할당된 메모리에 저장합니다. 그런 다음, 배열을 서버의 원격 프로시저에 전달합니다. 서버는 배열의 데이터를 수정할 수 있습니다.

원격 프로시저가 종료되면 서버 스텁은 배열의 내용을 클라이언트로 다시 보냅니다. 클라이언트 스텁은 서버 스텁에서 받은 데이터를 원래 배열로 복사합니다. 그런 다음 클라이언트 프로그램은 로컬 프로시저 호출에서 데이터를 받은 경우와 마찬가지로 데이터를 사용할 수 있습니다.