win->dc = GetDC(win->handle);
SetLastError(0);
if(!SetWindowLong(win->handle, GWL_USERDATA, (long)win) && (err = GetLastError())) {
win->dc = GetDC(win->handle);
SetLastError(0);
if(!SetWindowLong(win->handle, GWL_USERDATA, (long)win) && (err = GetLastError())) {