Compartir a través de


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

Llamado por el Administrador de ventanas de escritorio (DWM) para comprobar que el controlador en modo de usuario admite operaciones Direct Flip, en las que la memoria de vídeo se recorta sin problemas entre las asignaciones principales administradas de una aplicación y las asignaciones principales administradas de DWM.

Sintaxis

PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;

HRESULT Pfnd3dddiCheckdirectflipsupport(
  HANDLE hDevice,
  D3DDDIARG_CHECKDIRECTFLIPSUPPORT *unnamedParam2
)
{...}

Parámetros

hDevice

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

unnamedParam2

pData [in, out]

Puntero a una estructura D3DDDIARG_CHECKDIRECTFLIPSUPPORT que define los parámetros de la operación.

Valor devuelto

Devuelve S_OK o un resultado de error adecuado si la operación no se realiza correctamente.

Comentarios

Esta función se llama al menos una vez antes de que DWM intente presentarla en una cadena de intercambio de Direct Flip. También se llama después de que se produzca cada cambio de modo o después de que DWM vuelva a crear su propia cadena de intercambio por cualquier motivo.

El controlador en modo de usuario debe asegurarse de que las asignaciones principales administradas de la aplicación y DWM tengan los siguientes recursos compatibles:

  • Recursos estéreo.
  • Varios formatos de suavizado de contorno de ejemplo (MSAA).
  • Formatos de Swizzle. Si el swizzle solo se puede cambiar en cada intervalo de VSync, asegúrese de que el miembro CheckDirectFlipFlags de la estructura D3DDDI_CHECK_DIRECT_FLIP_FLAGS no tiene un valor de D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE.
  • Ambas asignaciones principales administradas deben crearse con el mismo valor VidPnSourceId en la estructura D3DDDI_ALLOCATIONINFO .
  • Las configuraciones del adaptador de pantalla están vinculadas.
Es posible que el controlador en modo de usuario tenga que llamar al controlador en modo kernel para realizar estas validaciones. Para ello, llame a la función de devolución de llamada pfnEscapeCb y, a continuación, llame a la función DxgkCbGetHandleData para acceder a los datos de asignación de recursos del controlador en modo kernel.

Dado que DWM normalmente crea su propio dispositivo con el nivel de característica de Microsoft Direct3D más alto posible, DWM no llamará a esta función si el hardware admite una interfaz de controlador de dispositivo Direct3D (DDI) mayor que la versión 9.3. Sin embargo, cualquier controlador de Microsoft Direct3D 9 debe implementar esta función para habilitar la experiencia del usuario de Direct Flip.

Requisitos

Requisito Value
Cliente mínimo compatible Windows 8
Servidor mínimo compatible Windows Server 2012
Plataforma de destino Escritorio
Encabezado d3dumddi.h (incluya D3dumddi.h)

Consulte también

D3DDDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_DEVICEFUNCS