Share via


Método IDXGIOutputDuplication::GetFramePointerShape (dxgi1_2.h)

Obtém informações sobre a nova forma de ponteiro para o quadro da área de trabalho atual.

Sintaxe

HRESULT GetFramePointerShape(
  [in]  UINT                            PointerShapeBufferSize,
  [out] void                            *pPointerShapeBuffer,
  [out] UINT                            *pPointerShapeBufferSizeRequired,
  [out] DXGI_OUTDUPL_POINTER_SHAPE_INFO *pPointerShapeInfo
);

Parâmetros

[in] PointerShapeBufferSize

O tamanho em bytes do buffer que o chamador passou para o parâmetro pPointerShapeBuffer .

[out] pPointerShapeBuffer

Um ponteiro para um buffer para o qual GetFramePointerShape copia e retorna dados de pixel para a nova forma de ponteiro.

[out] pPointerShapeBufferSizeRequired

Ponteiro para uma variável que recebe o número de bytes que GetFramePointerShape precisa para armazenar os novos dados de pixel da forma do ponteiro no buffer em pPointerShapeBuffer.

Para obter mais informações sobre como retornar o tamanho do buffer necessário, consulte Comentários.

[out] pPointerShapeInfo

Ponteiro para uma estrutura DXGI_OUTDUPL_POINTER_SHAPE_INFO que recebe as informações de forma do ponteiro.

Valor retornado

GetFramePointerShape retorna:

  • S_OK se ele recuperou com êxito informações sobre a nova forma de ponteiro.
  • DXGI_ERROR_ACCESS_LOST se a interface de duplicação da área de trabalho for inválida. A interface de duplicação da área de trabalho normalmente se torna inválida quando um tipo diferente de imagem é exibido na área de trabalho. Exemplos dessa situação são:
    • Comutador da área de trabalho
    • Alteração de modo
    • Alternar do DWM ativado, DWM desativado ou outro aplicativo de tela inteira
    Nessa situação, o aplicativo deve liberar a interface IDXGIOutputDuplication e criar uma nova IDXGIOutputDuplication para o novo conteúdo.
  • DXGI_ERROR_MORE_DATA se o buffer fornecido pelo aplicativo de chamada não for grande o suficiente.
  • DXGI_ERROR_INVALID_CALL se o aplicativo chamado GetFramePointerShape sem possuir a imagem da área de trabalho.
  • E_INVALIDARG se um dos parâmetros para GetFramePointerShape estiver incorreto; por exemplo, se pPointerShapeInfo for NULL.
  • Possivelmente outros códigos de erro descritos no tópico DXGI_ERROR .

Comentários

GetFramePointerShape armazena um valor de tamanho na variável em pPointerShapeBufferSizeRequired. Esse valor especifica o número de bytes que pPointerShapeBufferSizeRequired precisa para armazenar os novos dados de pixel da forma do ponteiro. Você pode usar o valor nas seguintes situações para determinar a quantidade de memória a ser alocada para buffers futuros que você passa para pPointerShapeBuffer:

  • GetFramePointerShape falha com DXGI_ERROR_MORE_DATA porque o buffer não é grande o suficiente.
  • GetFramePointerShape fornece um buffer maior que o necessário. O valor de tamanho retornado em pPointerShapeBufferSizeRequired informa ao chamador quanto espaço de buffer foi realmente usado em comparação com a quantidade de espaço em buffer que o chamador alocou e especificou no parâmetro PointerShapeBufferSize .
O parâmetro pPointerShapeInfo descreve a nova forma de ponteiro.

Requisitos

   
Cliente mínimo com suporte Windows 8 [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2012 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho dxgi1_2.h
Biblioteca Dxgi.lib

Confira também

IDXGIOutputDuplication