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 所傳回之 POINTER_INFO 結構之 historyCount 中所指定的值, (單一輸入轉換) 或 GetPointerInfoHistory、GetPointerTouchInfoHistory 或 GetPointerPenInfoHistory (輸入轉換陣組) 。
如果 GetPointerInputTransform 成功, inputTransform 就會更新為可用的結構總數。 可用的結構總數與 POINTER_INFO 結構的 historyCount 字段相同。
[out] inputTransform
要接收轉換資訊的 INPUT_TRANSFORM 結構數位位址。 此參數不可以是 NULL。
傳回值
如果函式成功,則傳回值為非零。
如果此函式失敗,則傳回值為零。 若要取得擴充的錯誤資訊,請呼叫 GetLastError。
備註
指標輸入訊息的取用者通常會使用 ScreenToClient 或 MapWindowPoints 將螢幕座標轉換成用戶端座標。
如果在訊息取用者上套用轉換,請使用 GetPointerInputTransform 在輸入發生時擷取訊息取用者上的轉換。 然後,這個轉換的反轉可用來將指標輸入座標從螢幕座標轉換為訊息取用者的用戶端座標。
如果輸入轉換未與輸入相關聯, GetPointerInputTransform 函式會失敗,並將最後一個錯誤設定為 ERROR_NO_DATA。 請改用 ScreenToClient 或 MapWindowPoints 。
輸入轉換不會遵守輸入目標上任何由右至左的配置設定。 需要由右至左配置調整座標的應用程式必須執行由右至左鏡像,或結合適當的鏡像轉換與輸入轉換。
GetPointerInputTransform 傳回的信息與呼叫線程所擷取的最新指標訊息相關聯。 當呼叫線程擷取下一個訊息時,可能無法再使用與上一個訊息相關聯的資訊。
如果應用程式呼叫 GetPointerInfo,它可以使用相同的指標標識碼和單一INPUT_TRANSFORM輸出緩衝區呼叫 GetPointerInputTransform,以取得與數據相關聯的輸入轉換。
如果應用程式呼叫 GetPointerFrameInfo,它可以使用相同的指標標識碼和單一INPUT_TRANSFORM輸出緩衝區呼叫 GetPointerInputTransform,以取得與數據相關聯的輸入轉換。 相同的輸入轉換會套用至整個框架。
如果應用程式呼叫 GetPointerInfoHistory,它可以使用相同的指標標識碼和輸出緩衝區呼叫 GetPointerInputTransform 來保存使用 GetPointerInfoHistory 擷取的專案。 傳回數位中的每個輸入轉換都可以與 GetPointerInfoHistory 所傳回數位列中的對應專案搭配使用。
如果應用程式呼叫 GetPointerFrameInfoHistory,它可以使用相同的指標標識碼和輸出緩衝區呼叫 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 |