El driver que se pasó de listo

Publicado 23/1/2011 17:59 por Rafael Ontivero

Siguiendo con el libro de Raymond Chen de la entrada anterior, no puedo contenerme de contaros esto, que me ha hecho soltar sonoras carcajadas cuando lo he leído.

Estamos en los tiempos de Windows 95 y las primeras versiones de DirectX, y una de las funciones internas entre DirectX y los drivers de bajo nivel de los fabricantes de tarjetas con este soporte, es una función que pasa un GUIID que indica una característica. Si la función devuelve TRUE, el driver la soporta. Chen no nos da el nombre real de la misma, pero una de las primeras acciones que se negocian entre ambas partes es determinar qué cosas soporta el driver del fabricante y cuáles no, por lo que la función se usa repetidas veces sobre el driver.

Pues bien, había un fabricante (no dice quién) que devolvía a todo que sí, pero que luego, al ejecutar las pruebas, petaba miserablemente.

Un análisis de bajo nivel del driver determinó que la función debía haber sido implementada por el departamento comercial, porque la función era nada más y nada menos que esto (escrito en pseudocódigo):

BOOL SoportasEstaCaracteristica(GUIID característica)
{
     return TRUE;
}

Vamos, que dicho driver lo soportaba absolutamente todo.

Entonces un programador de DirectX cogió una tarjeta de red y miró su UIID, anotándolo. Luego la destrozó a martillazos y la tiró a la basura. De todos es conocido que dichos UIID han de ser únicos de forma global, así que dicho número no iba a ser utilizado nunca jamás.

A partir de entonces, una de las pruebas entre DirectX y los drivers de los fabricantes, es hacer la siguiente llamada:

if(SoportasEstaCaracteristica(UIID_que_no_existe)==TRUE)
{
        //¡Te pillé!
}

Si alguien quiere leer la versión original, que difiere por completo en la forma de contar el tema pero no en el contenido en sí, está entre las páginas 322 y 323 del libro.

Comparte este post:

Comentarios

# re: El driver que se pasó de listo

Monday, January 24, 2011 12:01 AM by Ramón Sola

Esta es la entrada original del blog, titulada "Sure, we do that" (con una retahíla enorme de comentarios): blogs.msdn.com/.../71307.aspx