私のコードでは、I/O完了ポートを備えた非同期I/Oがあり、読み取り/書き込み完了コールバックの場合、HANDLE
(もちろん、ソケット、ファイルハンドル、名前付きパイプなど)を取得します。
したがって、そのようなルーチンで何かが間違っている場合は、エラーを確認したいのですが、それが「ネットワーク」HANDLE
(aSOCKET
なので、呼び出す必要がありますWSAGetLastError()
)か「非ネットワーク」HANDLE
(名前付きパイプ、ファイルなど)かどうかを確認する方法は、だから私は)を呼び出す必要がありますGetLastError()
か?そのために単純なフラグを使用していますが、その醜くて不便です。
誰かがそれWSAGetLastError()
が単なるエイリアスであることを確認できればGetLastError()
、私は後者のみを使用します。
そのようです:
http://us.generation-nt.com/wsagetlasterror-just-an-alias-getlasterror-help-28256642.html
しかし、誰かがそれを確認できますか?MSDNは、このトピックについてあまり明確ではありません。
GetLastError()
そして、代わりに使用しても安全でしょうWSAGetLastError()
か?WSAGetLastError()
つまり、誰かが主張しているように、Windows95以降のエイリアスでさえあれば、GetLastError()
それは次のバージョンのWindowsにも当てはまると思いますが、想定する上で適切なコードを書くことはできません:)