GetPointerInputTransform 함수(winuser.h)
현재 메시지와 연결된 포인터 정보 좌표에 대한 하나 이상의 변환을 가져옵니다.
구문
BOOL GetPointerInputTransform(
[in] UINT32 pointerId,
[in] UINT32 historyCount,
[out] INPUT_TRANSFORM *inputTransform
);
매개 변수
[in] pointerId
정보를 검색할 포인터의 식별자입니다.
[in] historyCount
inputTransform이 가리킬 수 있는 INPUT_TRANSFORM 구조체의 수입니다.
이 값은 1보다 작아야 하며, getPointerInfo, GetPointerTouchInfo 또는 GetPointerPenInfo(단일 입력 변환의 경우) 또는 GetPointerInfoHistory, GetPointerTouchInfoHistory 또는 GetPointerPenInfoHistory(입력 변환 배열의 경우)에서 반환하는 POINTER_INFO 구조의 historyCount에 지정된 값보다 크지 않아야 합니다.
GetPointerInputTransform이 성공하면 inputTransform이 사용 가능한 총 구조체 수로 업데이트됩니다. 사용 가능한 구조체의 총 수는 POINTER_INFO 구조체의 historyCount 필드와 동일합니다.
[out] inputTransform
변환 정보를 수신할 INPUT_TRANSFORM 구조체 배열의 주소입니다. 이 매개 변수는 NULL일 수 없습니다.
반환 값
함수가 성공하면 반환 값은 0이 아닙니다.
함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 가져오려면 GetLastError를 호출합니다.
설명
포인터 입력 메시지의 소비자는 일반적으로 ScreenToClient 또는 MapWindowPoints 를 사용하여 화면 좌표를 클라이언트 좌표로 변환합니다.
메시지 소비자에 변환이 적용되는 경우 GetPointerInputTransform 을 사용하여 입력이 발생했을 때 메시지 소비자에서 변환을 검색합니다. 그런 다음 이 변환의 역방향을 사용하여 포인터 입력 좌표를 화면 좌표에서 메시지 소비자의 클라이언트 좌표로 변환할 수 있습니다.
입력 변환이 입력과 연결되지 않은 경우 GetPointerInputTransform 함수가 실패하고 마지막 오류가 ERROR_NO_DATA. 대신 ScreenToClient 또는 MapWindowPoints를 사용합니다.
입력 변환은 입력 대상의 오른쪽에서 왼쪽 레이아웃 설정을 준수하지 않습니다. 오른쪽에서 왼쪽 레이아웃에 대해 조정된 좌표가 필요한 애플리케이션은 오른쪽에서 왼쪽으로 미러링을 수행하거나 적절한 미러링 변환을 입력 변환과 결합해야 합니다.
GetPointerInputTransform에서 반환된 정보는 호출 스레드에서 검색한 가장 최근의 포인터 메시지와 연결됩니다. 호출 스레드에서 다음 메시지를 검색하면 이전 메시지와 연결된 정보를 더 이상 사용할 수 없을 수 있습니다.
애플리케이션이 GetPointerInfo를 호출하는 경우 동일한 포인터 ID와 단일 INPUT_TRANSFORM 출력 버퍼를 사용하여 GetPointerInputTransform을 호출하여 데이터와 연결된 입력 변환을 가져올 수 있습니다.
애플리케이션이 GetPointerFrameInfo를 호출하는 경우 동일한 포인터 ID 및 단일 INPUT_TRANSFORM 출력 버퍼를 사용하여 GetPointerInputTransform을 호출하여 데이터와 연결된 입력 변환을 가져올 수 있습니다. 전체 프레임에 동일한 입력 변환이 적용됩니다.
애플리케이션이 GetPointerInfoHistory를 호출하는 경우 동일한 포인터 ID와 출력 버퍼를 사용하여 GetPointerInputTransform 을 호출하여 GetPointerInfoHistory를 사용하여 검색된 항목을 저장할 수 있습니다. 반환된 배열의 각 입력 변환은 GetPointerInfoHistory에서 반환된 배열의 해당 항목과 함께 사용할 수 있습니다.
애플리케이션이 GetPointerFrameInfoHistory를 호출하는 경우 동일한 포인터 ID와 출력 버퍼를 사용하여 GetPointerInputTransform 을 호출하여 GetPointerInfoHistory를 사용하여 검색된 항목을 저장할 수 있습니다. 반환된 배열의 각 입력 변환은 GetPointerFrameInfoHistory에서 반환된 배열의 해당 프레임과 함께 사용할 수 있으며 전체 프레임에 동일한 입력 변환이 적용됩니다.
메시지와 연결된 정보를 더 이상 사용할 수 없는 경우 이 함수는 마지막 오류를 ERROR_INVALID_PARAMETER 설정하여 실패합니다.
historyCount에 GetPointerInfo에서 반환된 POINTER_INFO 구조체의 historyCount 필드(또는 GetPointerInfoHistory에서 반환된 배열의 첫 번째 POINTER_INFO 구조체)보다 큰 값이 포함된 경우 함수는 마지막 오류가 ERROR_INVALID_PARAMETER 설정하여 실패합니다.
요구 사항
요구 사항 | 값 |
---|---|
지원되는 최소 클라이언트 | Windows 8.1 [데스크톱 앱만 해당] |
지원되는 최소 서버 | Windows Server 2012 R2 [데스크톱 앱만 해당] |
대상 플랫폼 | Windows |
헤더 | winuser.h(Windows.h 포함) |
라이브러리 | User32.lib |
DLL | User32.dll |