Partager via


structure D3DKMT_ESCAPE (d3dkmthk.h)

La structure D3DKMT_ESCAPE décrit les informations échangées entre un pilote d’affichage en mode utilisateur (UMD) (ou pilote client) et le pilote de miniporteur d’affichage en mode noyau (KMD).

Syntaxe

typedef struct _D3DKMT_ESCAPE {
  [in]     D3DKMT_HANDLE      hAdapter;
  [in]     D3DKMT_HANDLE      hDevice;
  [in]     D3DKMT_ESCAPETYPE  Type;
  [in]     D3DDDI_ESCAPEFLAGS Flags;
  [in/out] VOID               *pPrivateDriverData;
  [in]     UINT               PrivateDriverDataSize;
  [in]     D3DKMT_HANDLE      hContext;
} D3DKMT_ESCAPE;

Membres

[in] hAdapter

Handle vers l’adaptateur graphique sur lequel les informations sont échangées.

[in] hDevice

Handle vers un appareil d’affichage qui est éventuellement spécifié si les informations à échanger sont spécifiques à un appareil particulier.

[in] Type

Valeur d’énumération D3DKMT_ESCAPETYPE qui indique soit pour échanger des informations avec le KMD, soit pour contrôler les composants en mode noyau. Le tableau suivant présente les valeurs possibles.

valeur Signification
D3DKMT_ESCAPE_DRIVERPRIVATE (0) Le membre pPrivateDriverData est ciblé sur le kmD. Le fournisseur de matériel définit le format des données d’échappement.
D3DKMT_ESCAPE_VIDMM (1) N’utilisez pas ; à des fins de test uniquement. Le pilote UMD/client contrôle le gestionnaire de mémoire vidéo (VidMm). Mémoire tampon qui pPrivateDriverData points pour contenir une structure D3DKMT_VIDMM_ESCAPE qui prend en charge différents types de contrôle de VidMm.
D3DKMT_ESCAPE_TDRDBGCTRL (2) N’utilisez pas ; à des fins de test uniquement. L’opération d’échappement permet à l’utilisateur de contrôler le comportement du processus TDR (Timeout Detection and Recovery) du système d’exploitation. Cette fonctionnalité est désactivée par défaut. Pour activer cette fonctionnalité, la valeur de Registre TdrTestMode = TdrTestMode DWORD, stockée dans la clé HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\GraphicsDrivers, doit être définie sur 1. Le membre PrivateDriverDataSize est défini sur sizeof(int). Le membre pPrivateDriverData est défini sur un entier avec une valeur du type d’énumération D3DKMT_TDRDBGCTRLTYPE.
D3DKMT_ESCAPE_VIDSCH (3) N’utilisez pas ; à des fins de test uniquement. Le pilote UMD/client contrôle le planificateur GPU (qui fait partie de Dxgkrnl). Mémoire tampon qui pPrivateDriverData points pour contenir une structure D3DKMT_VIDSCH_ESCAPE qui prend en charge le contrôle de préemption et suspend ou reprend le planificateur.
D3DKMT_ESCAPE_DEVICE (4) N’utilisez pas ; à des fins de test uniquement. Le pilote UMD/client contrôle l’appareil d’affichage. Mémoire tampon qui pPrivateDriverData points pour contenir une structure D3DKMT_DEVICE_ESCAPE qui prend en charge l’obtention de la source présente vidéo à partir de l’allocation principale.
D3DKMT_ESCAPE_DMM (5) N’utilisez pas ; à des fins de test uniquement. Le pilote UMD/client contrôle le gestionnaire de mode d’affichage. Mémoire tampon qui pPrivateDriverData points pour contenir une structure D3DKMT_DMM_ESCAPE.
D3DKMT_ESCAPE_DEBUG_SNAPSHOT (6) N’utilisez pas ; à des fins de test uniquement. Le pilote UMD/client récupère une mémoire tampon d’instantané de débogage. Mémoire tampon qui pPrivateDriverData pointe pour contenir une structure D3DKMT_DEBUG_SNAPSHOT_ESCAPE.
D3DKMT_ESCAPE_SETDRIVERUPDATESTATUS (7) N’utilisez pas ; à des fins de test uniquement. Le pilote UMD/client définit l’état de mise à jour KMD.
D3DKMT_ESCAPE_DRT_TEST (8) N’utilisez pas ; à des fins de test uniquement.
D3DKMT_ESCAPE_DIAGNOSTICS (9) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_OUTPUTDUPL_SNAPSHOT (10) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_OUTPUTDUPL_DIAGNOSTICS (11) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_BDD_PNP (12) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_BDD_FALLBACK (13) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_ACTIVATE_SPECIFIC_DIAG(14) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_MODES_PRUNED_OUT(15) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_WQHL_INFO(16) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_BRIGHTNESS(17) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_EDID_CACHE(18) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_GENERIC_ADAPTER_DIAG_INFO(19) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_MIRACAST_DISPLAY_REQUEST (20) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.1.
D3DKMT_ESCAPE_HISTORY_BUFFER_STATUS (21) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.1.
D3DKMT_ESCAPE_MIRACAST_ADAPTER_DIAG_INFO (23) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.1.
D3DKMT_ESCAPE_WIN32K_START(1024) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_WIN32K_HIP_DEVICE_INFO(1024) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_WIN32K_QUERY_CD_ROTATION_BLOCK (1025) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.
D3DKMT_ESCAPE_WIN32K_DPI_INFO (1026) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.1.
D3DKMT_ESCAPE_WIN32K_PRESENTER_VIEW_INFO (1027) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.1.
D3DKMT_ESCAPE_WIN32K_SYSTEM_DPI (1028) N’utilisez pas ; à des fins de test uniquement. Prise en charge à partir de Windows 8.1.

[in] Flags

Structure D3DDDI_ESCAPEFLAGS qui indique, dans les indicateurs de champ binaire, comment partager des informations. Le pilote UMD/client doit spécifier l’indicateur de champ de bits HardwareAccess pour indiquer que le KMD doit accéder au matériel graphique de telle sorte que le système d’exploitation doit effectuer le deuxième niveau de synchronisation dans le KMD pour l’appel DxgkDdiEscape.

HardwareAccess doit être défini sur zéro lors de l’utilisation de la virtualisation. Pour plus d’informations, consultez paravirtualization gpu.

[in/out] pPrivateDriverData

Pointeur vers une mémoire tampon que le pilote UMD ou client alloue qui contient une structure d’échappement de pilote connue. Cette structure contient des informations que le pilote échange avec le KMD ou utilise pour contrôler les composants en mode noyau. Le tableau suivant décrit le contenu de la mémoire tampon vers laquelle pPrivateDriverData pointe, en fonction de la valeur de Type.

Valeur du type Contenu de la mémoire tampon pPrivateDriverData
D3DKMT_ESCAPE_DRIVERPRIVATE Spécifique au pilote. La mémoire tampon n’est pas utilisable, sauf si un couplage serré existe entre le pilote UMD/client et le KMD.
D3DKMT_ESCAPE_VIDMM N’utilisez pas ; à des fins de test uniquement. Structure D3DKMT_VIDMM_ESCAPE.
D3DKMT_ESCAPE_TDRDBGCTRL N’utilisez pas ; à des fins de test uniquement. Type d’énumération D3DKMT_TDRDBGCTRLTYPE.
D3DKMT_ESCAPE_VIDSCH N’utilisez pas ; à des fins de test uniquement. Structure D3DKMT_VIDSCH_ESCAPE.
D3DKMT_ESCAPE_DEVICE N’utilisez pas ; à des fins de test uniquement. Structure D3DKMT_DEVICE_ESCAPE.
D3DKMT_ESCAPE_DMM N’utilisez pas ; à des fins de test uniquement. Structure D3DKMT_DMM_ESCAPE.
D3DKMT_ESCAPE_DEBUG_SNAPSHOT N’utilisez pas ; à des fins de test uniquement. Structure D3DKMT_DEBUG_SNAPSHOT_ESCAPE.

[in] PrivateDriverDataSize

Taille, en octets, de la mémoire tampon vers laquelle pPrivateDriverData pointe. Le pilote UMD/client doit spécifier la taille de la mémoire tampon lorsqu’il appelle la fonction D3DKMTEscape.

[in] hContext

Handle vers un contexte qui est éventuellement spécifié si les informations à échanger sont spécifiques à un contexte d’appareil particulier. Si le pilote UMD/client définit hContext à une valeur non NULL, le pilote doit également avoir défini hDevice sur une valeur non NULL et doit correspondre à l’appareil propriétaire du contexte.

Exigences

Exigence Valeur
client minimum pris en charge Windows Vista
d’en-tête d3dkmthk.h (include D3dkmthk.h)

Voir aussi

D3DKMTEscape

D3DKMT_DEBUG_SNAPSHOT_ESCAPE

D3DKMT_DEVICE_ESCAPE

D3DKMT_DMM_ESCAPE

D3DKMT_TDRDBGCTRLTYPE

D3DKMT_VIDMM_ESCAPE

D3DKMT_VIDSCH_ESCAPE