Método IDCompositionTexture::GetAvailableFence (dcomp.h)
Importante
Algumas informações estão relacionadas a um produto de pré-lançamento que pode ser substancialmente modificado antes de ser lançado comercialmente. A Microsoft não oferece garantias, expressas ou implícitas, das informações aqui fornecidas.
Recupera um par de valores/cerca de sincronização direct3D que indica quando a textura de composição ficará disponível, se essas informações forem conhecidas. O valor retornado depende do estado de disponibilidade da textura de composição. Um estado de disponibilidade especifica se, e quando, é seguro renderizar para a textura de composição.
Consulte a seção Comentários para os estados de disponibilidade, suas descrições e como GetAvailableFence se comporta para cada estado.
Se uma textura de composição ficar disponível, seu aplicativo deverá ter cuidado para emitir a renderização apenas para a sub-região exata da textura Direct3D à qual se refere.
Sintaxe
HRESULT GetAvailableFence(
UINT64 *fenceValue,
REFIID iid,
void **availableFence
);
Parâmetros
fenceValue
Tipo: _Out_ UINT64*
O valor de cerca retornado.
iid
Tipo: _In_ REFIID
Um identificador de interface.
availableFence
Tipo: _Outptr_result_maybenull_ void**
A cerca disponível retornada, ou nullptr
, dependendo do estado de disponibilidade da textura de composição. Para obter detalhes, consulte a seção Comentários .
Retornar valor
Tipo: HRESULT
Se a função for bem-sucedida, ela retornará S_OK. Caso contrário, ele retornará um código de erro HRESULT.
Comentários
Aqui estão os estados de disponibilidade, suas descrições e como GetAvailableFence se comporta para cada estado.
disponível imediatamente. A textura de composição não está sendo exibida pelo DWM (gerenciador de janelas da área de trabalho), nem os commits de aplicativo estão na fila para fazê-lo. Portanto, a textura de composição é segura para gravar imediatamente. GetAvailableFence retorna a cerca disponível, que já corresponderá ao valor retornado.
em breve estará disponível. A textura de composição está sendo exibida atualmente pelo DWM, mas o aplicativo a removeu de sua árvore visual e se comprometeu com o DWM. No entanto, esse commit ainda não foi processado pelo DWM, portanto, o DWM ainda não parou de exibir a textura. Seu aplicativo poderá renderizar para uma textura em breve disponível se esse trabalho for sincronizado com a cerca disponível da textura. GetAvailableFence retorna a cerca disponível. A textura de composição será segura para gravar quando essa cerca for sinalizada para o valor retornado.
indisponível. A textura de composição está sendo exibida atualmente pelo DWM ou está na fila para exibição pelo DWM. Portanto, seu aplicativo não deve gravar nele. GetAvailableFence retorna nullptr
em vez de uma cerca.
A cerca disponível descreve a disponibilidade de uma única textura de composição. Várias texturas de composição podem referenciar a mesma textura direct3D, se cada textura de composição tomar uma região diferente (não sobreposta) da textura direct3D maior especificando uma rect de origem (uma técnica conhecida como atlasing). Em um caso como esse, se uma textura de composição ficar disponível, seu aplicativo deverá ter cuidado para emitir a renderização apenas para a sub-região exata da textura Direct3D; para não interferir em pixels que podem pertencer a outras texturas de composição (que podem não estar disponíveis). Isso ocorre porque regiões diferentes de uma única textura Direct3D podem ter estados de disponibilidade diferentes.
Requisitos
Requisito | Valor |
---|---|
Cabeçalho | dcomp.h |