DXGI_ERROR

Códigos de erro que podem ser retornados por uma função DXGI.

Constante/valor Descrição
DXGI_ERROR_ACCESS_DENIED
0x887A002B
Você tentou usar um recurso para o qual não tinha os privilégios de acesso necessários. Normalmente, esse erro é causado quando você grava em um recurso compartilhado com acesso somente leitura.
DXGI_ERROR_ACCESS_LOST
0x887A0026
A interface de duplicação da área de trabalho é 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.
DXGI_ERROR_ALREADY_EXISTS
0x887A0036L
O elemento desejado já existe. Isso será retornado por DXGIDeclareAdapterRemovalSupport se não for a primeira vez que a função é chamada.
DXGI_ERROR_CANNOT_PROTECT_CONTENT
0x887A002A
O DXGI não pode fornecer proteção de conteúdo na cadeia de troca. Esse erro normalmente é causado por um driver mais antigo ou quando você usa uma cadeia de troca incompatível com a proteção de conteúdo.
DXGI_ERROR_DEVICE_HUNG
0x887A0006
O dispositivo do aplicativo falhou devido a comandos mal formados enviados pelo aplicativo. Esse é um problema de tempo de design que deve ser investigado e corrigido.
DXGI_ERROR_DEVICE_REMOVED
0x887A0005
O vídeo cartão foi fisicamente removido do sistema ou ocorreu uma atualização de driver para o cartão de vídeo. O aplicativo deve destruir e recriar o dispositivo. Para obter ajuda para depurar o problema, chame ID3D10Device::GetDeviceRemovedReason.
DXGI_ERROR_DEVICE_RESET
0x887A0007
O dispositivo falhou devido a um comando mal formado. Esse é um problema em tempo de execução; O aplicativo deve destruir e recriar o dispositivo.
DXGI_ERROR_DRIVER_INTERNAL_ERROR
0x887A0020
O driver encontrou um problema e foi colocado no estado removido do dispositivo.
DXGI_ERROR_FRAME_STATISTICS_DISJOINT
0x887A000B
Um evento (por exemplo, um ciclo de energia) interrompeu a coleta de estatísticas de apresentação.
DXGI_ERROR_GRAPHICS_VIDPN_SOURCE_IN_USE
0x887A000C
O aplicativo tentou adquirir a propriedade exclusiva de uma saída, mas falhou porque algum outro aplicativo (ou dispositivo dentro do aplicativo) já adquiriu a propriedade.
DXGI_ERROR_INVALID_CALL
0x887A0001
O aplicativo forneceu dados de parâmetro inválidos; isso deve ser depurado e corrigido antes que o aplicativo seja liberado.
DXGI_ERROR_MORE_DATA
0x887A0003
O buffer fornecido pelo aplicativo não é grande o suficiente para manter os dados solicitados.
DXGI_ERROR_NAME_ALREADY_EXISTS
0x887A002C
O nome fornecido de um recurso em uma chamada para IDXGIResource1::CreateSharedHandle já está associado a algum outro recurso.
DXGI_ERROR_NONEXCLUSIVE
0x887A0021
Um recurso de contador global está em uso e o dispositivo Direct3D não pode usar o recurso de contador no momento.
DXGI_ERROR_NOT_CURRENTLY_AVAILABLE
0x887A0022
O recurso ou a solicitação não está disponível no momento, mas pode ficar disponível posteriormente.
DXGI_ERROR_NOT_FOUND
0x887A0002
Ao chamar IDXGIObject::GetPrivateData, o GUID passado não é reconhecido como um passado anteriormente para IDXGIObject::SetPrivateData ou IDXGIObject::SetPrivateDataInterface. Ao chamar IDXGIFactory::EnumAdapters ou IDXGIAdapter::EnumOutputs, o ordinal enumerado está fora do intervalo.
DXGI_ERROR_REMOTE_CLIENT_DISCONNECTED
0x887A0023
Reservado
DXGI_ERROR_REMOTE_OUTOFMEMORY
0x887A0024
Reservado
DXGI_ERROR_RESTRICT_TO_OUTPUT_STALE
0x887A0029
A saída DXGI (monitor) à qual o conteúdo da cadeia de troca foi restrito agora está desconectada ou alterada.
DXGI_ERROR_SDK_COMPONENT_MISSING
0x887A002D
A operação depende de um componente do SDK ausente ou incompatível.
DXGI_ERROR_SESSION_DISCONNECTED
0x887A0028
A sessão dos Serviços de Área de Trabalho Remota está desconectada no momento.
DXGI_ERROR_UNSUPPORTED
0x887A0004
A funcionalidade solicitada não é compatível com o dispositivo ou o driver.
DXGI_ERROR_WAIT_TIMEOUT
0x887A0027
O intervalo de tempo limite expirou antes do próximo quadro da área de trabalho estar disponível.
DXGI_ERROR_WAS_STILL_DRAWING
0x887A000A
A GPU estava ocupada no momento em que uma chamada foi feita para executar uma operação e não executou ou agendou a operação.
S_OK
O método foi bem-sucedido sem um erro.

Comentários

Talvez você esteja interessado apenas em saber se o método foi bem-sucedido ou falhou. A melhor maneira de testar se um valor HRESULT indica êxito ou falha é passar o valor para uma das seguintes macros, definidas em WinError.h:

  • A macro SUCCEEDED retorna TRUE para um código de êxito e FALSE para um código de falha.
  • A macro FAILED retorna TRUE para um código de falha e FALSE para um código de êxito.

O valor HRESULT para cada valor DXGI_ERROR é determinado a partir dessa macro definida em DXGItype.h:

#define _FACDXGI    0x87a
#define MAKE_DXGI_HRESULT(code) MAKE_HRESULT(1, _FACDXGI, code)

Por exemplo, DXGI_ERROR_INVALID_CALL é definido como 0x887A0001:

#define DXGI_ERROR_INVALID_CALL                 MAKE_DXGI_HRESULT(1)

Requisitos

Requisito Valor
parâmetro
Winerror.h

Confira também

Constantes DXGI