GPIO_CONNECT_IO_PINS_PARAMETERS structure (gpioclx.h)
The GPIO_CONNECT_IO_PINS_PARAMETERS structure describes a logical connection to a set of general-purpose I/O (GPIO) pins and specifies whether to configure these pins as data inputs or outputs.
Syntax
typedef struct _GPIO_CONNECT_IO_PINS_PARAMETERS {
BANK_ID BankId;
PPIN_NUMBER PinNumberTable;
USHORT PinCount;
GPIO_CONNECT_IO_PINS_MODE ConnectMode;
UCHAR PullConfiguration;
USHORT DebounceTimeout;
USHORT DriveStrength;
PVOID VendorData;
ULONG VendorDataLength;
GPIO_CONNECT_IO_PINS_FLAGS ConnectFlags;
} GPIO_CONNECT_IO_PINS_PARAMETERS, *PGPIO_CONNECT_IO_PINS_PARAMETERS;
Members
BankId
The identifier for the bank that contains the GPIO pins. If M is the number of banks in the GPIO controller, BankId is an integer in the range 0 to M–1. The GPIO framework extension (GpioClx) previously obtained the number of banks in the controller from the CLIENT_QueryControllerBasicInformation event callback function. For more information, see Remarks in CLIENT_CONTROLLER_BASIC_INFORMATION.
PinNumberTable
A pointer to an array of PIN_NUMBER values. Each array element specifies the number of a GPIO pin to connect to. If N is the number of pins in this bank, the pins are numbered 0 to N–1. The number of elements in this array is specified by the PinCount member.
PinCount
The number of elements in the PinNumberTable array.
ConnectMode
Whether the GPIO pins in the new connection should be configured as inputs or as outputs. The value of this parameter is ConnectModeInput for a read-only connection, ConnectModeOutput for a write-only connection, and (ConnectModeInput | ConnectModeOutput) for a read/write connection. For more information, see GPIO_CONNECT_IO_PINS_MODE.
PullConfiguration
Whether the GPIO pin is pulled up or pulled down. This member is typically set to one of the following system-defined constants:
- GPIO_PIN_PULL_CONFIGURATION_PULLDEFAULT
- GPIO_PIN_PULL_CONFIGURATION_PULLUP
- GPIO_PIN_PULL_CONFIGURATION_PULLDOWN
- GPIO_PIN_PULL_CONFIGURATION_PULLNONE
DebounceTimeout
The debounce time in units of 10 microseconds. For example, a debounce time of 5.84 milliseconds is specified as 584. If an input signal is generated by a mechanical switch, the metal contact in the switch tends to bounce for a brief time after the switch is turned on or off. The debounce time is the minimum time that the level of the input signal must remain stable before the signal can be interpreted as a valid high or low level.
DriveStrength
The drive strength of the GPIO pin in units of 10 microamperes. For example, a drive strength of 1.21 milliamperes is specified as 121.
VendorData
A pointer to a caller-allocated buffer that contains vendor-specific data obtained from the ACPI firmware for the hardware platform. This data is copied from the VendorData field of the GPIO resource descriptor that describes the data I/O connection between the peripheral device and a set of GPIO pins on the GPIO controller. This member is optional and is set to NULL if the firmware does not supply vendor-specific data for this connection.
VendorDataLength
The size, in bytes, of the data buffer that is pointed to by the VendorData member. If VendorData is NULL, VendorDataLength is set to zero.
ConnectFlags
A set of flags that control the configuration of the GPIO pins. No flags are currently defined for this member.
Remarks
The ClientParameters parameter to the CLIENT_ConnectIoPins event callback routine is a pointer to a GPIO_CONNECT_IO_PINS_PARAMETERS structure.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported starting with Windows 8. |
Header | gpioclx.h |
See also
CLIENT_CONTROLLER_BASIC_INFORMATION