다음을 통해 공유


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);