Condividi tramite


struttura CLIENT_CONTROLLER_BASIC_INFORMATION (gpioclx.h)

La struttura CLIENT_CONTROLLER_BASIC_INFORMATION contiene gli attributi hardware del controller GPIO (General Purpose I/O) e le informazioni di configurazione.

Sintassi

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;

Members

Version

Numero di versione di questa struttura. Impostare questo membro su GPIO_CONTROLLER_BASIC_INFORMATION_VERSION, definito nel file di intestazione Gpioclx.h.

Size

Dimensione, in byte, della struttura. Impostare questo membro su sizeof(CLIENT_CONTROLLER_BASIC_INFORMATION).

TotalPins

Numero di pin nel controller GPIO. Se i pin vengono partizionati in più banche, questo membro specifica il numero totale di pin in tutte le banche nel controller GPIO.

NumberOfPinsPerBank

Numero di pin GPIO per ogni banca. Il numero massimo di pin per ogni banca è 64. I pin sul controller GPIO vengono partizionati in una o più banche. Ogni banca contiene il numero di pin specificati da questo parametro, ad eccezione dell'ultima banca. Per altre informazioni, vedere la sezione Osservazioni.

DeviceIdleTimeout

Intervallo di timeout di inattività, espresso in millisecondi, se il controller GPIO supporta lo stato di alimentazione D3. L'intervallo di timeout è la quantità minima di tempo in cui un controller GPIO rimane nello stato D0 dopo che il controller diventa inattiva. Dopo la scadenza dell'intervallo di timeout, il risparmio energia potrebbe richiedere che il controller passi allo stato D3.

Flags

Set di flag che specificano gli attributi hardware del controller GPIO. Questo membro può essere impostato su tutti gli zeri o su qualsiasi combinazione OR bit per bit dei bit dei flag seguenti:

  • MemoryMappedController
  • ActiveInterruptsAutoClearOnRead
  • FormatIoRequestsAsMasks
  • DeviceIdlePowerMgmtSupported
  • BankIdlePowerMgmtSupported
  • EmulateDebouncing
  • EmulateActiveBoth
Per altre informazioni, vedere CONTROLLER_ATTRIBUTE_FLAGS.

Commenti

La funzione di callback degli eventi CLIENT_QueryControllerBasicInformation usa una struttura di CLIENT_CONTROLLER_BASIC_INFORMATION per passare informazioni specifiche del dispositivo su un controller GPIO all'estensione del framework GPIO (GpioClx).

Un driver del controller GPIO può partizionare i pin in un dispositivo controller GPIO in un certo numero di banche. Se N è il numero di banche nel controller, le banche sono numerate da 0 a N-1. Tutti tranne l'ultima banca (ovvero il numero bancario N-1) deve contenere il numero di pin specificati nel membro NumberOfPinsPerBank . L'ultima banca può avere un numero qualsiasi di pin da uno a NumberOfPinsPerBank.

GpioClx determina il numero totale di banche nel controller GPIO dai valori dei membri TotalPins e NumberOfPinsPerBank . GpioClx usa la formula integer seguente per calcolare il numero totale di banche:

TotalPinsNumberOfPinsPerBank NumberOfPinsPerBank In genere, una banca in un dispositivo controller GPIO può essere attivata e disattivata indipendentemente dalle altre banche nello stesso dispositivo. Di conseguenza, l'alimentazione può essere salvata spegnendo una banca che è inattiva.

Requisiti

Requisito Valore
Client minimo supportato Supportato a partire da Windows 8.
Intestazione gpioclx.h

Vedi anche

CLIENT_QueryControllerBasicInformation

CONTROLLER_ATTRIBUTE_FLAGS