Partager via


D3DDDI_ESCAPEFLAGS structure (d3dukmdt.h)

La structure D3DDDI_ESCAPEFLAGS identifie la façon dont le pilote d’affichage en mode utilisateur partage des informations avec le pilote de miniport d’affichage.

Syntaxe

typedef struct _D3DDDI_ESCAPEFLAGS {
  union {
    struct {
      UINT HardwareAccess : 1;
      UINT DeviceStatusQuery : 1;
      UINT ChangeFrameLatency : 1;
      UINT NoAdapterSynchronization : 1;
#if ...
      UINT Reserved : 1;
      UINT VirtualMachineData : 1;
      UINT DriverKnownEscape : 1;
      UINT DriverCommonEscape : 1;
#if ...
      UINT Reserved2 : 24;
#else
      UINT Reserved2 : 26;
#endif
#elif
      UINT Reserved : 28;
#elif
      UINT Reserved : 29;
#else
      UINT Reserved : 31;
#endif
    };
    UINT Value;
  };
} D3DDDI_ESCAPEFLAGS;

Membres

HardwareAccess

Valeur UINT qui spécifie si le système d’exploitation effectue le deuxième niveau de synchronisation dans le pilote de miniport d’affichage pour l’appel DxgkDdiEscape . Si le pilote nécessite le deuxième niveau de synchronisation et que l’indicateur HardwareAccess n’est pas défini, l’appel à la fonction DxgkDdiEscape du pilote doit échouer.

À compter de Windows 8.1, si ce membre est défini, DeviceStatusQuery et ChangeFrameLatency doivent être définis sur zéro.

Définir ce membre revient à définir le premier bit du membre Value 32 bits (0x00000001).

DeviceStatusQuery

Si la valeur est définie, lorsque la fonction pfnEscapeCb est appelée et que le D3DDDICB_ESCAPE. Le membre PrivateDriverDataSize est sizeof(D3DDDI_EXECUTIONSTATEESCAPE), le runtime Direct3D interprète le D3DDDICB_ESCAPE.Membre pPrivateDriverData en tant que pointeur vers une mémoire tampon qui contient une structure D3DDDI_EXECUTIONSTATEESCAPE . En outre, le runtime traite pfnEscapeCb comme une requête status en écrivant les informations demandées dans la mémoire tampon fournie au lieu d’envoyer un appel DxgkDdiEscape au pilote de miniport d’affichage.

Si ce membre est défini, HardwareAccess et ChangeFrameLatency doivent être définis sur zéro.

Pris en charge à partir de Windows 8.1.

Le système d’exploitation ignore ce membre s’il est antérieur à Windows 8.1, ou si le pilote en mode utilisateur a été initialisé avec un appel OpenAdapterXxx où le membre pOpenData-Interface> indique Direct3D version 8 ou antérieure.

Définir ce membre revient à définir le deuxième bit du membre Value 32 bits (0x00000002).

ChangeFrameLatency

Si la valeur est définie, lorsque la fonction pfnEscapeCb est appelée, le D3DDDICB_ESCAPE. Le membre PrivateDriverDataSize est sizeof(D3DDDI_FRAMELATENCYESCAPE) et les conditions dans Les remarques sont également remplies, le runtime Direct3D interprète le D3DDDICB_ESCAPE.Membre pPrivateDriverData en tant que pointeur vers une mémoire tampon qui contient une structure D3DDDI_FRAMELATENCYESCAPE . En outre, le runtime traite pfnEscapeCb comme une demande de modification de la latence maximale du sous-système de trame du noyau graphique DirectX en écrivant les informations demandées dans la mémoire tampon fournie au lieu d’envoyer un appel DxgkDdiEscape au pilote de miniport d’affichage.

Si ce membre est défini, HardwareAccess et DeviceStatusQuery doivent être définis sur zéro.

Pris en charge à partir de Windows 8.1.

Le système d’exploitation ignore ce membre s’il est antérieur à Windows 8.1, ou si le pilote en mode utilisateur a été initialisé avec un appel OpenAdapterXxx où le membre pOpenData-Interface> indique Direct3D version 8 ou antérieure.

Définir ce membre revient à définir le troisième bit du membre value 32 bits (0x00000004).

NoAdapterSynchronization

Reserved

Ce membre est réservé et doit être défini sur zéro. La définition de ce membre sur zéro revient à définir les 29 bits restants (0xFFFFFFF8) du membre Value 32 bits sur zéros.

Ce membre est réservé et doit être défini sur zéro. Définir ce membre sur zéro revient à définir les 31 bits restants (0xFFFFFFFE) du membre Value 32 bits sur zéros.

VirtualMachineData

Indique que DxgkDdiEscape est appelé à partir d’une machine virtuelle.

DriverKnownEscape

Les données privées du pilote pointent vers une structure bien connue.

DriverCommonEscape

Structure définie par le runtime de points de données privés.

Reserved2

Ce membre est réservé et doit être défini sur zéro.

Value

Membre de l’union contenu dans D3DDDI_ESCAPEFLAGS pouvant contenir une valeur 32 bits qui identifie comment partager des informations.

Remarques

Si ChangeFrameLatency est défini, un appel pfnEscapeCb réussit uniquement si :

  • Le pilote de miniport d’affichage est responsable d’une configuration d’adaptateur lié (LDA) fournie par un seul fournisseur.
  • L’application a pris la propriété plein écran exclusive de l’affichage à un moment donné de sa durée de vie.
  • L’application n’a pas remplacé la valeur de latence maximale d’image par défaut de 3.
Si ces conditions ne sont pas remplies, l’appel pfnEscapeCb retourne un code d’erreur E_INVALIDARG .

Configuration requise

Condition requise Valeur
Client minimal pris en charge Disponible dans Windows Vista et versions ultérieures du système d’exploitation Windows.
En-tête d3dukmdt.h (include D3dumddi.h, D3dkmddi.h)

Voir aussi

D3DDDICB_ESCAPE

D3DDDI_EXECUTIONSTATEESCAPE

D3DDDI_FRAMELATENCYESCAPE

DXGKARG_ESCAPE

DxgkDdiEscape

pfnEscapeCb