Método IDCompositionTexture::GetAvailableFence (dcomp.h)
Importante
Cierta información se relaciona con un producto de versión preliminar que puede modificarse sustancialmente antes de su lanzamiento comercial. Microsoft no otorga ninguna garantía, explícita o implícita, con respecto a la información proporcionada aquí.
Recupera un par de límites y valores de sincronización de Direct3D que indica cuándo estará disponible la textura de composición, si se conoce esa información. El valor devuelto depende del estado de disponibilidad de la textura de composición. Un estado de disponibilidad especifica si, y cuándo, es seguro representarla en la textura de composición.
Consulte la sección Comentarios de los estados de disponibilidad, sus descripciones y cómo se comporta GetAvailableFence para cada estado.
Si una textura de composición está disponible, la aplicación debe tener cuidado de emitir la representación solo en la subdivisión exacta de la textura de Direct3D a la que hace referencia.
Sintaxis
HRESULT GetAvailableFence(
UINT64 *fenceValue,
REFIID iid,
void **availableFence
);
Parámetros
fenceValue
Tipo: _Out_ UINT64*
Valor de barrera devuelto.
iid
Tipo: _In_ REFIID
Identificador de interfaz.
availableFence
Tipo: _Outptr_result_maybenull_ void**
La barrera disponible devuelta, o nullptr
, según el estado de disponibilidad de la textura de composición. Para obtener más información, consulte la sección Comentarios .
Valor devuelto
Tipo: HRESULT
Si la función se realiza correctamente, devuelve S_OK. De lo contrario, devuelve un código de error de HRESULT.
Comentarios
Estos son los estados de disponibilidad, sus descripciones y cómo se comporta GetAvailableFence para cada estado.
disponible inmediatamente. El administrador de ventanas de escritorio (DWM) no muestra la textura de composición, ni se ponen en cola las confirmaciones de la aplicación para que lo hagan. Por lo tanto, la textura de composición es segura para escribir en inmediatamente. GetAvailableFence devuelve la barrera disponible, que ya coincidirá con el valor devuelto.
pronto para estar disponible. DwM muestra actualmente la textura de composición, pero la aplicación la ha quitado de su árbol visual y se ha confirmado en DWM. Sin embargo, esa confirmación aún no ha sido procesada por DWM, por lo que DWM aún no ha dejado de mostrar la textura. La aplicación puede representarse en una textura disponible próximamente si ese trabajo está sincronizado con la barrera disponible de la textura. GetAvailableFence devuelve la barrera disponible. La textura de composición será segura para escribir en cuando se señale esa barrera al valor devuelto.
no disponible. DwM muestra actualmente la textura de composición o se pone en cola para su presentación por DWM. Por lo tanto, la aplicación no debe escribir en ella. GetAvailableFence devuelve nullptr
en lugar de una barrera.
La barrera disponible describe la disponibilidad de una sola textura de composición. Varias texturas de composición pueden hacer referencia a la misma textura de Direct3D, si cada textura de composición toma una región diferente (no superpuesta) de la textura de Direct3D más grande especificando un rect de origen (una técnica conocida como atlasing). En un caso así, si una textura de composición está disponible, la aplicación debe tener cuidado de emitir la representación solo en la subdivisión exacta de la textura de Direct3D; para asegurarse de no interferir con los píxeles que podrían pertenecer a otras texturas de composición (que podrían no estar disponibles). Esto se debe a que diferentes regiones de una sola textura de Direct3D pueden tener diferentes estados de disponibilidad.
Requisitos
Requisito | Valor |
---|---|
Header | dcomp.h |