D3DKMT_PRESENT Struktur (d3dkmthk.h)

Die D3DKMT_PRESENT-Struktur beschreibt den vorliegenden Vorgang.

Syntax

typedef struct _D3DKMT_PRESENT {
  union {
    [in] D3DKMT_HANDLE hDevice;
    [in] D3DKMT_HANDLE hContext;
  };
  [in] HWND                           hWindow;
  [in] D3DDDI_VIDEO_PRESENT_SOURCE_ID VidPnSourceId;
  [in] D3DKMT_HANDLE                  hSource;
  [in] D3DKMT_HANDLE                  hDestination;
  [in] UINT                           Color;
  [in] RECT                           DstRect;
  [in] RECT                           SrcRect;
  [in] UINT                           SubRectCnt;
  [in] const RECT                     *pSrcSubRects;
  [in] UINT                           PresentCount;
  [in] D3DDDI_FLIPINTERVAL_TYPE       FlipInterval;
  [in] D3DKMT_PRESENTFLAGS            Flags;
  [in] ULONG                          BroadcastContextCount;
       D3DKMT_HANDLE                  BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT];
  [in] HANDLE                         PresentLimitSemaphore;
  [in] D3DKMT_PRESENTHISTORYTOKEN     PresentHistoryToken;
       D3DKMT_PRESENT_RGNS            *pPresentRegions;
  union {
         D3DKMT_HANDLE hAdapter;
         D3DKMT_HANDLE hIndirectContext;
  };
       UINT                           Duration;
       D3DKMT_HANDLE                  *BroadcastSrcAllocation;
       D3DKMT_HANDLE                  *BroadcastDstAllocation;
       UINT                           PrivateDriverDataSize;
       PVOID                          pPrivateDriverData;
       BOOLEAN                        bOptimizeForComposition;
} D3DKMT_PRESENT;

Member

[in] hDevice

Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für das Gerät darstellt, für das das gerät angezeigt werden soll. Für die Funktion D3DKMTPresent in der Union, die D3DKMT_PRESENT enthält, wird zur Kompatibilität mit Microsoft Direct3D Version 10 ein Gerätehandle bereitgestellt.

[in] hContext

Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für den gerätebezogenen Kontext darstellt.

[in] hWindow

Ein Handle für das Fenster, auf das die Bitblockübertragung (Bitblt) angewendet wird. Der Wert NULL gibt das Desktopfenster an. Der Wert in hWindow kann NULL sein, es sei denn, das Bitfeldflag Blt oder ColorFill ist im Flags-Element angegeben.

[in] VidPnSourceId

Die nullbasierte Identifikationsnummer der Videoquelle, die in einem Pfad einer VidPN-Topologie (Video Present Network) vorhanden ist, für die die Anzeige eingeschränkt werden soll, wenn das RestrictVidPnSource-Bitfeldflag im Flags-Element festgelegt ist.

Wenn das Bitfeldflag RestrictVidPnSource festgelegt ist und das hWindow-ElementNULL ist, gibt das VidPnSourceId-Element an, welche Ausgabe der Vollbildbitblt an gerichtet ist Wenn RestrictVidPnSource festgelegt ist und hWindow nicht NULL ist, gibt VidPnSourceId an, auf welche Ausgabe die Bitblockübertragung im Fenster beschränkt werden soll.

[in] hSource

Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für den Systemspeicher oder die primäre Zuordnung darstellt, die aus angezeigt werden soll, wenn das ColorFill-Bitfeldflag im Flags-Element nicht festgelegt ist.

[in] hDestination

Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für die Zielzuordnung darstellt. hDestination kann null sein, wenn das Ziel unbekannt ist.

Das Handle in hDestination ist nur gültig, wenn das Blt-Bitfeldflag im Flags-Element festgelegt ist.

Wenn das Handle im hDestination-Member nichtzero ist, müssen die hDestination - und hWindow-Handles auf zwei verschiedene primäre Zuordnungen derselben Größe verweisen, das Gerät im hDevice-Member muss die vom VidPnSourceId-Member identifizierte Videoquelle besitzen, und das Bitfeldflag SrcRectValid muss im Flags-Element festgelegt werden.

[in] Color

Der ARGB-32-Bit-Wert (siehe D3DDDIFORMAT Enumeration) farbfüllend oder farbtastenwert . Ein Wert für die Farbfüllung wird festgelegt, wenn das ColorFill-Bitfeldflag im Flags-Element festgelegt ist. Ein Wert für den Farbschlüssel wird festgelegt, wenn entweder das Bitfeldflag SrcColorKey oder DstColorKey im Flags-Element festgelegt ist. Beachten Sie, dass jederzeit nur eines der Bitfeldflags ColorFill, SrcColorKey und DstColorKey festgelegt ist.

Wenn das primäre Format palettisiert RGB ist, enthält Color den Palettenindex und nicht den D3DDDIFMT_A8R8G8B8 Wert aus D3DDDIFORMAT.

[in] DstRect

Das optionale Ziel-RECT für die Bitblt. Das ZIEL-RECT wird nur verwendet, wenn das Bitfeldflag DstRectValid im Flags-Element festgelegt ist.

[in] SrcRect

Das optionale Quell-RECT für die Bitblt. Das Quell-RECT wird nur verwendet, wenn das SrcRectValid-Bitfeldflag im Flags-Element festgelegt ist.

[in] SubRectCnt

Die Anzahl der subrectangularen Regionen, auf die pSrcSubRects verweist, auf die beim Präsentieren angegeben wird.

[in] pSrcSubRects

Ein Zeiger auf ein Array subrectangular regions (RECTs), die beim Präsentieren angegeben werden.

[in] PresentCount

Die Anzahl der vorhandenen Vorgänge, die für das von hDevice angegebene Gerät in die Warteschlange gestellt werden können.

[in] FlipInterval

Ein D3DDDI_FLIPINTERVAL_TYPE typisierter Wert, der das Flipintervall angibt (d. a. wenn die Synchronisierung nach null, 1, zwei, drei oder vier vertikalen Synchronisierungen erfolgt).

[in] Flags

Eine D3DKMT_PRESENTFLAGS Struktur, die in Bitfeldflags die Anzeige angibt. Beachten Sie, dass sich die Bitfeldflags ColorFill, SrcColorKey und DstColorKey gegenseitig ausschließen.

[in] BroadcastContextCount

Die Anzahl zusätzlicher Kontexte in dem Array, das BroadcastContext angibt.

[in] BroadcastContext[D3DDDI_MAX_BROADCAST_CONTEXT]

Ein Array von D3DKMT_HANDLE Datentypen, die Kernelmodushandles für die zusätzlichen Kontexte darstellen, an die der aktuelle Vorgang gesendet werden soll. Die D3DDDI_MAX_BROADCAST_CONTEXT Konstante, die als 64 definiert ist, definiert die maximale Anzahl von Kontexten, an die der OpenGL ICD den aktuellen Vorgang übertragen kann.

Die Übertragung wird nur für Flip-Vorgänge unterstützt. Um einen Flip-Vorgang zu übertragen, muss der Display-Miniporttreiber mmio-basierte (Memory Mapped E/O) Flips unterstützen. Um die Unterstützung von MMIO-Flips anzugeben, legt der Display-Miniporttreiber das FlipOnVSyncMmIo-Bitfeldflag im FlipCaps-Element der DXGK_DRIVERCAPS-Struktur fest, wenn die DxgkDdiQueryAdapterInfo-Funktion aufgerufen wird.

Der ursprüngliche Kontext, den das hContext-Element angibt und für den der OpenGL ICD angezeigt wird, ist kein Element im BroadcastContext-Array . Wenn das BroadcastContext-Array beispielsweise ein Element enthält, sendet der OpenGL ICD den vorliegenden Vorgang an den besitzereigenen Kontext (hContext) und sendet an diesen zusätzlichen Kontext.

[in] PresentLimitSemaphore

Der Handle zum gegenwärtig begrenzten Semaphor.

Wird ab Windows 7 unterstützt.

[in] PresentHistoryToken

Eine D3DKMT_PRESENTHISTORYTOKEN-Struktur , die den Typ des aktuellen Vorgangs identifiziert.

Wird ab Windows 7 unterstützt.

pPresentRegions

Ein Zeiger auf eine D3DKMT_PRESENT_RGNS Struktur, die modifiziert und Verschieben von Regionen identifiziert.

Wird ab Windows 8 unterstützt.

hAdapter

Ein Handle für den Grafikkarten.

hIndirectContext

Der indirekte Adapterkontext für die Umleitung über den vorhandenen DoD-Pfad. Dieser Member ist nur gültig, wenn das PresentIndirect-Flag festgelegt ist.

Duration

Dauer pro Gegenwart. Gültig nur, wenn das DurationValid-Flag festgelegt ist.

BroadcastSrcAllocation

Verknüpfter Anzeigeadapter für die Quelle.

BroadcastDstAllocation

Verknüpfter Anzeigeadapter für das Ziel.

PrivateDriverDataSize

Private Treiberdatengröße.

pPrivateDriverData

Zeiger auf einen Puffer, der optionale private Treiberdaten enthält.

bOptimizeForComposition

Gibt an, ob das Gerät für die Komposition optimiert ist.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Kopfzeile d3dkmthk.h (einschließlich D3dkmthk.h)

Weitere Informationen

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT