Вы должны выделить буфер самостоятельно:
WCHAR txtbuff[50];
GetDlgItemText(hwnd, IDC_EDIT1, txtbuff, 50);
/* or... */
GetDlgItemText(hwnd, IDC_EDIT1, txtbuff, sizeof(textbuff)/sizeof(textbuff[0]));
MessageBox(NULL, txtbuff, L"Error message", MB_OK);
Простая переменная LPWSTR
- это указатель, в вашем примере у вас есть указатель, но он еще нигде не указывает. Создавая буфер явно, вы указываете размер и можете предоставить его GetDlgItem
.