CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT structure (gpioclx.h)
The CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT structure contains a request for the hardware attributes of the general-purpose I/O (GPIO) controller.
Syntax
typedef struct _CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT {
CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE RequestType;
USHORT Size;
ULONG Flags;
union {
struct {
BANK_ID BankId;
} BankPowerInformation;
struct {
WDFCMRESLIST ResourcesTranslated;
WDFCMRESLIST ResourcesRaw;
USHORT TotalBanks;
} BankInterruptBinding;
struct {
PVOID InputBuffer;
SIZE_T InputBufferSize;
SIZE_T OutputBufferSize;
USHORT TotalBanks;
} ControllerFunctionBankMapping;
};
} CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT, *PCLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT;
Members
RequestType
The type of attribute information that is being requested. This member is set to a CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE enumeration value.
Size
Specifies the size, in bytes, of the CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT structure.
Flags
A set of flag bits that supply additional information about the type of attribute request indicated by the RequestType member. No flags are currently defined for the Flags member.
BankPowerInformation
A structure that contains information about the GPIO bank whose power attributes are being requested.
BankPowerInformation.BankId
The identifier for a bank of 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.
BankInterruptBinding
A structure that contains information about the interrupt resources that are assigned to the GPIO controller.
BankInterruptBinding.ResourcesTranslated
A handle to a framework resource-list object that identifies the translated hardware resources that the Plug and Play manager has assigned to the device.
BankInterruptBinding.ResourcesRaw
A handle to a framework resource-list object that identifies the raw hardware resources that the Plug and Play manager has assigned to the device.
BankInterruptBinding.TotalBanks
The number of banks in the GPIO controller. This member indicates the expected length of the BankInterruptBinding.ResourceMapping array in the caller-allocated CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT structure, if the caller supplies a non-NULL pointer to this structure.
ControllerFunctionBankMapping
A structure that contains information about an I/O control request (IOCTL).
ControllerFunctionBankMapping.InputBuffer
A pointer to the input buffer for the IOCTL.
ControllerFunctionBankMapping.InputBufferSize
The size, in bytes, of the input buffer for the IOCTL.
ControllerFunctionBankMapping.OutputBufferSize
The size, in bytes, of the output buffer for the IOCTL.
ControllerFunctionBankMapping.TotalBanks
The number of banks in the GPIO controller. This member indicates the expected length of the ControllerFunctionBankMapping.Mapping array in the caller-allocated CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT structure, if the caller supplies a non-NULL pointer to this structure.
Remarks
The unnamed union contains input information for the various types of attribute requests. The RequestType member determines which member of this union is used. The following table shows the union member that corresponds to each valid RequestType value.
RequestType value | Union member |
---|---|
QueryBankPowerInformation | BankPowerInformation |
QueryBankInterruptBindingInformation | BankInterruptBinding |
QueryControllerFunctionBankMappingInformation | ControllerFunctionBankMapping |
The InputBuffer parameter of the CLIENT_QuerySetControllerInformation function is a pointer to a CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT structure.
Requirements
Requirement | Value |
---|---|
Minimum supported client | Supported starting with Windows 8. |
Header | gpioclx.h |