私のコードでは、I/O完了ポートを持つ非同期I/Oを持っています。読み書きのためにコールバックは コールバック、私はハンドルを取得します(もちろんソケット、ファイルハンドル、名前付きパイプなどがあります)。 )。 そのようなルーチンで何か問題があった場合は、エラーをチェックしたいが、その "ネットワーク"ハンドル(ソケット、WSAGetLastError()を呼び出す必要がある)かどうかを知る方法または "非ネットワーク"ハンドル[パイプ、ファイルなど、私はGetLastError()を呼び出す必要がありますか?私はそれのために単純なフラグを使用していますが、その醜い、不自然な。 WSAGetLastError()がGetLastError()のエイリアスであることを誰かが確認できる場合は、後者のみを使用します。WSAGetLastError()はGetLastError()のエイリアスですか?
それはとても思わ:
http://us.generation-nt.com/wsagetlasterror-just-an-alias-getlasterror-help-28256642.html
誰かがそれを確認することができますか?このトピックについては、MSDNではあまり明確ではありません。
WSAGetLastError()の代わりにGetLastError()を使用しても安全ですか? WSAGetLastError()がWindows95以降、GetLastError()のエイリアスであっても、次のバージョンのWindowsではそれが当てはまると思うかもしれませんが、私は良いコードを書くことはできません:)
ええ、私はそれを見ましたが、WSAGetLastError()ではなくGetLastError()を使用しますか?私は彼らがこれらの2つの機能を分離するとは思わない。 –
特定のWinsockエラーのためにWSAGetLastErrorが安全に使用されていると思う。しかし、これは私の意見です。 – Xearinox
ドキュメントが示唆している機能を使用する方がクリーンですが、この特定のケースでは、これらの2つの機能が別々の機能に分割される可能性は非常に低いです。 –