Matrices fijas
Si la interfaz especifica una matriz con un número específico de elementos como parámetro, se usa una matriz fija. Al usar MIDL, se definen matrices fijas de la misma manera que se definen en C. Especifique el tipo, el nombre y el tamaño de la matriz.
En el ejemplo siguiente se muestra cómo definir una matriz fija.
[
/*Attributes are defined here. */
]
interface MyInterface
{
const long ARRAY_SIZE = 1000;
MyRemoteProc(char achArray[ARRAY_SIZE]);
/* Other interface procedures are defined here. */
}
Cuando un programa cliente pasa una matriz fija a un programa de servidor, el código auxiliar del cliente envía toda la matriz al código auxiliar del servidor. El código auxiliar del servidor asigna memoria para la matriz y almacena los datos de matriz que recibe a través de la red en la memoria asignada. A continuación, pasa la matriz al procedimiento remoto en el servidor. El servidor puede modificar los datos de la matriz.
Cuando finaliza el procedimiento remoto, el código auxiliar del servidor devuelve el contenido de la matriz al cliente. El código auxiliar del cliente copia los datos recibidos del código auxiliar del servidor en la matriz original. Después, el programa cliente puede usar los datos como lo haría si recibiera los datos de una llamada de procedimiento local.