Partager via


PFND3DDDI_CHECKDIRECTFLIPSUPPORT fonction de rappel (d3dumddi.h)

Appelé par le Gestionnaire de fenêtres de bureau (DWM) pour vérifier que le pilote en mode utilisateur prend en charge les opérations Direct Flip, dans lesquelles la mémoire vidéo est basculée en toute transparence entre les allocations principales managées d’une application et les allocations primaires managées du DWM.

Syntaxe

PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;

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

Paramètres

hDevice

Handle de l’appareil d’affichage (contexte graphique).

unnamedParam2

pData [in, out]

Pointeur vers une structure D3DDDIARG_CHECKDIRECTFLIPSUPPORT qui définit les paramètres de l’opération.

Valeur de retour

Retourne S_OK ou un résultat d’erreur approprié si l’opération n’est pas correctement effectuée.

Remarques

Cette fonction est appelée au moins une fois avant que le DWM tente de présenter à une chaîne d’échange Direct Flip. Il est également appelé après chaque modification de mode, ou après que le DWM recrée sa propre chaîne d’échange pour une raison quelconque.

Le pilote en mode utilisateur doit s’assurer que les allocations principales managées de l’application et le DWM disposent des ressources compatibles suivantes :

  • Ressources stéréo.
  • Plusieurs exemples de formats MSAA (Anti Aliasing).
  • Formats Swizzle. Si le swizzle ne peut être modifié qu’à chaque intervalle VSync, assurez-vous que le membre CheckDirectFlipFlags de la structure D3DDDI_CHECK_DIRECT_FLIP_FLAGS n’a pas de valeur de D3D11_1DDI_CHECK_DIRECT_FLIP_IMMEDIATE.
  • Les deux allocations principales managées doivent être créées à l’aide de la même valeur VidPnSourceId dans la structure D3DDDI_ALLOCATIONINFO.
  • Les configurations de l’adaptateur d’affichage sont liées.
Le pilote en mode utilisateur peut avoir besoin d’appeler le pilote en mode noyau pour effectuer ces validations. Pour ce faire, appelez la fonction de rappel pfnEscapeCb, puis appelez la fonction DxgkCbGetHandleData pour accéder aux données d’allocation de ressources du pilote en mode noyau.

Étant donné que le DWM crée généralement son propre appareil à l’aide du niveau de fonctionnalité Microsoft Direct3D le plus élevé possible, le DWM n’appelle pas cette fonction si le matériel prend en charge une interface de pilote de périphérique Direct3D (DDI) supérieure à la version 9.3. Toutefois, tout pilote Microsoft Direct3D 9 doit implémenter cette fonction pour activer l’expérience utilisateur Direct Flip.

Exigences

Exigence Valeur
client minimum pris en charge Windows 8
serveur minimum pris en charge Windows Server 2012
plateforme cible Bureau
d’en-tête d3dumddi.h (include D3dumddi.h)

Voir aussi

D3DDDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_DEVICEFUNCS