Freigeben über


D3DDDI_ESCAPEFLAGS Struktur (d3dukmdt.h)

Die D3DDDI_ESCAPEFLAGS Struktur identifiziert, wie der Benutzermodusanzeigetreiber (UMD) (oder Clienttreiber) Informationen mit dem Kernelmodus-Miniporttreiber (KMD) 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;

Angehörige

HardwareAccess

Ein UINT-Wert, der angibt, ob das Betriebssystem die zweite Synchronisierungsebene in die KMD 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 muss DeviceStatusQuery und ChangeFrameLatency- auf Null festgelegt werden.

DeviceStatusQuery

Wenn festgelegt, wenn die pfnEscapeCb Funktion aufgerufen wird und die D3DDDICB_ESCAPE.PrivateDriverDataSize Member sizeof(D3DDDI_EXECUTIONSTATEESCAPE)ist, interpretiert die Direct3D-Laufzeit die D3DDDICB_ESCAPE.pPrivateDriverData Member als Zeiger auf einen Puffer, der eine D3DDDI_EXECUTIONSTATEESCAPE Struktur enthält. Darüber hinaus verarbeitet die Laufzeit das pfnEscapeCb als Statusabfrage, indem die angeforderten Informationen in den bereitgestellten Puffer geschrieben werden, anstatt einen DxgkDdiEscape- Aufruf an den KMD zu senden.

Wenn dieses Element festgelegt ist, müssen HardwareAccess- und ChangeFrameLatency- auf Null festgelegt werden.

Wird ab Windows 8.1 unterstützt.

Das Betriebssystem ignoriert dieses Element, wenn es vor Windows 8.1 liegt oder der Benutzermodustreiber mit einem OpenAdapterXxx-Aufruf initialisiert wurde, in dem der pOpenData-->Interface Member direct3D Version 8 oder früher angibt.

ChangeFrameLatency

Wenn festgelegt, wenn die pfnEscapeCb--Funktion aufgerufen wird, wird die D3DDDICB_ESCAPE.PrivateDriverDataSize Member ist sizeof(D3DDDI_FRAMELATENCYESCAPE) und Bedingungen in den Anmerkungen erfüllt sind, interpretiert die Direct3D-Laufzeit die D3DDDICB_ESCAPE.pPrivateDriverData Member als Zeiger auf einen Puffer, der eine D3DDDI_FRAMELATENCYESCAPE Struktur enthält. Darüber hinaus verarbeitet die Laufzeit das pfnEscapeCb als Anforderung, die maximale Framelatenz des DirectX-Grafik-Kernels zu ändern, indem die angeforderten Informationen in den bereitgestellten Puffer geschrieben werden, anstatt einen DxgkDdiEscape- Aufruf an die KMD zu senden.

Wenn dieses Element festgelegt ist, müssen HardwareAccess- und DeviceStatusQuery- auf Null festgelegt werden.

Wird ab Windows 8.1 unterstützt.

Das Betriebssystem ignoriert dieses Element, wenn es vor Windows 8.1 liegt oder der Benutzermodustreiber mit einem OpenAdapterXxx-Aufruf initialisiert wurde, in dem der pOpenData-->Interface Member direct3D Version 8 oder früher angibt.

NoAdapterSynchronization

Reserved

Dieses Element ist reserviert und sollte auf Null festgelegt werden.

VirtualMachineData

Gibt an, dass DxgkDdiEscape- von einem virtuellen Computer aufgerufen wird. Dieses Kennzeichen kann nicht aus dem Benutzermodus festgelegt werden. Wird ab WDDM 2.2 unterstützt.

DriverKnownEscape

Die privaten Treiberdaten weisen auf eine bekannte Struktur hin.

DriverCommonEscape

Die privaten Daten weisen auf eine D3D-laufzeitdefinierte Struktur hin.

Reserved2

Dieses Element ist reserviert und sollte auf Null festgelegt werden.

Value

Ein Mitglied in der Union, das in D3DDDI_ESCAPEFLAGS enthalten ist, der einen 32-Bit-Wert enthalten kann, der angibt, wie Informationen freigegeben werden.

Bemerkungen

Wenn ChangeFrameLatency- festgelegt ist, wird ein pfnEscapeCb Aufruf nur erfolgreich ausgeführt, wenn:

  • Die KMD ist für eine von einem einzelnen Anbieter bereitgestellte Konfiguration (Linked Adapter Configuration, LDA) verantwortlich.
  • Die App hat zu einem bestimmten Zeitpunkt ihrer Lebensdauer exklusiven Vollbildmodus für die Anzeige übernommen.
  • Die App hat den standardmäßigen maximalen Framelatenzwert 3 nicht außer Kraft gesetzt.

Wenn diese Bedingungen nicht erfüllt sind, gibt pfnEscapeCb Aufruf einen E_INVALIDARG Fehlercode zurück.

Anforderungen

Anforderung Wert
mindestens unterstützte Client- Windows Vista (WDDM 1.0)
Header- d3dukmdt.h (einschließlich D3dumddi.h, D3dkmddi.h)

Siehe auch

D3DDDICB_ESCAPE

D3DDDI_EXECUTIONSTATEESCAPE

D3DDDI_FRAMELATENCYESCAPE

DXGKARG_ESCAPE

DxgkDdiEscape-

pfnEscapeCb