汎用 I/O (GPIO) コントローラー
汎用 I/O (GPIO) コントローラーのドライバーは、GpioClx デバイス ドライバー インターフェイス (DDI) を介して GPIO フレームワーク拡張機能 (GpioClx) と通信します。 この DDI は Gpioclx.h ヘッダー ファイルで定義されており、このセクションで説明します。 この DDI の一部として、GpioClx により、GPIO コントローラーのドライバーによって呼び出されるいくつかのドライバー サポート メソッドが実装されます。 このドライバーにより、GpioClx によって呼び出される一連のイベント コールバック関数が実装されます。 GpioClx では、これらのコールバックを使用して、割り込みの入力として構成されている GPIO ピンからの割り込み要求が管理され、データ入力およびデータ出力として構成されている GPIO ピンとの間でデータ転送が行われます。
GPIOClx クライアント ドライバーの記述に関する概念については、「General-Purpose I/O (GPIO) Driver Design Guide」を参照してください。
IOCTL
IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION IOCTL_GPIO_CONTROLLER_SPECIFIC_FUNCTION I/O 制御コードを使用すると、汎用 I/O (GPIO) コントローラーのクライアントは、コントローラー固有のデバイス制御操作を要求できます。 |
IOCTL_GPIO_READ_PINS IOCTL_GPIO_READ_PINS I/O コントロール コードを使用すると、汎用 I/O (GPIO) コントローラーのクライアントは、入力として構成されている一連の GPIO ピンから読み取られます。 |
IOCTL_GPIO_WRITE_PINS IOCTL_GPIO_WRITE_PINS I/O コントロール コードを使用すると、汎用 I/O (GPIO) コントローラーのクライアントは、出力として構成されている一連の GPIO ピンに書き込みます。 |
列挙
CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE列挙型は、GPIO フレームワーク拡張機能 (GpioClx) が GPIO コントローラー ドライバーから要求している属性情報の種類を示します。 |
GPIO_CONNECT_IO_PINS_MODE GPIO_CONNECT_IO_PINS_MODE列挙は、汎用 I/O (GPIO) ピンのセットが入力または出力として構成されているかどうかを示します。 |
関数
GPIO_CLIENT_CLEAR_ACTIVE_INTERRUPTS CLIENT_ClearActiveInterrupts イベント コールバック関数は、割り込み入力として構成されている汎用 I/O (GPIO) ピンのセットでアクティブな割り込みをクリアします。 |
GPIO_CLIENT_CONNECT_IO_PINS CLIENT_ConnectIoPins イベント コールバック関数は、汎用 I/O (GPIO) ピンのセットへの論理接続を開き、データの読み取りまたは書き込み操作用にこれらのピンを構成します。 |
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION CLIENT_ControllerSpecificFunction イベント コールバック関数は、特定の汎用 I/O (GPIO) コントローラーに固有の操作を実行します。 |
GPIO_CLIENT_DISABLE_INTERRUPT CLIENT_DisableInterrupt イベント コールバック関数は、割り込み入力として構成されている汎用 I/O (GPIO) ピンの割り込みを無効にします。 |
GPIO_CLIENT_DISCONNECT_IO_PINS CLIENT_DisconnectIoPins イベント コールバック関数は、データの読み取りまたは書き込み操作用に構成されている汎用 I/O (GPIO) ピンのセットへの論理接続を閉じます。 |
GPIO_CLIENT_ENABLE_INTERRUPT CLIENT_EnableInterrupt イベント コールバック関数は、割り込み入力として構成された汎用 I/O (GPIO) ピンで割り込みを有効にします。 |
GPIO_CLIENT_MASK_INTERRUPTS CLIENT_MaskInterrupts イベント コールバック関数は、割り込み入力として構成されている汎用 I/O (GPIO) ピンのセットで割り込みをマスクします。 |
GPIO_CLIENT_PRE_PROCESS_CONTROLLER_INTERRUPT CLIENT_PreProcessControllerInterrupt イベント コールバック関数は、ISR が後で実行されるようにスケジュールされている場合にすぐに実行する必要がある汎用 I/O (GPIO) 割り込みの前処理を実行します。 |
GPIO_CLIENT_PREPARE_CONTROLLER CLIENT_PrepareController イベント コールバック関数は、汎用 I/O (GPIO) コントローラーを GPIO コントローラー ドライバーからアクセスできるようにするために必要な操作を実行します。 |
GPIO_CLIENT_QUERY_ACTIVE_INTERRUPTS CLIENT_QueryActiveInterrupts イベント コールバック関数は、割り込み入力として構成されている汎用 I/O (GPIO) ピンのセットの状態を照会します。 |
GPIO_CLIENT_QUERY_CONTROLLER_BASIC_INFORMATION CLIENT_QueryControllerBasicInformation イベント コールバック関数は、汎用 I/O (GPIO) コントローラーのハードウェア属性を取得します。 |
GPIO_CLIENT_QUERY_ENABLED_INTERRUPTS CLIENT_QueryEnabledInterrupts イベント コールバック関数は、汎用 I/O (GPIO) ピンのセットの状態を照会して、割り込み入力として構成され、割り込みに対して有効になっているピンを決定します。 |
GPIO_CLIENT_QUERY_SET_CONTROLLER_INFORMATION CLIENT_QuerySetControllerInformation イベント コールバック関数は、汎用 I/O (GPIO) コントローラー ドライバーに対して、GPIO コントローラーの指定した属性セットを照会します。 |
GPIO_CLIENT_READ_PINS CLIENT_ReadGpioPins イベント コールバック関数は、データ入力として構成されている汎用 I/O (GPIO) ピンのセットを読み取ります。 |
GPIO_CLIENT_READ_PINS_MASK CLIENT_ReadGpioPinsUsingMask イベント コールバック関数は、汎用 I/O (GPIO) ピンのバンクを読み取ります。 |
GPIO_CLIENT_RECONFIGURE_INTERRUPT CLIENT_ReconfigureInterrupt イベント コールバック関数は、割り込み入力として使用される汎用 I/O (GPIO) ピンを再構成します。 |
GPIO_CLIENT_RELEASE_CONTROLLER CLIENT_ReleaseController イベント コールバック関数は、汎用 I/O (GPIO) コントローラー デバイスにアクセスできなくなったときに必要な操作を実行します。 |
GPIO_CLIENT_RESTORE_BANK_HARDWARE_CONTEXT CLIENT_RestoreBankHardwareContext イベント コールバック関数は、汎用 I/O (GPIO) ピンのバンクのハードウェア コンテキストを復元します。 |
GPIO_CLIENT_SAVE_BANK_HARDWARE_CONTEXT CLIENT_SaveBankHardwareContext イベント コールバック関数は、汎用 I/O (GPIO) ピンのバンクのハードウェア コンテキストを保存します。 |
GPIO_CLIENT_START_CONTROLLER CLIENT_StartController イベント コールバック関数は、汎用 I/O (GPIO) コントローラー デバイスが D0 電源状態になったときに必要な操作を実行します。 |
GPIO_CLIENT_STOP_CONTROLLER CLIENT_StopController イベント コールバック関数は、汎用 I/O (GPIO) コントローラー デバイスを準備して D0 電源状態を終了するために必要な操作を実行します。 |
GPIO_CLIENT_UNMASK_INTERRUPT CLIENT_UnmaskInterrupt イベント コールバック関数は、割り込み入力として構成されている汎用 I/O (GPIO) ピンの割り込みをマスク解除します。 |
GPIO_CLIENT_WRITE_PINS CLIENT_WriteGpioPins イベント コールバック関数は、データ出力として構成されている汎用 I/O (GPIO) ピンのセットに書き込みます。 |
GPIO_CLIENT_WRITE_PINS_MASK CLIENT_WriteGpioPinsUsingMask イベント コールバック関数は、データ出力として構成されている汎用 I/O (GPIO) ピンのセットに書き込みます。 |
GPIO_CLX_AcquireInterruptLock GPIO_CLX_AcquireInterruptLock メソッドは、汎用 I/O (GPIO) コントローラーのピンのバンクに割り込みロックを取得します。 |
GPIO_CLX_ProcessAddDevicePostDeviceCreate GPIO_CLX_ProcessAddDevicePostDeviceCreate メソッドは、フレームワーク デバイス オブジェクトを GPIO フレームワーク拡張機能 (GpioClx) に渡します。 |
GPIO_CLX_ProcessAddDevicePreDeviceCreate GPIO_CLX_ProcessAddDevicePreDeviceCreate メソッドは、WdfDeviceCreate メソッドに入力パラメーターとして渡される 2 つの構造体に初期化情報を読み込みます。 |
GPIO_CLX_RegisterClient GPIO_CLX_RegisterClient メソッドは、汎用 I/O (GPIO) コントローラー ドライバーを GPIO フレームワーク拡張機能 (GpioClx) のクライアントとして登録します。 |
GPIO_CLX_ReleaseInterruptLock GPIO_CLX_ReleaseInterruptLockメソッドは、指定したバンクに割り込みロックを解放します。 |
GPIO_CLX_UnregisterClient GPIO_CLX_UnregisterClient メソッドは、汎用 I/O (GPIO) コントローラー ドライバーの GPIO フレームワーク拡張機能 (GpioClx) への登録を削除します。 |
構造
CLIENT_CONTROLLER_BASIC_INFORMATION CLIENT_CONTROLLER_BASIC_INFORMATION構造体には、汎用 I/O (GPIO) コントローラーのハードウェア属性と構成情報が含まれています。 |
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT構造体には、汎用 I/O (GPIO) コントローラーのハードウェア属性に対する要求が含まれています。 |
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT構造体には、GPIO フレームワーク拡張機能 (GpioClx) によって要求された汎用 I/O (GPIO) コントローラー属性のセットが含まれています。 |
CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT CLIENT_QUERY_BANK_POWER_INFORMATION_OUTPUT構造体には、汎用 I/O (GPIO) ピンのバンクの電源管理機能に関する情報が含まれています。 |
CONTROLLER_ATTRIBUTE_FLAGS CONTROLLER_ATTRIBUTE_FLAGS構造では、汎用 I/O (GPIO) コントローラー デバイスのハードウェア属性について説明します。 |
GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS GPIO_CLEAR_ACTIVE_INTERRUPTS_PARAMETERS構造では、クリアする汎用 I/O (GPIO) 割り込みピンのセットについて説明します。 |
GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS GPIO_CLIENT_CONTROLLER_SPECIFIC_FUNCTION_PARAMETERS構造体は、コントローラー固有の操作の入力バッファーと出力バッファーを記述します。 |
GPIO_CLIENT_REGISTRATION_PACKET GPIO_CLIENT_REGISTRATION_PACKET構造体には、汎用 I/O (GPIO) コントローラー ドライバーが GPIO フレームワーク拡張機能 (GpioClx) に渡す登録情報が含まれています。 |
GPIO_CONNECT_IO_PINS_PARAMETERS GPIO_CONNECT_IO_PINS_PARAMETERS構造は、汎用 I/O (GPIO) ピンのセットへの論理接続を記述し、これらのピンをデータ入力または出力として構成するかどうかを指定します。 |
GPIO_DISABLE_INTERRUPT_PARAMETERS GPIO_DISABLE_INTERRUPT_PARAMETERS構造では、無効化する汎用 I/O (GPIO) 割り込みピンについて説明します。 |
GPIO_DISCONNECT_IO_PINS_PARAMETERS GPIO_DISCONNECT_IO_PINS_PARAMETERS構造では、切断される汎用 I/O (GPIO) ピンのセットについて説明します。 |
GPIO_ENABLE_INTERRUPT_PARAMETERS GPIO_ENABLE_INTERRUPT_PARAMETERS構造体は、汎用 I/O (GPIO) ピンを指定し、このピンの割り込み属性を記述します。 |
GPIO_MASK_INTERRUPT_PARAMETERS GPIO_MASK_INTERRUPT_PARAMETERS構造では、マスクする汎用 I/O (GPIO) 割り込みピンのセットについて説明します。 |
GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS GPIO_QUERY_ACTIVE_INTERRUPTS_PARAMETERS構造では、有効な状態とアクティブな状態を照会するための汎用 I/O (GPIO) 割り込みピンのセットについて説明します。 |
GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS GPIO_QUERY_ENABLED_INTERRUPTS_PARAMETERS構造は、汎用 I/O (GPIO) ピンのバンクで有効になっている割り込みピンを示します。 |
GPIO_READ_PINS_MASK_PARAMETERS GPIO_READ_PINS_MASK_PARAMETERS構造では、汎用 I/O (GPIO) ピンのバンクでの読み取り操作について説明します。 |
GPIO_READ_PINS_PARAMETERS GPIO_READ_PINS_PARAMETERS構造では、汎用 I/O (GPIO) ピンのグループに対する読み取り操作について説明します。 |
GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS GPIO_RECONFIGURE_INTERRUPTS_PARAMETERS構造では、再構成する汎用 I/O (GPIO) 割り込みピンについて説明します。 |
GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS GPIO_SAVE_RESTORE_BANK_HARDWARE_CONTEXT_PARAMETERS構造では、ハードウェアの状態を保存または復元する汎用 I/O (GPIO) ピンのバンクについて説明します。 |
GPIO_WRITE_PINS_MASK_PARAMETERS GPIO_WRITE_PINS_MASK_PARAMETERS構造では、汎用 I/O (GPIO) ピンのバンクでの書き込み操作について説明します。 |
GPIO_WRITE_PINS_PARAMETERS GPIO_WRITE_PINS_PARAMETERS構造では、汎用 I/O (GPIO) ピンのグループに対する書き込み操作について説明します。 |