Función installuserdriver Borland® C

int far installuserdriver(char far *nombre, 
   int huge (*detectar)(void));

Esta función permite al usuario añadir dispositivos adicionales de otras compañías o grupos a la tabla interna BGI de los dispositivos. El argumento *nombre define el nombre del fichero nuevo del dispositivo .BGI. El parámetro *detectar es un puntero a una función opcional para autodetectar que puede ser o no ser provisto con el dispositivo nuevo. La función de autodetectación espera no recibir ningún parámetro y retorna un valor entero.

Valor de retorno:

La función installuserdriver retorna el parámetro del número del dispositivo que hubiese sido pasado a la función initgraph para seleccionar un dispositivo nuevo.

Ejemplo:

/* Este programa no funcionará, ya que se 
** necesitaría otra tarjeta gráfica
** desconocida por las bibliotecas gráficas de BGI.
** Esto sólo es para poner un ejemplo.
*/
#include <graphics.h>

int huge detectarSMGGA( void ) {
   int driver, modo, modo_sugerirdo=0;

   detectgraph( &driver, &modo );
   if( SMGGA == driver )   return modo_sugerido;

   return grError;
}

int main() {
   int gdriver, gmodo;

/* Intentamos instalar nuestra tarjeta gráfica:
** Súper Mega Guay Graphics Array (SMGGA)
** Ya sé que suena muy cursi, pero esto sólo es un ejemplo :)
*/
   gdriver = installuserdriver( "SMGGA", detectarSMGGA );

/* Forzamos a que use nuestra función para autodetectar */
   gdriver = DETECT;
   initgraph( &gdriver, &gmodo, "C:\\BC5\\BGI" );

   closegraph();

   return 0;
}