Freigeben über


CLIENT_CONTROLLER_BASIC_INFORMATION-Struktur (gpioclx.h)

Die CLIENT_CONTROLLER_BASIC_INFORMATION-Struktur enthält GPIO-Hardwareattribute (General Purpose E/O) und Konfigurationsinformationen.

Syntax

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;

Member

Version

Die Versionsnummer dieser Struktur. Legen Sie diesen Member auf GPIO_CONTROLLER_BASIC_INFORMATION_VERSION fest, der in der Gpioclx.h-Headerdatei definiert ist.

Size

Die Größe (in Bytes) dieser Struktur. Legen Sie diesen Member auf sizeof(CLIENT_CONTROLLER_BASIC_INFORMATION) fest.

TotalPins

Die Anzahl der Pins auf dem GPIO-Controller. Wenn die Pins in mehrere Banken partitioniert sind, gibt dieses Element die Gesamtanzahl der Pins für alle Banken im GPIO-Controller an.

NumberOfPinsPerBank

Die Anzahl der GPIO-Pins für jede Bank. Die maximale Anzahl von Pins für jede Bank beträgt 64. Die Pins auf dem GPIO-Controller werden in eine oder mehrere Banken partitioniert. Jede Bank enthält die Anzahl von Pins, die durch diesen Parameter angegeben werden, mit der möglichen Ausnahme der letzten Bank. Weitere Informationen finden Sie in den Hinweisen.

DeviceIdleTimeout

Das Leerlauftimeoutintervall in Millisekunden, wenn der GPIO-Controller den D3-Energiezustand unterstützt. Das Timeoutintervall ist die Mindestdauer, die ein GPIO-Controller im D0-Zustand verbleibt, nachdem der Controller in den Leerlauf wechselt. Nach Ablauf des Timeoutintervalls fordert der Power Manager möglicherweise an, dass der Controller in den D3-Zustand wechselt.

Flags

Ein Satz von Flags, die die Hardwareattribute des GPIO-Controllers angeben. Dieser Member kann auf alle Nullen oder eine beliebige bitweise OR-Kombination der folgenden Flagbits festgelegt werden:

  • MemoryMappedController
  • ActiveInterruptsAutoClearOnRead
  • FormatIoRequestsAsMasks
  • DeviceIdlePowerMgmtSupported
  • BankIdlePowerMgmtSupported
  • EmulateDebouncing
  • EmulateActiveBoth
Weitere Informationen finden Sie unter CONTROLLER_ATTRIBUTE_FLAGS.

Hinweise

Die CLIENT_QueryControllerBasicInformation Ereignisrückruffunktion verwendet eine CLIENT_CONTROLLER_BASIC_INFORMATION-Struktur , um gerätespezifische Informationen zu einem GPIO-Controller an die GPIO-Frameworkerweiterung (GpioClx) zu übergeben.

Ein GPIO-Controllertreiber kann die Pins in einem GPIO-Controllergerät in eine Reihe von Banken partitionieren. Wenn N die Anzahl der Banken im Controller ist, werden die Banken zwischen 0 und N–1 nummeriert. Alle mit Ausnahme der letzten Bank (d. h. die Banknummer N–1) müssen die Anzahl der Pins enthalten, die im NumberOfPinsPerBank-Mitglied angegeben ist. Die letzte Bank kann über eine beliebige Anzahl von Pins von 1 bis NumberOfPinsPerBank verfügen.

GpioClx bestimmt die Gesamtzahl der Banken im GPIO-Controller aus den Werten der Mitglieder TotalPins und NumberOfPinsPerBank . GpioClx verwendet die folgende ganzzahlige Formel, um die Gesamtzahl der Banken zu berechnen:

TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank In der Regel kann eine Bank in einem GPIO-Controllergerät unabhängig von den anderen Banken im selben Gerät ein- und ausgeschaltet werden. So kann Strom gespart werden, indem eine Bank ausgeschaltet wird, die sich im Leerlauf befindet.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Unterstützt ab Windows 8.
Kopfzeile gpioclx.h

Weitere Informationen

CLIENT_QueryControllerBasicInformation

CONTROLLER_ATTRIBUTE_FLAGS