[일부 정보는 상업적으로 출시되기 전에 실질적으로 수정될 수 있는 시험판 제품과 관련이 있습니다. 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보다 작거나 같아야 합니다.
- feedbackMode 는 POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT 또는 POINTER_FEEDBACK_NONE 합니다.
- hMonitor 는 nullptr (입력이 가상 데스크톱에 매핑됨) 또는 유효한 모니터일 수 있습니다.
- deviceWidth 및 deviceHeight 는 SDCO_PHYSICAL_SIZE 지정한 경우 0이 아니어야 하고, 그렇지 않은 경우 0이어야 합니다.
- 옵션(또는 SDCO_NONE )에는 SDCO_PHYSICAL_SIZE만 유효합니다.
PT_PEN:
- maxCount 는 1이어야 합니다.
- feedbackMode 는 POINTER_FEEDBACK_DEFAULT, POINTER_FEEDBACK_INDIRECT 또는 POINTER_FEEDBACK_NONE 합니다.
- hMonitor 는 nullptr 또는 유효한 모니터일 수 있습니다.
- deviceWidth 및 deviceHeight 는 SDCO_PHYSICAL_SIZE 지정한 경우 0이 아니어야 하고, 그렇지 않은 경우 0이어야 합니다.
- 옵션(또는 SDCO_NONE )에는 SDCO_PHYSICAL_SIZE만 유효합니다.
PT_TOUCHPAD:
- maxCount 는 0보다 크고 5보다 작거나 같아야 합니다.
- feedbackMode 는 POINTER_FEEDBACK_NONE 합니다.
- hMonitor 는 nullptr 이어야 합니다(터치 패드 입력은 항상 마우스 위치를 통해 가상 데스크톱에 매핑됨).
- deviceWidth 및 deviceHeight는 0이 아니어야 합니다.
- 옵션에서 SDCO_PHYSICAL_SIZE 지정해야 SDCO_TOUCHPAD_GESTURE_ONLY 선택 사항입니다.
요구 사항
| 요구 사항 | 가치 |
|---|---|
| 지원되는 최소 클라이언트 | Windows 11 [데스크톱 앱만 해당] |
| 지원되는 최소 서버 | 지원되는 버전 없음 |
| Header | Winuser.h(Windows.h 포함) |
| 라이브러리 | User32.lib |
| 동적 링크 라이브러리 (DLL) | User32.dll(서수 2690) |