Estado de la canalización
En el servidor, el compilador MIDL crea una variable de estado que coordina los procedimientos de inserción, extracción y asignación. En el lado cliente, el desarrollador debe crear la variable de estado . Por lo tanto, la variable de estado es local en ambos lados, es decir, el cliente y el servidor mantienen cada uno su propio estado de canalización. El código auxiliar del servidor mantiene la variable de estado en el servidor. No debe intentar modificar su contenido directamente. El cliente debe inicializar los campos en la estructura de control de canalización y mantener su variable de estado . Usa la variable de estado para identificar dónde buscar o colocar datos.
La variable de estado de cliente puede ser tan simple como un identificador de archivo, si va a transferir datos de un archivo a otro. También puede ser un entero que apunta a un elemento de una matriz. O bien, puede definir una estructura de estado bastante compleja para realizar tareas adicionales, como coordinar las rutinas de inserción y extracción en un parámetro [ in, out].