CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT 구조체(gpioclx.h)
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT 구조에는 GPIO(범용 I/O) 컨트롤러의 하드웨어 특성에 대한 요청이 포함되어 있습니다.
구문
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;
멤버
RequestType
요청되는 특성 정보의 형식입니다. 이 멤버는 CLIENT_CONTROLLER_QUERY_SET_REQUEST_TYPE 열거형 값으로 설정됩니다.
Size
CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT 구조체의 크기(바이트)를 지정합니다.
Flags
RequestType 멤버가 나타내는 특성 요청 유형에 대한 추가 정보를 제공하는 플래그 비트 집합입니다. Flags 멤버에 대한 플래그 는 현재 정의되어 있지 않습니다.
BankPowerInformation
전원 특성이 요청되는 GPIO 은행에 대한 정보를 포함하는 구조체입니다.
BankPowerInformation.BankId
GPIO 핀 뱅크의 식별자입니다. M이 GPIO 컨트롤러의 은행 수인 경우 BankId 는 0~M-1 범위의 정수입니다. GPIO 프레임워크 확장(GpioClx)은 이전에 CLIENT_QueryControllerBasicInformation 이벤트 콜백 함수에서 컨트롤러의 은행 수를 얻었습니다. 자세한 내용은 CLIENT_CONTROLLER_BASIC_INFORMATION 설명을 참조 하세요.
BankInterruptBinding
GPIO 컨트롤러에 할당된 인터럽트 리소스에 대한 정보를 포함하는 구조체입니다.
BankInterruptBinding.ResourcesTranslated
플러그 앤 플레이 관리자가 디바이스에 할당한 변환된 하드웨어 리소스를 식별하는 프레임워크 리소스 목록 개체에 대한 핸들입니다.
BankInterruptBinding.ResourcesRaw
플러그 앤 플레이 관리자가 디바이스에 할당한 원시 하드웨어 리소스를 식별하는 프레임워크 리소스 목록 개체에 대한 핸들입니다.
BankInterruptBinding.TotalBanks
GPIO 컨트롤러의 은행 수입니다. 이 멤버는 호출자가 이 구조체에 NULL이 아닌 포인터를 제공하는 경우 호출자가 할당한 CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT 구조에서 BankInterruptBinding.ResourceMapping 배열의 예상 길이를 나타냅니다.
ControllerFunctionBankMapping
IOCTL(I/O 제어 요청)에 대한 정보를 포함하는 구조체입니다.
ControllerFunctionBankMapping.InputBuffer
IOCTL의 입력 버퍼에 대한 포인터입니다.
ControllerFunctionBankMapping.InputBufferSize
IOCTL에 대한 입력 버퍼의 크기(바이트)입니다.
ControllerFunctionBankMapping.OutputBufferSize
IOCTL에 대한 출력 버퍼의 크기(바이트)입니다.
ControllerFunctionBankMapping.TotalBanks
GPIO 컨트롤러의 은행 수입니다. 이 멤버는 호출자가 이 구조체에 NULL이 아닌 포인터를 제공하는 경우 호출자가 할당한 CLIENT_CONTROLLER_QUERY_SET_INFORMATION_OUTPUT 구조에서 ControllerFunctionBankMapping.Mapping 배열의 예상 길이를 나타냅니다.
설명
명명되지 않은 공용 구조체에는 다양한 유형의 특성 요청에 대한 입력 정보가 포함됩니다. RequestType 멤버는 이 공용 구조체의 어떤 멤버가 사용되는지 결정합니다. 다음 표에서는 유효한 각 RequestType 값에 해당하는 공용 구조체 멤버를 보여 줍니다.
RequestType 값 | 공용 구조체 구성원 |
---|---|
QueryBankPowerInformation | BankPowerInformation |
QueryBankInterruptBindingInformation | BankInterruptBinding |
QueryControllerFunctionBankMappingInformation | ControllerFunctionBankMapping |
CLIENT_QuerySetControllerInformation 함수의 InputBuffer 매개 변수는 CLIENT_CONTROLLER_QUERY_SET_INFORMATION_INPUT 구조체에 대한 포인터입니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8 부터 지원합니다. |
머리글 | gpioclx.h |