WIN32APIで処理に失敗した後にGetLastError()を使いなさいとは、リファレンスに書かれていたので知っていたのですが、数字(ID)だけ見ても何もわかんねーYO!!と思っていました。
今日たまたま知ったのですが、GetLastError()で取得したIDからエラーメッセージを取得する方法があったみたいで早速使ってみました。
static inline void OutputMessage(DWORD dwMessageId)
{
LPTSTR lpBuffer = NULL;
FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER | FORMAT_MESSAGE_FROM_SYSTEM,
NULL, GetLastError(), LANG_USER_DEFAULT,
(LPTSTR)&lpBuffer, 0, NULL );
MessageBox(NULL, lpBuffer, "Last Error Message", MB_ICONHAND|MB_OK);
LocalFree(lpBuffer);
}
を実行すると、、、
おぉー。ちゃんとエラーメッセージが表示されてるよ!