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.
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) |