GetLastError 関数を使用すると、マルチスレッド化したルーチンのいずれかがエラーコードを返した場合に、エラー情報を取得することができます。これは最後のエラーのエラーコードを返すものであり、必ずしも最後の呼び出しのエラー状態を返すわけではないことに注意してください。
エラーコードは 32 ビット値です。ビット 29 はアプリケーション定義のエラーコードのために予約されています。独自のダイナミック・リンク・ライブラリーを作成しているときには、このビットを設定して SetLastError を使用することで、Windows* API の動作をエミュレートすることができます。Windows 関数は、失敗したときにのみ SetLastError を呼び出し、成功したときには呼び出しません。
最後のエラーコード値はスレッド・ローカル・ストレージに保持されているので、複数のスレッドが互いの値を上書きするようなことは起こりません。