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

추가 정보