D1159: 잘못된 명령 목록 토폴로지

명령 목록은 명령 목록을 사용하는 효과 그래프의 일부인 효과를 참조할 수 없습니다.

 

가능한 원인

명령 목록을 채우는 동안 애플리케이션에는 ID2D1DeviceContext::D rawImage에 대한 호출이 포함될 수 있습니다. ID2D1DeviceContext::D rawImage를 사용하여 비트맵, 효과 또는 명령 목록을 그릴 수 있습니다. 따라서 ID2D1DeviceContext::D rawImage 호출에서 동일한 명령 목록이 대상으로 설정된 동안 명령 목록을 그리려고 시도할 수 있습니다. 그러나 이러한 방식으로 명령 목록을 자체 참조하는 것은 유효하지 않습니다. Direct2D는 이 문제가 발생하는 경우를 식별하고 오류를 보고하며 디버그 계층은 이 메시지를 출력합니다.

가능한 수정 사항

명령 목록을 채우는 동안 디바이스 컨텍스트에서 동일한 명령 목록을 사용하는 작업을 실행하지 않는지 확인합니다. 이 문제가 발생할 수 있는 가장 확실한 방법은 대상으로 설정된 동일한 명령 목록을 사용하여 ID2D1DeviceContext::D rawImage를 호출하는 것입니다. 그러나 ID2D1DeviceContext::D rawImage가 효과 그래프를 참조할 수 있고 효과 그래프의 한 노드가 대상 명령 목록을 사용하려고 시도할 수 있습니다. 사용 전에 명령 목록이 올바르게 채워지고 ID2D1DeviceContext::SetTarget에 대한 호출이 의도한 대상을 참조하는지 확인합니다.