6

プロトタイプのモニター コントローラーを変更しています。DDC/CI を使用してプロトタイプにコマンドを送信すると便利です。Windows では、DDC/CI コマンドを「ディスプレイ依存デバイス」に送信する明らかな方法が見つかりません。

Monitor Configuration APIは、仮想コントロール パネル コマンドを送信できますが、ディスプレイに依存するデバイス (0x6e 以外の I2C アドレスを持つ) へのアクセスは許可しません。

Nicomsoft のWinI2C/DDC製品は、ディスプレイに依存するデバイスへのアクセスを提供するようですが、サポートが終了しています。生産が終了した製品への依存関係を構築したくありません。

NVIDIA のNVAPIには I2C API がありますが、Intel および AMD グラフィックス アダプターでも動作するソリューションが欲しいです。

4

1 に答える 1

1

XDDM ドライバーの表示モデルを尊重するウィンドウには、解決策があります。Windows 8 および 10 は WDDM を使用します。

XDDM には、Windows OS が提供するビデオ ポート ドライバーがあり、ハードウェア ベンダーがミニポート ドライバーを提供します。ミニポート ドライバーがビデオ ポート ドライバーの edid ヘルパー api ( VideoPortDDCMonitorHelper) を呼び出す場合、ミニポートは引数として 4 つの i2c 関数ポインターを提供する必要があります。

ただし、これらのインターフェイスを利用するには、ビデオ ポート ドライバーとして機能する必要があります。そのため、Windows が提供するビデオ ポート ドライバーからミニポート ドライバーにすべてのインターフェイスを渡すだけのビデオ ポート下位フィルター ドライバーを作成する必要があります。API をフックし、アプリケーションが呼び出すことができるユーザーモード ドライバーまたは ioctl にエクスポートします。

ミニポートドライバーのインスタンスをマウントするだけで、それを呼び出すことができる場合がありますVideoPortDDCMonitorHelper。しかし、実際のビデオ ポート ドライバーの助けがなければ、それを行う方法についてのガイダンスを得るのは難しいでしょう。また、Windows の規則に違反する可能性があるドライバーの 2 つのインスタンスが実行されます。

Windows 8 および 10 では、i2c の低レベル制御を公開していないように見える別のディスプレイ ドライバー モデルを使用しているため、このソリューションは機能しないようです。これは、ミニポート ドライバーの内部にあります。

于 2016-05-18T06:30:10.553 に答える