IDCompositionTexture ::GetAvailableFence, méthode (dcomp.h)
Important
Certaines informations se rapportent à un produit de préversion qui peut être considérablement modifié avant sa commercialisation. Microsoft exclut toute garantie, expresse ou implicite, concernant les informations fournies ici.
Récupère une paire clôture/valeur de synchronisation Direct3D qui indique quand la texture de composition sera disponible, si ces informations sont connues. La valeur retournée dépend de l’état de disponibilité de la texture de composition. Un état de disponibilité spécifie si, et quand, il est sûr de s’afficher dans la texture de composition.
Consultez la section Remarques pour connaître les états de disponibilité, leurs descriptions et le comportement de GetAvailableFence pour chaque état.
Si une texture de composition devient disponible, votre application doit veiller à n’émettre de rendu qu’à l’emplacement exact de la texture Direct3D à laquelle elle fait référence.
Syntaxe
HRESULT GetAvailableFence(
UINT64 *fenceValue,
REFIID iid,
void **availableFence
);
Paramètres
fenceValue
Type : _Out_ UINT64*
Valeur de clôture retournée.
iid
Type : _In_ REFIID
Identificateur d’interface.
availableFence
Type : _Outptr_result_maybenull_ void**
Clôture disponible retournée, ou nullptr
, selon l’état de disponibilité de la texture de composition. Pour plus d’informations, consultez la section Remarques .
Valeur retournée
Type : HRESULT
Si la fonction réussit, elle retourne S_OK. Sinon, elle retourne un code d’erreur HRESULT.
Remarques
Voici les états de disponibilité, leurs descriptions et le comportement de GetAvailableFence pour chaque état.
immédiatement disponible. La texture de composition n’est pas affichée par le gestionnaire de fenêtres de bureau (DWM) et les validations d’application ne sont pas mises en file d’attente pour qu’elles le fassent. Ainsi, la texture de composition peut être immédiatement écrit en toute sécurité. GetAvailableFence retourne la clôture disponible, qui correspond déjà à la valeur retournée.
bientôt disponible. La texture de composition est actuellement affichée par DWM, mais l’application l’a supprimée de son arborescence visuelle et validée dans DWM. Toutefois, cette validation n’a pas encore été traitée par DWM. DWM n’a donc pas encore cessé d’afficher la texture. Votre application peut afficher une texture bientôt disponible si ce travail est synchronisé avec la clôture disponible de la texture. GetAvailableFence retourne la clôture disponible. La texture de composition peut écrire en toute sécurité lorsque cette clôture est signalée à la valeur retournée.
non disponible. La texture de composition est actuellement affichée par DWM, ou elle est mise en file d’attente pour affichage par DWM. Votre application ne doit donc pas y écrire. GetAvailableFence retourne nullptr
au lieu d’une clôture.
La clôture disponible décrit la disponibilité d’une texture de composition unique. Plusieurs textures de composition peuvent référencer la même texture Direct3D, si chaque texture de composition prend une région différente (sans chevauchement) de la texture Direct3D plus grande en spécifiant un rect source (une technique appelée atlasing). Dans un cas comme celui-ci, si une texture de composition devient disponible, votre application doit veiller à émettre un rendu uniquement sur l’sous-région exacte de la texture Direct3D ; pour vous assurer de ne pas interférer avec les pixels susceptibles d’appartenir à d’autres textures de composition (qui peuvent ne pas être disponibles). Cela est dû au fait que différentes régions d’une même texture Direct3D peuvent avoir des états de disponibilité différents.
Configuration requise
Condition requise | Valeur |
---|---|
En-tête | dcomp.h |