Compartir a través de


C28623

advertencia C28623: conversión sin firmar de coordenadas GetMessagePos(). Use GET_X_LPARAM/GET_Y_LPARAM en lugar de LOWORD/HIWORD

Los sistemas con varios monitores pueden tener coordenadas X negativas e coordenadas Y. En estos sistemas, GetMessagePos puede devolver valores negativos. Sin embargo, dado que LOWORD y HIWORD tratan las coordenadas como cantidades sin firmar, no deben usarse.

Ejemplo

PREfast notifica la advertencia para el ejemplo siguiente.

DWORD dw = GetMessagePos();
POINT ppt;

ppt.x = LOWORD(dw);
ppt.y = HIWORD(dw);

En el ejemplo siguiente se evita el error.

DWORD dw = GetMessagePos();
POINT ppt;

ppt.x = GET_X_LPARAM(dw);
ppt.y = GET_Y_LPARAM(dw);