WSAGetLastError

久々にソケットプログラムを書く.すっかり忘れていて萎え

void error_message(void){
	//MSDNからのコピペ
	LPVOID lpMsgBuf;
	
	FormatMessage(FORMAT_MESSAGE_ALLOCATE_BUFFER |
	    FORMAT_MESSAGE_FROM_SYSTEM |
	    FORMAT_MESSAGE_IGNORE_INSERTS,
	    NULL,
	    WSAGetLastError(),
	    MAKELANGID(LANG_NEUTRAL, SUBLANG_DEFAULT), // 既定の言語
	    (LPTSTR) &lpMsgBuf,
	    0,
	    NULL
	);
	// 文字列を表示する。
//	MessageBox(NULL, (LPCTSTR)lpMsgBuf, "Error", MB_OK | MB_ICONINFORMATION);
	printf("%s\n",lpMsgBuf);
	// バッファを解放する。
	LocalFree(lpMsgBuf);
	return;
}

エラーメッセージを取得するWSAGetLastErrorとそれを整形するFormatMessageのメモ.というかMSDNのコピペ.
コンソールアプリなのでprintfで表示するだけ.多分FormatMessageの引数はこんなにいらないのだろうけど,修正が面倒なのでそのまま.
この関数をそこらじゅうに仕込んである.あと__LINE__とかも入れておいて,呼び出す時に引数で渡していっしょに表示させると幸せかな?