Freigeben über


D3DKMT_PRESENT Struktur (d3dkmthk.h)

Die D3DKMT_PRESENT Struktur beschreibt den aktuellen 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;

Angehörige

[in] hDevice

Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für das Gerät darstellt, für das die Präsentation vorhanden ist. Ein Gerätehandle wird der D3DKMTPresent Funktion in der Union bereitgestellt, die D3DKMT_PRESENT zur Kompatibilität mit Microsoft Direct3D Version 10 enthält.

[in] hContext

Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für den Gerätekontext darstellt, der angezeigt werden soll.

[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, der Blt oder ColorFill Bitfeldkennzeichnung wird im Flags Member angegeben.

[in] VidPnSourceId

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

Wenn das RestrictVidPnSource- Bitfeld-Flag festgelegt ist und das hWindow Member NULL-ist, gibt der VidPnSourceId- Member an, welche Ausgabe der Bitblt im Vollbildmodus angezeigt wird. wird an "If RestrictVidPnSource" festgelegt, und hWindow ist nichtNULL-, VidPnSourceId- gibt an, auf welche Ausgabe die Übertragung des Fensterblocks eingeschränkt werden soll.

[in] hSource

Ein D3DKMT_HANDLE Datentyp, der ein Kernelmodushandle für den Systemspeicher oder die primäre Zuordnung darstellt, aus der dargestellt werden soll, wenn das ColorFill- Bitfeld-Flag nicht im Flags Member 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- Bitfeld-Flag im Flags Member festgelegt ist.

Wenn der Ziehpunkt im hDestination Member ungleich Null ist, muss die hDestination und hWindow Handles auf zwei verschiedene primäre Zuordnungen derselben Größe verweisen, das Gerät im hDevice- Mitglied muss der Besitzer der Video präsentierenden Quelle sein, die durch das VidPnSourceId Mitglied identifiziert wird, und das SrcRectValid- Bitfeld-Flag muss im Flags Member festgelegt werden.

[in] Color

Der 32-Bit-Wert der ARGB (siehe D3DDDIFORMAT Enumeration) mit Farbfüllung oder Farbschlüsselwert. Ein Wert für die Farbfüllung wird festgelegt, wenn das ColorFill- Bitfeld-Flag im Flags Member festgelegt wird. Ein Wert für den Farbschlüssel wird festgelegt, wenn entweder das SrcColorKey oder DstColorKey Bitfeld-Flag im Flags Member festgelegt wird. Beachten Sie, dass immer nur eine der ColorFill-, SrcColorKey-und DstColorKey Bitfeldflags festgelegt ist.

Wenn das primäre Format RGB palettisiert ist, enthält Color den Palettenindex anstelle des D3DDDIFMT_A8R8G8B8 Werts aus D3DDDIFORMAT.

[in] DstRect

Das optionale Ziel RECT- für die Bitblt. Das Ziel-RECT wird nur verwendet, wenn die DstRectValid Bitfeld-Flag im Flags Member festgelegt ist.

[in] SrcRect

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

[in] SubRectCnt

Die Anzahl der untergeordneten Bereiche, die pSrcSubRects verweist, auf die beim Darstellen angegeben wird.

[in] pSrcSubRects

Ein Zeiger auf ein Array von subrectangularen Regionen (RECTs), die bei der Darstellung angegeben werden.

[in] PresentCount

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

[in] FlipInterval

Ein D3DDDI_FLIPINTERVAL_TYPE-typisierter Wert, der das Flip-Intervall angibt (d. a., wenn der Flip nach Null, 1, zwei, drei oder vier vertikalen Synchronisierungen erfolgt).

[in] Flags

Eine D3DKMT_PRESENTFLAGS Struktur, die die Anzeige in Bitfeld-Flags identifiziert. Beachten Sie, dass die ColorFill-, SrcColorKey-und DstColorKey Bitfeld-Flags sich gegenseitig ausschließen.

[in] BroadcastContextCount

Die Anzahl zusätzlicher Kontexte im 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, um den aktuellen aktuellen Vorgang zu übertragen. Die D3DDDI_MAX_BROADCAST_CONTEXT Konstante, die als 64 definiert ist, definiert die maximale Anzahl von Kontexten, an die der OpenGL ICD den aktuellen aktuellen Vorgang übertragen kann.

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

Der ursprüngliche Kontext, den das hContext Member angibt und dass das OpenGL ICD-Element kein Element im BroadcastContext- Array ist. Wenn beispielsweise das BroadcastContext Array ein Element enthält, sendet das OpenGL ICD den aktuellen Vorgang an den eigenen Kontext (hContext) und sendet an diesen zusätzlichen Kontext.

[in] PresentLimitSemaphore

Der Ziehpunkt für das present-limit-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 schmutzige und verschobene Bereiche identifiziert.

Wird ab Windows 8 unterstützt.

hAdapter

Ein Handle für den Grafikadapter.

hIndirectContext

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

Duration

Dauer pro Gegenwart. Nur gültig, 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

Zeigen Sie 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
mindestens unterstützte Client- Windows Vista
Header- d3dkmthk.h (einschließlich D3dkmthk.h)

Siehe auch

D3DDDIFORMAT

D3DKMTPresent

D3DKMT_PRESENTFLAGS

D3DKMT_PRESENTHISTORYTOKEN

D3DKMT_PRESENT_RGNS

RECT-