Share via


C28623

警告 C28623: GetMessagePos() の座標の符号なしキャスト。 LOWORD/HIWORD の代わりに GET_X_LPARAM/GET_Y_LPARAM を使用してください

複数のモニターを備えたシステムでは、負の X 座標や Y 座標が存在することがあります。 このようなシステムでは、GetMessagePos から負の値が返される可能性があります。 ただし、LOWORDHIWORD では座標が符号なしの数値として扱われるため、これらを使用しないでください。

次の例では、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);