Compartir a través de


PFND3DDDI_SETDISPLAYMODE función de devolución de llamada (d3dumddi.h)

La función SetDisplayMode cambia a un modo de presentación o principal que no es compatible con el escritorio GDI.

Sintaxis

PFND3DDDI_SETDISPLAYMODE Pfnd3dddiSetdisplaymode;

HRESULT Pfnd3dddiSetdisplaymode(
  HANDLE hDevice,
  const D3DDDIARG_SETDISPLAYMODE *unnamedParam2
)
{...}

Parámetros

hDevice

Identificador del dispositivo de visualización (contexto de gráficos).

unnamedParam2

pData [in]

Puntero a una estructura de D3DDDIARG_SETDISPLAYMODE que especifica parámetros para establecer el modo de presentación.

Valor devuelto

SetDisplayMode devuelve S_OK o un resultado de error adecuado si el modo de visualización no se ha establecido correctamente.

Comentarios

El tiempo de ejecución de Microsoft Direct3D llama a SetDisplayMode para cambiar a un modo de presentación o principal que no es compatible con el escritorio GDI. En la lista siguiente se describen ejemplos de estas principales:

  • Principales que se crean con formatos de visualización y destino de representación (por ejemplo, D3DFMT_A2R10G10B10) de 10:10:10:2)
  • Varias muestras primarias en las que se realiza el muestreo múltiple durante el examen
  • Principales persistentes que usan las aplicaciones de Microsoft DirectX versión 9.L de pantalla completa
El tiempo de ejecución de Direct3D llama a la función CreateResource del controlador de pantalla en modo de usuario para crear la principal que se va a examinar. Sin embargo, el controlador debe programar el hardware para examinar solo cuando se llama a su función SetDisplayMode . Por lo tanto, el tiempo de ejecución establece los miembros hResource y SubResourceIndex de la estructura D3DDDIARG_SETDISPLAYMODE a la que apunta el parámetro pData en el principal que se creó a través de la llamada a la función CreateResource del controlador. A continuación, el controlador debe traducir la principal representada por hResource y SubResourceIndex a un identificador de asignación principal. Después de que el controlador realice esta traducción, el controlador debe pasar el identificador resultante en una llamada a la función pfnSetDisplayModeCb , que luego inicia una llamada a la función DxgkDdiCommitVidPn del controlador de miniporte de pantalla.

El controlador de pantalla en modo de usuario puede establecer el miembro hPrimaryAllocation de la estructura D3DDDICB_SETDISPLAYMODE en la llamada a pfnSetDisplayModeCb para examinar cualquier asignación. Sin embargo, la asignación debe marcarse como principal (es decir, el controlador de pantalla en modo de usuario debe haber establecido la marca de campo de bits principal en el miembro Flags de la estructura D3DDDI_ALLOCATIONINFO en una llamada a la función pfnAllocateCb para crear la asignación).

Requisitos

Requisito Value
Cliente mínimo compatible Disponible en Windows Vista y versiones posteriores de los sistemas operativos Windows.
Plataforma de destino Escritorio
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDIARG_SETDISPLAYMODE

D3DDDI_DEVICEFUNCS

pfnSetDisplayModeCb