SharpDX - не более чем тонкая оболочка управляемого кода вокруг родного C / C ++ COM-интерфейса для Direct3D.Таким образом, всю необходимую информацию можно найти в документации Direct3D на MSDN.Я очень рекомендую прочитать все, что вы можете там найти, так как почти все ограничения и предостережения относятся к SharpDX.
Теперь ваш код выполняет следующие действия:
1) Создание интерфейса фабрики DXGI 1.1 (IDXGIFactory1
).
2) Получение адаптера DXGI 1.1интерфейс для первого графического адаптера (IDXGIAdapter1
).
3) Создание интерфейса устройства Direct3D 11 из вышеупомянутого адаптера (ID3D11Device
).
4) Получение первого вывода изинтерфейс адаптера (IDXGIOutput
).
5) Запрос интерфейса выхода DXGI 1.1 (IDXGIOutput1
) из интерфейса вывода DXGI 1.0.
Последним этапом этого процесса является точкагде вещи терпят неудачу.Это связано с тем, что запрашиваемый интерфейс (IDXGIOutput1
) не поддерживается в стандартной Windows 7 - для него требуется Windows 8+ или Windows 7 с обновлением платформы.Вы можете увидеть, что в разделе «Требования» IDXGIOutput1
документации на MSDN.
Опять же, я настоятельно рекомендую вам ознакомиться с интерфейсами C / C ++, определенными Direct3D, если вы планируетедля дальнейшей работы с DirectX или SharpDX.