PFND3DDDI_CHECKDIRECTFLIPSUPPORT fonction de rappel (d3dumddi.h)

Appelé par Desktop Window Manager (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 de DWM.

Syntaxe

PFND3DDDI_CHECKDIRECTFLIPSUPPORT Pfnd3dddiCheckdirectflipsupport;

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

Paramètres

hDevice

Handle pour le périphérique 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 retournée

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

Remarques

Cette fonction est appelée au moins une fois avant que le DWM tente de présenter à un permutchain direct. Il est également appelé après chaque changement de mode, ou après que le DWM a recréé 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 du 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, vérifiez que le membre CheckDirectFlipFlags de la structure D3DDDI_CHECK_DIRECT_FLIP_FLAGS n’a pas la valeur 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 carte 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 (DDI) Direct3D 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.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows 8
Serveur minimal pris en charge Windows Server 2012
Plateforme cible Desktop (Expérience utilisateur)
En-tête d3dumddi.h (inclure D3dumddi.h)

Voir aussi

D3DDDI_CHECK_DIRECT_FLIP_FLAGS

D3DDDI_DEVICEFUNCS