D3DDDI_ESCAPEFLAGS-Struktur (d3dukmdt.h)
Die D3DDDI_ESCAPEFLAGS-Struktur gibt an, wie der Benutzermodusanzeigetreiber Informationen mit dem Anzeigeminiporttreiber teilt.
Syntax
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;
Member
HardwareAccess
Ein UINT-Wert , der angibt, ob das Betriebssystem die zweite Synchronisierungsebene mit dem Anzeigeminiporttreiber für den DxgkDdiEscape-Aufruf ausführt. Wenn der Treiber die zweite Synchronisierungsebene erfordert und das HardwareAccess-Flag nicht festgelegt ist, sollte der Aufruf der DxgkDdiEscape-Funktion des Treibers fehlschlagen.
Ab Windows 8.1 müssen DeviceStatusQuery und ChangeFrameLatency auf Null festgelegt werden, wenn dieser Member festgelegt ist.
Das Festlegen dieses Elements entspricht dem Festlegen des ersten Bits des 32-Bit-Elements Wert (0x00000001).
DeviceStatusQuery
Wenn festgelegt, wenn die pfnEscapeCb-Funktion aufgerufen wird und die D3DDDICB_ESCAPE. PrivateDriverDataSize-Member ist sizeof(D3DDDI_EXECUTIONSTATEESCAPE)
, die Direct3D-Runtime interpretiert die D3DDDICB_ESCAPE.pPrivateDriverData-Element als Zeiger auf einen Puffer, der eine D3DDDI_EXECUTIONSTATEESCAPE-Struktur enthält. Darüber hinaus verarbeitet die Runtime pfnEscapeCb als status Abfrage, indem die angeforderten Informationen in den bereitgestellten Puffer geschrieben werden, anstatt einen DxgkDdiEscape-Aufruf an den Anzeige-Miniporttreiber zu senden.
Wenn dieser Member festgelegt ist, müssen HardwareAccess und ChangeFrameLatency auf Null festgelegt werden.
Unterstützt ab Windows 8.1.
Das Betriebssystem ignoriert diesen Member, wenn er vor Windows 8.1 ist oder wenn der Benutzermodustreiber mit einem OpenAdapterXxx-Aufruf initialisiert wurde, wobei der pOpenData-Interface-Member> Direct3D Version 8 oder früher angibt.
Das Festlegen dieses Elements entspricht dem Festlegen des zweiten Bits des 32-Bit-Wertmembers (0x00000002).
ChangeFrameLatency
Wenn festgelegt, wird die pfnEscapeCb-Funktion aufgerufen, die D3DDDICB_ESCAPE. Das PrivateDriverDataSize-Element ist sizeof(D3DDDI_FRAMELATENCYESCAPE)
und die Bedingungen in Den Hinweisen sind ebenfalls erfüllt. Die Direct3D-Runtime interpretiert die D3DDDICB_ESCAPE.pPrivateDriverData-Member als Zeiger auf einen Puffer, der eine D3DDDI_FRAMELATENCYESCAPE-Struktur enthält. Darüber hinaus verarbeitet die Runtime pfnEscapeCb als Anforderung zum Ändern der maximalen Framelatenz des DirectX-Grafikkernsubsystems, indem die angeforderten Informationen in den bereitgestellten Puffer geschrieben werden, anstatt einen DxgkDdiEscape-Aufruf an den Anzeige-Miniporttreiber zu senden.
Wenn dieser Member festgelegt ist, müssen HardwareAccess und DeviceStatusQuery auf Null festgelegt werden.
Unterstützt ab Windows 8.1.
Das Betriebssystem ignoriert diesen Member, wenn er vor Windows 8.1 ist oder wenn der Benutzermodustreiber mit einem OpenAdapterXxx-Aufruf initialisiert wurde, wobei der pOpenData-Interface-Member> Direct3D Version 8 oder früher angibt.
Das Festlegen dieses Elements entspricht dem Festlegen des dritten Bits des 32-Bit-Elements Wert (0x00000004).
NoAdapterSynchronization
Reserved
Dieser Member ist reserviert und sollte auf 0 (null) festgelegt werden. Das Festlegen dieses Elements auf 0 (null) entspricht dem Festlegen der verbleibenden 29 Bits (0xFFFFFFF8) des 32-Bit-Wertmembers auf Nullen.
Dieser Member ist reserviert und sollte auf 0 (null) festgelegt werden. Das Festlegen dieses Elements auf 0 (null) entspricht dem Festlegen der verbleibenden 31 Bits (0xFFFFFFFE) des 32-Bit-Wertmembers auf Nullen.
VirtualMachineData
Gibt an, dass DxgkDdiEscape von einem virtuellen Computer aufgerufen wird.
DriverKnownEscape
Die privaten Treiberdaten weisen auf eine bekannte Struktur hin.
DriverCommonEscape
Die durch die Laufzeit definierte Struktur privater Datenpunkte.
Reserved2
Dieser Member ist reserviert und sollte auf 0 (null) festgelegt werden.
Value
Ein Element in der Union, das in D3DDDI_ESCAPEFLAGS enthalten ist, das einen 32-Bit-Wert enthalten kann, der angibt, wie Informationen freigegeben werden.
Hinweise
Wenn ChangeFrameLatency festgelegt ist, ist ein pfnEscapeCb-Aufruf nur erfolgreich, wenn:
- Der Display-Miniporttreiber ist für eine verknüpfte Adapterkonfiguration (Linked Adapter Configuration, LDA) verantwortlich, die von einem einzelnen Anbieter bereitgestellt wird.
- Die App hat zu einem bestimmten Zeitpunkt in ihrer Lebensdauer den exklusiven Vollbildbesitz des Displays übernommen.
- Die App hat den standardmäßigen maximalen Framelatenzwert von 3 nicht überschrieben.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Verfügbar in Windows Vista und höheren Versionen des Windows-Betriebssystems. |
Kopfzeile | d3dukmdt.h (einschließlich D3dumddi.h, D3dkmddi.h) |