Compartir a través de


Método IDirectDraw7::StartModeTest (ddraw.h)

Inicia una prueba para actualizar el registro del sistema con información de frecuencia de actualización para la combinación actual del adaptador de pantalla y el monitor. Normalmente, una llamada a este método va seguida de llamadas a IDirectDraw7::EvaluateMode para pasar o producir errores en los modos mostrados por la prueba.

Sintaxis

HRESULT StartModeTest(
  [in] LPSIZE unnamedParam1,
  [in] DWORD  unnamedParam2,
  [in] DWORD  unnamedParam3
);

Parámetros

[in] unnamedParam1

Matriz de elementos SIZE que describen, en términos de resoluciones de pantalla, los modos que se deben probar.

[in] unnamedParam2

Número de elementos de la matriz que especifica el parámetro lpModesToTest .

[in] unnamedParam3

Marcas que especifican opciones para iniciar una prueba. El único valor de marca que actualmente es válido es DDSMT_ISTESTREQUIRED. Cuando se especifica esta marca, StartModeTest no inicia una prueba, sino que devuelve un valor que indica si es posible o necesario probar las resoluciones que identifican los parámetros lpModesToTest y dwNumEntries .

Valor devuelto

Si el método se realiza correctamente, el valor devuelto se DD_OK.

Si se produce un error, el método puede devolver uno de los siguientes valores de error:

  • DDERR_CURRENTLYNOTAVAIL
  • DDERR_INVALIDOBJECT
  • DDERR_INVALIDPARAMS
  • DDERR_NOEXCLUSIVEMODE
  • DDERR_NOTFOUND
  • DDERR_TESTFINISHED
Cuando se llama al método con la marca DDSMT_ISTESTREQUIRED, puede devolver uno de los siguientes valores:
  • DDERR_NEWMODE
  • DDERR_NODRIVERSUPPORT
  • DDERR_NOMONITORINFORMATION
  • DDERR_TESTFINISHED

Comentarios

Puede usar el método StartModeTest junto con el método IDirectDraw7::EvaluateMode para determinar la velocidad de actualización máxima que puede admitir una combinación de adaptadores de pantalla y monitor EDID para cada resolución de pantalla. Los resultados de las pruebas se almacenan en el registro del sistema y afectan al funcionamiento de IDirectDraw7::EnumDisplayModes cuando se llama a ese método con la marca DDEDM_REFRESHRATES establecida.

En concreto, una llamada a StartModeTest dirige DirectDraw para establecer un conjunto de resoluciones probables y mostrar un modo basado en la primera resolución del conjunto. Las llamadas posteriores a IDirectDraw7::EvaluateMode se pueden usar para pasar o producir un error en cada modo y para avanzar la prueba al siguiente modo de visualización.

StartModeTest solo se realiza correctamente con monitores que contienen datos EDID. Si el monitor no es compatible con EDID, StartModeTest devuelve DDERR_TESTFINISHED sin probar ningún modo. Si la tabla EDID no contiene valores superiores a 60 Hz, no se prueba ningún modo. Las velocidades de actualización superiores a 100 Hz solo se prueban si la tabla EDID contiene valores superiores a 85 Hz.

Si llama a StartModeTest con una lista de argumentos (NULL, 0, 0), StartModeTest borra la información de frecuencia de actualización existente del Registro.

La prueba no garantiza mostrar solo las resoluciones de la matriz descritas por los parámetros lpModesToTest y dwNumEntries . Por ejemplo, la resolución 640×480 se usa para obtener una velocidad de actualización máxima visible para la resolución 320×200.

Requisitos

Requisito Value
Plataforma de destino Windows
Encabezado ddraw.h
Library Ddraw.lib
Archivo DLL Ddraw.dll

Consulte también

IDirectDraw7