Catatan
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba masuk atau mengubah direktori.
Akses ke halaman ini memerlukan otorisasi. Anda dapat mencoba mengubah direktori.
Mendapatkan satu atau beberapa transformasi untuk koordinat informasi penunjuk yang terkait dengan pesan saat ini.
Sintaks
BOOL GetPointerInputTransform(
[in] UINT32 pointerId,
[in] UINT32 historyCount,
[out] INPUT_TRANSFORM *inputTransform
);
Parameter
[in] pointerId
Pengidentifikasi penunjuk untuk mengambil informasi.
[in] historyCount
Jumlah struktur INPUT_TRANSFORM yang dapat ditunjukkan inputTransform .
Nilai ini tidak boleh kurang dari 1 dan tidak lebih besar dari nilai yang ditentukan dalam historyCount dari struktur POINTER_INFO yang dikembalikan oleh GetPointerInfo, GetPointerTouchInfo, atau GetPointerPenInfo (untuk transformasi input tunggal) atau GetPointerInfoHistory, GetPointerTouchInfoHistory, atau GetPointerPenInfoHistory (untuk array transformasi input).
Jika GetPointerInputTransform berhasil, inputTransform diperbarui dengan jumlah total struktur yang tersedia. Jumlah total struktur yang tersedia sama dengan bidang historyCount dari struktur POINTER_INFO .
[out] inputTransform
Alamat array struktur INPUT_TRANSFORM untuk menerima informasi transformasi. Parameter ini tidak boleh NULL.
Nilai kembali
Jika fungsi berhasil, nilai yang dikembalikan bukan nol.
Jika fungsi gagal, nilai yang dikembalikan adalah nol. Untuk mendapatkan informasi kesalahan yang diperluas, hubungi GetLastError.
Keterangan
Konsumen pesan input pointer biasanya menggunakan ScreenToClient atau MapWindowPoints untuk mengonversi koordinat layar ke koordinat klien.
Jika transformasi diterapkan pada konsumen pesan, gunakan GetPointerInputTransform untuk mengambil transformasi pada konsumen pesan pada saat input terjadi. Inversi transformasi ini kemudian dapat digunakan untuk mengonversi koordinat input pointer dari koordinat layar ke koordinat klien konsumen pesan.
Jika transformasi input tidak terkait dengan input, fungsi GetPointerInputTransform gagal dengan kesalahan terakhir yang diatur ke ERROR_NO_DATA. Gunakan ScreenToClient atau MapWindowPoints sebagai gantinya.
Transformasi input tidak menghormati pengaturan tata letak kanan-ke-kiri pada target input. Aplikasi yang memerlukan koordinat yang disesuaikan untuk tata letak kanan-ke-kiri harus melakukan pencerminan kanan-ke-kiri atau menggabungkan transformasi pencerminan yang sesuai dengan transformasi input.
Informasi yang dikembalikan oleh GetPointerInputTransform dikaitkan dengan pesan pointer terbaru yang diambil oleh utas panggilan. Saat pesan berikutnya diambil oleh utas panggilan, informasi yang terkait dengan pesan sebelumnya mungkin tidak lagi tersedia.
Jika aplikasi memanggil GetPointerInfo, aplikasi dapat memanggil GetPointerInputTransform dengan Id pointer yang sama dan buffer output INPUT_TRANSFORM tunggal untuk mendapatkan transformasi input yang terkait dengan data.
Jika aplikasi memanggil GetPointerFrameInfo, aplikasi dapat memanggil GetPointerInputTransform dengan Id pointer yang sama dan buffer output INPUT_TRANSFORM tunggal untuk mendapatkan transformasi input yang terkait dengan data. Transformasi input yang sama berlaku untuk seluruh bingkai.
Jika aplikasi memanggil GetPointerInfoHistory, aplikasi dapat memanggil GetPointerInputTransform dengan Id pointer yang sama dan buffer output untuk menahan entri yang diambil menggunakan GetPointerInfoHistory. Setiap transformasi input dalam array yang dikembalikan dapat digunakan dengan entri yang sesuai dalam array yang dikembalikan oleh GetPointerInfoHistory.
Jika aplikasi memanggil GetPointerFrameInfoHistory, aplikasi dapat memanggil GetPointerInputTransform dengan Id pointer yang sama dan buffer output untuk menyimpan entri yang diambil menggunakan GetPointerInfoHistory. Setiap transformasi input dalam array yang dikembalikan dapat digunakan dengan bingkai yang sesuai dalam array yang dikembalikan oleh GetPointerFrameInfoHistory, dengan transformasi input yang sama diterapkan ke seluruh bingkai.
Jika informasi yang terkait dengan pesan tidak lagi tersedia, fungsi ini gagal dengan kesalahan terakhir yang diatur ke ERROR_INVALID_PARAMETER.
Jika historyCount berisi nilai yang lebih besar dari bidang historyCount dari struktur POINTER_INFO yang dikembalikan oleh GetPointerInfo (atau struktur POINTER_INFO pertama dalam array yang dikembalikan oleh GetPointerInfoHistory), fungsi gagal dengan kesalahan terakhir yang diatur ke ERROR_INVALID_PARAMETER.
Persyaratan
| Persyaratan | Nilai |
|---|---|
| Klien minimum yang didukung | Windows 8.1 [hanya aplikasi desktop] |
| Server minimum yang didukung | Windows Server 2012 R2 [hanya aplikasi desktop] |
| Target Platform | Windows |
| Header | winuser.h (termasuk Windows.h) |
| Pustaka | User32.lib |
| DLL | User32.dll |