Почему я не могу повернуть дисплей с помощью ChangeDisplaySettingsEx?

Если у вас есть один из этих интересных поворотных LCD дисплеев (или если вы решили сделать свой собственный), то, естественно, вы хотите заставить вашу видеокарту показывать повернутое изображение, чтобы вы смогли воспользоваться книжной ориентацией. И, естественно, вы думаете, что вызов ChangeDisplaySettingsEx с использованием поля dmDisplayOrientation структуры DEVMODE сделает это

А потом вы обнаружите, что это не работает.

Тем не менее, маленькая раздражающая утилитка (которая закидывается на ваш компьютер, когда вы устанавливаете драйвер) может поворачивать изображение. Как это у них получается, если ChangeDisplaySettingsEx не умеет?

А это потому, что поставщик видеокарты решил сделать это нестандартным образом, чтобы заставить вас использовать их раздражающую утилиту.

Мне говорили, что одно из требований Windows Vista Display Driver Model состоит в том, что видеодрайверы, поддерживающие поворот, должны делать это через стандартный интерфейс поворота. "Секретный, спрятанный, выставленный с заднего хода функционал поворота" не допускается. Так что по крайней мере ситуация улучшается.

Конечно, это не помогает, если ваша видеокарта не имеет драйверов WDDM. На помощь приходят умные ребята из EnTech, разработавшие iRotate утилиту, которая знает секретные пути "с заднего хода" заставить эти раздражающие видеокарты сделать поворот.

оригинал статьи