CLIENT_CONTROLLER_BASIC_INFORMATION 構造体 (gpioclx.h)

CLIENT_CONTROLLER_BASIC_INFORMATION構造体には、汎用 I/O (GPIO) コントローラーのハードウェア属性と構成情報が含まれています。

構文

typedef struct _CLIENT_CONTROLLER_BASIC_INFORMATION {
  USHORT                     Version;
  USHORT                     Size;
  USHORT                     TotalPins;
  UCHAR                      NumberOfPinsPerBank;
  ULONG                      DeviceIdleTimeout;
  CONTROLLER_ATTRIBUTE_FLAGS Flags;
} CLIENT_CONTROLLER_BASIC_INFORMATION, *PCLIENT_CONTROLLER_BASIC_INFORMATION;

メンバー

Version

この構造体のバージョン番号。 このメンバーを Gpioclx.h ヘッダー ファイルで定義されている GPIO_CONTROLLER_BASIC_INFORMATION_VERSIONに設定します。

Size

この構造体のサイズ (バイト単位)。 このメンバーを sizeof(CLIENT_CONTROLLER_BASIC_INFORMATION) に設定します。

TotalPins

GPIO コントローラー上のピンの数。 ピンが複数のバンクに分割されている場合、このメンバーは GPIO コントローラー内のすべてのバンクの合計ピン数を指定します。

NumberOfPinsPerBank

各バンクの GPIO ピンの数。 各銀行の最大ピン数は 64 です。 GPIO コントローラーのピンは、1 つ以上のバンクにパーティション分割されます。 各バンクには、このパラメーターで指定されたピンの数が含まれますが、最後のバンクを除く可能性があります。 詳細については、「解説」を参照してください。

DeviceIdleTimeout

GPIO コントローラーが D3 電源状態をサポートしている場合のアイドル タイムアウト間隔 (ミリ秒単位)。 タイムアウト間隔は、コントローラーがアイドル状態になった後に GPIO コントローラーが D0 状態のままになる最小時間です。 タイムアウト間隔が切れると、電源マネージャーはコントローラーを D3 状態に切り替えるよう要求する場合があります。

Flags

GPIO コントローラーのハードウェア属性を指定するフラグのセット。 このメンバーは、すべての 0 または次のフラグ ビットの任意のビットごとの OR の組み合わせに設定できます。

  • MemoryMappedController
  • ActiveInterruptsAutoClearOnRead
  • FormatIoRequestsAsMasks
  • DeviceIdlePowerMgmtSupported
  • BankIdlePowerMgmtSupported
  • EmulateDebouncing
  • EmulateActiveBoth
詳細については、「 CONTROLLER_ATTRIBUTE_FLAGS」を参照してください。

注釈

CLIENT_QueryControllerBasicInformation イベント コールバック関数は、CLIENT_CONTROLLER_BASIC_INFORMATION構造体を使用して、GPIO コントローラーに関するデバイス固有の情報を GPIO フレームワーク拡張機能 (GpioClx) に渡します。

GPIO コントローラー ドライバーは、GPIO コントローラー デバイス内のピンをいくつかのバンクにパーティション分割できます。 N がコントローラ内のバンクの数である場合、バンクには 0 から N– 1 の番号が付きます。 最後の銀行 (つまり、銀行番号 N から 1) を除くすべての銀行には、 NumberOfPinsPerBank メンバーで指定されたピンの数を含める必要があります。 最後のバンクには、1 つから NumberOfPinsPerBank までの任意の数のピンを含めることができます。

GpioClx は、TotalPins メンバーと NumberOfPinsPerBank メンバーの値から、GPIO コントローラー内のバンクの合計数を決定します。 GpioClx では、次の整数数式を使用して銀行の合計数が計算されます。

TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank 通常、GPIO コントローラー デバイス内の銀行は、同じデバイス内の他のバンクとは無関係にオンとオフを切り替えることができます。 したがって、アイドル状態の銀行をオフにすることで、電力を節約できます。

要件

要件
サポートされている最小のクライアント Windows 8 以降でサポートされています。
Header gpioclx.h

こちらもご覧ください

CLIENT_QueryControllerBasicInformation

CONTROLLER_ATTRIBUTE_FLAGS