GetPointerTouchpadInfo 함수

[일부 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. Microsoft 여기에 제공된 정보와 관련하여 명시적이거나 묵시적인 보증을 하지 않습니다.]

터치 패드 관련 포인터 정보를 검색합니다. 단일 포인터 또는 전체 프레임이 필요한지 여부와 현재 상태 또는 전체 기록이 필요한지에 따라 네 가지 변형을 사용할 수 있습니다.

문법

WINUSERAPI
BOOL
WINAPI
GetPointerTouchpadInfo(
    _In_ UINT32 pointerId,
    _Out_writes_(1) POINTER_TOUCH_INFO *touchpadInfo);

WINUSERAPI
BOOL
WINAPI
GetPointerTouchpadInfoHistory(
    _In_ UINT32 pointerId,
    _Inout_ UINT32 *entriesCount,
    _Out_writes_opt_(*entriesCount) POINTER_TOUCH_INFO *touchpadInfo);

WINUSERAPI
BOOL
WINAPI
GetPointerFrameTouchpadInfo(
    _In_ UINT32 pointerId,
    _Inout_ UINT32 *pointerCount,
    _Out_writes_opt_(*pointerCount) POINTER_TOUCH_INFO *touchpadInfo);

WINUSERAPI
BOOL
WINAPI
GetPointerFrameTouchpadInfoHistory(
    _In_ UINT32 pointerId,
    _Inout_ UINT32 *entriesCount,
    _Inout_ UINT32 *pointerCount,
    _Out_writes_opt_(*entriesCount * *pointerCount) POINTER_TOUCH_INFO *touchpadInfo);

매개 변수

pointerId

정보를 검색할 포인터의 식별자입니다.

entriesCount (기록 변형)

버퍼의 항목 수를 지정하는 값에 대한 포인터입니다. 입력에서 버퍼의 크기를 지정합니다. 출력 시 기록된 항목 수를 받습니다.

pointerCount (프레임 변형)

프레임의 포인터 수를 지정하는 값에 대한 포인터입니다. 입력에서 버퍼의 크기를 지정합니다. 출력 시 기록된 포인터 수를 받습니다.

touchpadInfo

터치 패드 정보를 수신하는 POINTER_TOUCH_INFO 구조체에 대한 포인터입니다. 필요한 버퍼 크기를 쿼리하는 NULL 일 수 있습니다.

반환 값

함수가 성공하면 반환 값이 0이 아닙니다.

함수가 실패하면 반환 값은 0입니다. 확장 오류 정보를 얻으려면 GetLastError를 호출합니다.

비고

지정된 포인터 ID와 연결된 요청된 터치 패드 포인터 입력을 검색합니다. "프레임"에는 포인터 ID와 연결된 입력과 동일한 대상에 전달되는 현재 활성 연락처가 모두 포함됩니다. "기록"에는 대상이 이전 입력을 즉시 큐에서 해제하지 않아 현재 입력과 결합된 모든 입력이 포함됩니다.

터치 및 터치 패드 입력에 대해 확장 포인터 필드가 동일하기 때문에 포인터 입력은 이러한 API의 터치와 마찬가지로 POINTER_TOUCH_INFO 구조로 반환됩니다.

이러한 함수는 터치 패드 입력에 대한 WM_POINTER 메시지를 처리할 때만 호출되어야 합니다( RegisterTouchpadCapableWindow 또는 RegisterTouchpadCapableThread를 통해 터치 패드 지원으로 등록한 후).

터치 패드에 대한 포인터 입력은 다른 포인터 디바이스 유형과 비교할 때 몇 가지 기능적 차이가 있습니다.

  • ptPixelLocationptPixelLocationRaw 필드는 동일하며 제스처가 시작될 때 마우스 포인터의 위치를 포함하며 제스처 기간 동안 변경되지 않습니다.
  • ptHimetricLocationptHimetricLocationRaw 필드는 동일하며 디바이스를 기준으로 연락처의 위치를 포함합니다.
  • GetPointerDeviceRects는 화면 사각형의 가상 데스크톱과 디바이스 사각형에 대한 터치 패드의 크기를 반환합니다. 위의 위치는 이러한 사각형의 범위 내에 위치하지만 둘 사이에는 관계가 없습니다. 다른 포인터 디바이스 유형의 경우 해당 위치는 해당 사각형 내에서 동일한 상대 위치에 있지만 터치 패드 입력의 경우는 그렇지 않습니다.
  • 처음에 입력 스트림을 수신할 때 첫 번째와 두 번째 입력 프레임 사이의 각 접촉에 대해 상당한 공간 및 임시 간격이 있을 수 있습니다. 시스템이 터치 패드 입력에 대한 명확성을 계속 수행하는 동안 입력 프레임은 삭제됩니다. 시스템에서 제스처가 발생하는 것으로 확인되면 연락처의 POINTER_FLAG_DOWN 입력에 대한 이전 프레임을 합성하고 먼저 전달하므로 입력 대상이 입력이 제스처 인식 임계값을 충족하는지 확인할 때 정보를 사용할 수 있습니다. 입력이 콘텐츠 조작에 사용되는 경우 처음에 콘텐츠 "점프"를 방지하기 위해 주의해야 합니다. 이는 입력이 도착할 때 연락처의 공간 동작이 콘텐츠 조작으로 직접 적용될 때 발생할 수 있습니다.
  • 제스처 인식을 위해 포인터 입력이 Interaction Context API에 공급되는 경우:
    • 상호 작용 컨텍스트에 입력을 공급할 때 ProcessPointerFramesInteractionContext2BufferPointerPacketsInteractionContext2를 사용해야 합니다.
    • 조작 제스처 출력만 발생할 수 있습니다(이러한 제스처가 더 이상 발생하지 않으면 시스템에서 터치 패드 WM_POINTER 입력만 생성하기 때문에 탭 및 보류를 인식할 수 없음).
    • 상호 작용 컨텍스트가 화면 좌표로 출력을 반환하도록 구성된 경우 출력은 마우스 포인터가 포함된 디스플레이의 배율 인수에 따라 크기가 조정되므로 터치 패드에서 동일한 제스처가 표시 배율에 관계없이 동일한 유효 제스처 출력을 생성합니다.
    • 하이메트릭 출력에 대해 구성된 경우 마우스 포인터의 표시와 관계없이 동일한 제스처가 동일한 결과를 생성합니다. 출력은 입력 속도에 따라 크기가 조정되므로 손가락 동작이 빨라질수록 동일한 실제 손가락 거리에 대한 출력 크기가 커집니다.
    • 출력은 위에서 설명한 대로 "점프"를 방지하고 조작을 위해 콘텐츠에 직접 적용할 수 있습니다.

요구 사항

요구 사항 가치
지원되는 최소 클라이언트 Windows 11 [데스크톱 앱만 해당]
지원되는 최소 서버 지원되는 버전 없음
Header Winuser.h(Windows.h 포함)
라이브러리 User32.lib
동적 링크 라이브러리 (DLL) User32.dll (GetPointerTouchpadInfo의 경우 서수 2691, GetPointerTouchpadInfoHistory의 경우 서수 2692, GetPointerFrameTouchpadInfoInfo의 경우 서수 2693, GetPointerFrameTouchpadInfoHistory의 경우 서수 2694)

참고하십시오