Freigeben über


IDCompositionTexture::GetAvailableFence-Methode (dcomp.h)

Wichtig

Einige Informationen beziehen sich auf ein Vorabrelease-Produkt, das vor der kommerziellen Freigabe wesentlich geändert werden kann. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.

Ruft ein Direct3D-Synchronisierungszaun-Wert-Paar ab, das angibt, wann die Kompositionstextur verfügbar wird, wenn diese Informationen bekannt sind. Der zurückgegebene Wert hängt vom Verfügbarkeitsstatus der Kompositionstextur ab. Ein Verfügbarkeitszustand gibt an, ob und wann das Rendern in der Kompositionstextur sicher ist.

Informationen zu den Verfügbarkeitszuständen, ihren Beschreibungen und dem Verhalten von GetAvailableFence für jeden Status finden Sie im Abschnitt Hinweise.

Wenn eine Kompositionstextur verfügbar wird, muss Ihre App darauf achten, dass das Rendering nur in dem genauen Unterbereich der Direct3D-Textur ausgeführt wird, auf die sie sich bezieht.

Syntax

HRESULT GetAvailableFence(
  UINT64 *fenceValue,
  REFIID iid,
  void   **availableFence
);

Parameter

fenceValue

Typ: _Out_ UINT64*

Der zurückgegebene Zaunwert.

iid

Typ: _In_ REFIID

Ein Schnittstellenbezeichner.

availableFence

Typ: _Outptr_result_maybenull_ void**

Der zurückgegebene verfügbare Zaun oder nullptr, abhängig vom Verfügbarkeitsstatus der Kompositionstextur. Weitere Informationen finden Sie im Abschnitt Hinweise .

Rückgabewert

Typ: HRESULT

Wenn die Funktion erfolgreich ist, wird S_OK zurückgegeben. Andernfalls wird ein Fehlercode HRESULT zurückgegeben.

Hinweise

Hier sind die Verfügbarkeitsstatus, ihre Beschreibungen und das Verhalten von GetAvailableFence für jeden Zustand aufgeführt.

sofort verfügbar. Die Kompositionstextur wird weder vom Desktopfenster-Manager (DWM) angezeigt, noch werden Anwendungscommits in die Warteschlange gestellt, um dies zu ermöglichen. Die Kompositionstextur kann also sicher sofort geschrieben werden. GetAvailableFence gibt den verfügbaren Zaun zurück, der bereits mit dem zurückgegebenen Wert übereinstimmt.

in Kürze verfügbar sein. Die Kompositionstextur wird derzeit von DWM angezeigt, aber die Anwendung hat sie aus der visuellen Struktur entfernt und für DWM committet. Dieser Commit wurde jedoch noch nicht von DWM verarbeitet, sodass DWM die Anzeige der Textur noch nicht beendet hat. Ihre App kann in einer bald verfügbaren Textur gerendert werden, wenn diese Arbeit mit dem verfügbaren Zaun der Textur synchronisiert wird. GetAvailableFence gibt den verfügbaren Zaun zurück. Die Kompositionstextur kann sicher in geschrieben werden, wenn dieser Zaun dem zurückgegebenen Wert signalisiert wird.

nicht verfügbar. Die Kompositionstextur wird derzeit von DWM angezeigt, oder sie wird für die Anzeige durch DWM in die Warteschlange gestellt. Daher sollte Ihre App nicht in sie schreiben. GetAvailableFence gibt anstelle eines Zauns zurück nullptr .

Der verfügbare Zaun beschreibt die Verfügbarkeit einer einzelnen Kompositionstextur. Mehrere Kompositionstexturen können auf dieselbe Direct3D-Textur verweisen, wenn jede Kompositionstextur einen anderen (nicht überlappenden) Bereich der größeren Direct3D-Textur verwendet, indem ein Quellrekt angegeben wird (eine Technik, die als Atlasing bezeichnet wird). In einem solchen Fall, wenn eine Kompositionstextur verfügbar wird, muss Ihre App darauf achten, nur im genauen Teilbereich der Direct3D-Textur gerendert zu werden. , um sicherzustellen, dass Pixel nicht beeinträchtigt werden, die möglicherweise zu anderen Kompositionstexturen gehören (die möglicherweise nicht verfügbar sind). Das liegt daran, dass verschiedene Regionen einer einzelnen Direct3D-Textur unterschiedliche Verfügbarkeitszustände aufweisen können.

Anforderungen

Anforderung Wert
Header dcomp.h

Weitere Informationen