Condividi tramite


D3DDDI_ESCAPEFLAGS struttura (d3dukmdt.h)

La struttura D3DDDI_ESCAPEFLAGS identifica il modo in cui il driver in modalità utente condivide le informazioni con il driver miniport visualizzato.

Sintassi

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;

Members

HardwareAccess

Valore UINT che specifica se il sistema operativo esegue il secondo livello di sincronizzazione nel driver miniport visualizzato per la chiamata DxgkDdiEscape . Se il driver richiede il secondo livello di sincronizzazione e il flag HardwareAccess non è impostato, la chiamata alla funzione DxgkDdiEscape del driver deve avere esito negativo.

A partire da Windows 8.1, se questo membro è impostato, DeviceStatusQuery e ChangeFrameLatency deve essere impostato su zero.

L'impostazione di questo membro equivale a impostare il primo bit del membro Valore a 32 bit (0x00000001).

DeviceStatusQuery

Se impostato, quando viene chiamata la funzione pfnEscapeCb e il D3DDDICB_ESCAPE. Il membro PrivateDriverDataSize è sizeof(D3DDDI_EXECUTIONSTATEESCAPE), il runtime Direct3D interpreta il D3DDDICB_ESCAPE.pPrivateDriverData membro come puntatore a un buffer contenente una struttura D3DDDI_EXECUTIONSTATEESCAPE . Inoltre, il runtime elabora pfnEscapeCb come query di stato scrivendo le informazioni richieste nel buffer specificato anziché inviare una chiamata DxgkDdiEscape al driver miniport visualizzato.

Se questo membro è impostato, HardwareAccess e ChangeFrameLatency devono essere impostati su zero.

Supportato a partire da Windows 8.1.

Il sistema operativo ignora questo membro se è precedente a Windows 8.1 o se il driver in modalità utente è stato inizializzato con una chiamata OpenAdapterXxx in cui il membro pOpenData-Interface> indica Direct3D versione 8 o precedente.

L'impostazione di questo membro equivale a impostare il secondo bit del membro Valore a 32 bit (0x00000002).

ChangeFrameLatency

Se impostato, quando viene chiamata la funzione pfnEscapeCb , il D3DDDICB_ESCAPE. Il membro PrivateDriverDataSize è sizeof(D3DDDI_FRAMELATENCYESCAPE) e le condizioni in Osservazioni vengono soddisfatte anche, il runtime Direct3D interpreta il D3DDDICB_ESCAPE.pPrivateDriverData membro come puntatore a un buffer contenente una struttura D3DDDI_FRAMELATENCYESCAPE . Inoltre, il runtime elabora pfnEscapeCb come richiesta di modificare la latenza massima del frame del kernel di grafica DirectX scrivendo le informazioni richieste nel buffer specificato anziché inviare una chiamata DxgkDdiEscape al driver miniport visualizzato.

Se questo membro è impostato, HardwareAccess e DeviceStatusQuery devono essere impostati su zero.

Supportato a partire da Windows 8.1.

Il sistema operativo ignora questo membro se è precedente a Windows 8.1 o se il driver in modalità utente è stato inizializzato con una chiamata OpenAdapterXxx in cui il membro pOpenData-Interface> indica Direct3D versione 8 o precedente.

L'impostazione di questo membro equivale a impostare il terzo bit del membro Valore a 32 bit (0x00000004).

NoAdapterSynchronization

Reserved

Questo membro è riservato e deve essere impostato su zero. L'impostazione di questo membro su zero equivale a impostare i restanti 29 bit (0xFFFFFFF8) del membro Valore a 32 bit su zero.

Questo membro è riservato e deve essere impostato su zero. L'impostazione di questo membro su zero equivale a impostare i restanti 31 bit (0xFFFFFFFE) del membro Valore a 32 bit su zero.

VirtualMachineData

Indica che DxgkDdiEscape viene chiamato da una macchina virtuale.

DriverKnownEscape

I dati privati del driver puntano a una struttura nota.

DriverCommonEscape

Struttura definita dal runtime dei punti dati privati.

Reserved2

Questo membro è riservato e deve essere impostato su zero.

Value

Membro dell'unione contenuta in D3DDDI_ESCAPEFLAGS che può contenere un valore a 32 bit che identifica come condividere le informazioni.

Commenti

Se ChangeFrameLatency è impostato, una chiamata pfnEscapeCb avrà esito positivo solo se:

  • Il driver miniport visualizzato è responsabile di una configurazione dell'adattatore collegato (LDA) fornita da un singolo fornitore.
  • L'app ha acquisito la proprietà esclusiva a schermo intero del display a un certo punto nella sua durata.
  • L'app non ha eseguito l'override del valore massimo di latenza del frame predefinito pari a 3.
Se queste condizioni non vengono soddisfatte, la chiamata pfnEscapeCb restituisce un codice di errore E_INVALIDARG .

Requisiti

Requisito Valore
Client minimo supportato Disponibile in Windows Vista e versioni successive del sistema operativo Windows.
Intestazione d3dukmdt.h (include D3dumddi.h, D3dkmddi.h)

Vedi anche

D3DDDICB_ESCAPE

D3DDDI_EXECUTIONSTATEESCAPE

D3DDDI_FRAMELATENCYESCAPE

DXGKARG_ESCAPE

DxgkDdiEscape

pfnEscapeCb