CreateSyntheticPointerDevice2 함수

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

연결된 매개 변수를 사용하여 가상 포인터 디바이스를 만듭니다. 입력은 InjectSyntheticPointerInput을 통해 이 디바이스를 사용하여 주입할 수 있습니다. 주입 디바이스가 더 이상 필요하지 않은 경우 DestroySyntheticPointerDevice를 통해 정리해야 합니다.

문법

WINUSERAPI
HSYNTHETICPOINTERDEVICE
WINAPI
CreateSyntheticPointerDevice2(
    _In_ SYNTHETIC_DEVICE_CREATION_PARAMS* pParams);

매개 변수

pParams

디바이스에 대한 매개 변수를 포함하는 SYNTHETIC_DEVICE_CREATION_PARAMS 구조체에 대한 포인터입니다.

반환 값

함수가 성공하면 반환 값은 가상 포인터 디바이스에 대한 핸들입니다.

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

비고

터치 패드는 물리적 크기로 만들어야 하므로 기존 CreateSyntheticPointerDevice 를 사용하여 터치 패드 디바이스를 만들 수 없습니다.

SYNTHETIC_DEVICE_CREATION_OPTIONS

가상 포인터 디바이스를 만들기 위한 옵션입니다.

typedef enum tagSYNTHETIC_DEVICE_CREATION_OPTIONS
{
    SDCO_NONE                   = 0x0,
    SDCO_PHYSICAL_SIZE          = 0x1,
    SDCO_TOUCHPAD_GESTURE_ONLY  = 0x2,
} SYNTHETIC_DEVICE_CREATION_OPTIONS;
DEFINE_ENUM_FLAG_OPERATORS(SYNTHETIC_DEVICE_CREATION_OPTIONS)
가치 Meaning
SDCO_NONE (0x0) 특별한 옵션이 없습니다.
SDCO_PHYSICAL_SIZE (0x1) 삽입된 입력은 매핑된 디스플레이 대신 디바이스를 기준으로 합니다. 지정된 경우 디바이스의 크기를 제공해야 합니다. InjectSyntheticPointerInput을 사용하여 입력을 삽입할 때는 ptPixelLocation 대신 포인터 정보의 ptHimetricLocation 필드에 입력 좌표를 지정해야 합니다.
SDCO_TOUCHPAD_GESTURE_ONLY (0x2) 삽입된 터치 패드 입력은 항상 제스처로 처리되며 마우스 동작 또는 클릭으로 인식할 수 없습니다. 지정하지 않으면 시스템은 삽입된 터치 패드 입력을 실제 터치 패드 입력과 동일하게 처리합니다.

SYNTHETIC_DEVICE_CREATION_PARAMS

가상 주입 디바이스를 만들기 위한 매개 변수를 나타내는 구조체입니다.

typedef struct tagSYNTHETIC_DEVICE_CREATION_PARAMS
{
    POINTER_INPUT_TYPE pointerType;
    ULONG maxCount;
    POINTER_FEEDBACK_MODE feedbackMode;
    HMONITOR hMonitor;
    ULONG deviceWidth;
    ULONG deviceHeight;
    SYNTHETIC_DEVICE_CREATION_OPTIONS options;
} SYNTHETIC_DEVICE_CREATION_PARAMS;

구성원

pointerType

생성되는 디바이스 유형(PT_TOUCH, PT_PEN 또는 PT_TOUCHPAD)입니다.

maxCount

동시에 삽입할 수 있는 최대 연락처 수입니다.

feedbackMode

삽입된 입력에 시각적 피드백이 렌더링되는 모드입니다.

hMonitor

삽입된 입력이 매핑되는 모니터(해당하는 경우)입니다.

deviceWidth

디바이스의 물리적 너비(1/100밀리미터)입니다.

deviceHeight

디바이스의 물리적 높이(1/100 밀리미터)입니다.

옵션

SYNTHETIC_DEVICE_CREATION_OPTIONS 0개 이상의 옵션입니다.

비고

pointerType옵션 필드는 다른 필드의 유효한 값을 제어합니다.

PT_TOUCH:

  • maxCount 는 0보다 크고 256보다 작거나 같아야 합니다.
  • feedbackModePOINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT 또는 POINTER_FEEDBACK_NONE 합니다.
  • hMonitornullptr (입력이 가상 데스크톱에 매핑됨) 또는 유효한 모니터일 수 있습니다.
  • deviceWidthdeviceHeightSDCO_PHYSICAL_SIZE 지정한 경우 0이 아니어야 하고, 그렇지 않은 경우 0이어야 합니다.
  • 옵션(또는 SDCO_NONE )에는 SDCO_PHYSICAL_SIZE만 유효합니다.

PT_PEN:

  • maxCount 는 1이어야 합니다.
  • feedbackModePOINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT 또는 POINTER_FEEDBACK_NONE 합니다.
  • hMonitornullptr 또는 유효한 모니터일 수 있습니다.
  • deviceWidthdeviceHeightSDCO_PHYSICAL_SIZE 지정한 경우 0이 아니어야 하고, 그렇지 않은 경우 0이어야 합니다.
  • 옵션(또는 SDCO_NONE )에는 SDCO_PHYSICAL_SIZE만 유효합니다.

PT_TOUCHPAD:

  • maxCount 는 0보다 크고 5보다 작거나 같아야 합니다.
  • feedbackModePOINTER_FEEDBACK_NONE 합니다.
  • hMonitornullptr 이어야 합니다(터치 패드 입력은 항상 마우스 위치를 통해 가상 데스크톱에 매핑됨).
  • deviceWidthdeviceHeight는 0이 아니어야 합니다.
  • 옵션에서 SDCO_PHYSICAL_SIZE 지정해야 SDCO_TOUCHPAD_GESTURE_ONLY 선택 사항입니다.

요구 사항

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

참고하십시오