次の方法で共有


GpioClx DDI

汎用 I/O (GPIO) コントローラーのドライバーは、GpioClx デバイス ドライバー インターフェイス (DDI) を介して GPIO フレームワーク拡張機能 (GpioClx) と通信します。 この DDI は Gpioclx.h ヘッダー ファイルで定義され、汎用 I/O (GPIO) ドライバー リファレンスに記載されています。 この DDI の一部として、GpioClx により、GPIO コントローラーのドライバーによって呼び出されるいくつかのドライバー サポート メソッドが実装されます。 このドライバーにより、GpioClx によって呼び出される一連のイベント コールバック関数が実装されます。 GpioClx では、これらのコールバックを使用して、割り込みの入力として構成されている GPIO ピンからの割り込み要求が管理され、データ入力およびデータ出力として構成されている GPIO ピンとの間でデータ転送が行われます。

このセクションの内容

トピック 説明

GpioClx DDI のドライバー サポート メソッド

GPIO フレームワーク拡張機能 (GpioClx) は、Windows 8 以降で利用可能です。 GpioClx DDI のシステム提供のメソッドは、GpioClx カーネル モード ドライバー Msgpioclx.sys に実装されます。 このドライバーは、GpioClx ドライバー サポート メソッドのエントリ ポイントをエクスポートします。 Windows 8 以降、Msgpioclx.sys はオペレーティング システムの標準コンポーネントです。

省略可能および必須の GPIO コールバック関数

汎用 I/O (GPIO) コントローラー ドライバーは、GPIO_CLX_RegisterClient メソッドを呼び出して、GPIO フレームワーク拡張機能 (GpioClx) のクライアントとして登録します。 この呼び出し中、ドライバーは、ドライバーが実装するイベント コールバック関数の一覧を指定する登録パケットを GpioClx に渡します。 GpioClx はこれらのコールバック関数を呼び出して、GPIO コントローラー ハードウェアの構成、I/O 操作の実行、割り込みの管理を行います。 GpioClx は、特定のコールバック関数を実装するために GPIO コントローラー ドライバーを必要としますが、他のコールバック関数のサポートは省略可能です。

GPIO デバイス コンテキスト

汎用 I/O (GPIO) コントローラー デバイスは、フレームワーク デバイス オブジェクトによって表されます。 GPIO コントローラー ドライバーは、デバイス コンテキストをこのデバイス オブジェクトに関連付けることができます。 ドライバーは、このデバイス コンテキストを使用して、GPIO コントローラー デバイスの状態に関する情報を永続的に格納します。

GPIO コントローラーのピンのバンクへのパーティション分割

ドライバー開発者は、オプションとして、汎用 I/O (GPIO) コントローラー デバイスを GPIO ピンの 2 つ以上のバンクにパーティション分割できます。 たとえば、64 個の GPIO ピンを持つ GPIO コントローラー デバイスは、GPIO コントローラー ドライバーで、それぞれ 32 個の GPIO ピンを持つ 2 つのバンクとして記述できます。

GPIO コントローラー ドライバーの実装上の問題

GPIO フレームワーク拡張機能 (GpioClx) は、柔軟なデバイス ドライバー インターフェイス (DDI) を提供します。 この DDI を使用すると、開発者は代替コールバック インターフェイスの中から選択できます。 ドライバー開発者は、ターゲット GPIO コントローラー デバイスのハードウェア アーキテクチャに最適なイベント コールバック関数のセットを実装する必要があります。