D1159: Topologia de lista de comandos inválida
Uma lista de comandos não pode referenciar efeitos que fazem parte de grafos de efeito que consomem a lista de comandos.
Ao preencher uma lista de comandos, um aplicativo pode incluir uma chamada para ID2D1DeviceContext::D rawImage. ID2D1DeviceContext::D rawImage pode ser usado para desenhar bitmaps, efeitos ou listas de comandos. Como consequência, é sintaticamente possível que uma chamada ID2D1DeviceContext::D rawImage tente desenhar uma lista de comandos enquanto essa mesma lista de comandos é definida como um destino. No entanto, as listas de comandos de autorreferência dessa maneira não são válidas. Direct2D identificará os casos em que isso ocorre e relatará um erro e a camada de depuração produzirá essa mensagem.
Ao preencher uma lista de comandos, verifique se um contexto de dispositivo não emite nenhuma operação que consuma essa mesma lista de comandos. A maneira mais óbvia em que isso pode acontecer é chamar ID2D1DeviceContext::D rawImage com a mesma lista de comandos definida como o destino. No entanto, também há maneiras menos óbvias em que isso pode ocorrer: um ID2D1DeviceContext::D rawImage pode se referir a um grafo de efeito e um nó no grafo de efeito pode tentar consumir a lista de comandos de destino. Verifique se as listas de comandos estão preenchidas corretamente antes do uso e se as chamadas para ID2D1DeviceContext::SetTarget se referem ao destino pretendido.