Документация MSDN говорит, что D3D11CreateDevice возвращает один из Direct3D 11 кодов возврата. Среди них D3DERR_INVALIDCALL. Но где определяется D3DERR_INVALIDCALL? Использую новейший Windows SDK. Какой заголовочный файл мне нужно включить?
D3D11CreateDevice всегда возвращает один из кодов возврата D3D11, но не обязательно возвращает все из них. D3DERR_INVALIDCALL никогда не должен возвращаться D3D11CreateDevice, поскольку это код ошибки D3D9, определенный только в d3d9.h.
В общем, если вы не собираетесь повторить вызов с другими аргументами (например, разрешив более низкие уровни возможностей), сбой D3D11CreateDevice следует рассматривать как неисправимую ошибку, и вы должны прервать программу.
Других решений пока нет …