Validación de valores de índice
Un controlador de pantalla en modo de usuario puede pasar "Diseñado para Microsoft Windows" para las pruebas de logotipo de hardware, independientemente de si realiza la validación del índice. Sin embargo, para asegurarse de que el controlador funciona con aplicaciones de Microsoft DirectX que podrían pasar índices no válidos, un controlador de pantalla en modo de usuario debe realizar la validación del índice.
Debe tener en cuenta los siguientes elementos:
Las aplicaciones de DirectX 8.0 y DirectX 9.0 pueden pasar un valor de intervalo de 0 cuando se representan con un búfer de vértices. En esta situación, solo se debe hacer referencia al vértice 0. El valor de intervalo se establece en el miembro Stride de la estructura D3DDDIARG_SETSTREAMSOURCE en una llamada a la función SetStreamSource del controlador de pantalla en modo de usuario.
Una llamada a la función SetStreamSourceUM del controlador no incluye el tamaño de los datos de vértices. Es decir, no se especifica el tamaño del búfer de memoria de usuario que proporciona los datos de vértices a los que apunta el parámetro pUMBuffer de SetStreamSourceUM .
El miembro NumVertices de la estructura D3DDDIARG_DRAWINDEXEDPRIMITIVE o D3DDDIARG_DRAWINDEXEDPRIMITIVE2 nunca se establece en 0 en una llamada a la función DrawIndexedPrimitive o DrawIndexedPrimitive2 del controlador. El controlador debe establecer el índice máximo permitido en (NumVertices -Â 1).