struttura CLIENT_CONTROLLER_BASIC_INFORMATION (gpioclx.h)
La struttura CLIENT_CONTROLLER_BASIC_INFORMATION contiene attributi hardware E/O per utilizzo generico (GPIO) e 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;
Membri
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, di questa struttura. Impostare questo membro su sizeof(CLIENT_CONTROLLER_BASIC_INFORMATION).
TotalPins
Numero di pin nel controller GPIO. Se i pin sono 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, con l'eccezione possibile dell'ultima banca. Per altre informazioni, vedere Osservazioni.
DeviceIdleTimeout
Intervallo di timeout di inattività, 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 di flag seguenti:
- MemoryMappedController
- ActiveInterruptsAutoClearOnRead
- FormatIoRequestsAsMasks
- DeviceIdlePowerMgmtSupported
- BankIdlePowerMgmtSupported
- EmulateDebouncing
- EmulateActiveBoth
Osservazioni
La funzione di callback dell'evento CLIENT_QueryControllerBasicInformation usa una struttura CLIENT_CONTROLLER_BASIC_INFORMATION per passare informazioni specifiche del dispositivo su un controller GPIO all'estensione del framework GPIO (GpioClx).
Un driver di 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 NumberOfPinsPerBank membro. 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 TotalPins e NumberOfPinsPerBank membri. 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. Così, l'alimentazione può essere salvata disattivando una banca che è inattiva.
Fabbisogno
Requisito | Valore |
---|---|
client minimo supportato | Supportato a partire da Windows 8. |
intestazione | gpioclx.h |