C28623
警告 C28623:GetMessagePos () 坐标的无符号强制转换。 使用 GET_X_LPARAM/GET_Y_LPARAM 而不是 LOWORD/HIWORD
具有多个监视器的系统可以具有负 x 坐标和 y 坐标。 因此,在此类系统上, GetMessagePos 可能会返回负值。 但是,由于 LOWORD 和 HIWORD 将坐标视为无符号数量,因此不应使用它们。
示例
PREfast 报告以下示例的警告。
DWORD dw = GetMessagePos();
POINT ppt;
ppt.x = LOWORD(dw);
ppt.y = HIWORD(dw);
以下示例避免了此错误。
DWORD dw = GetMessagePos();
POINT ppt;
ppt.x = GET_X_LPARAM(dw);
ppt.y = GET_Y_LPARAM(dw);