重複したソケット IO と IOCP を使用している場合に、システム エラーを処理する信頼できる方法を誰か提案してもらえますか?
この点に関して、MSDN の説明は扱いにくいです。戻りコードがGetQueuedCompletionStatus
FALSE の場合GetLastError
、失敗した操作のエラー コードを取得するために、後続の呼び出しが必要であることが示されています。WSAGetLastError
ただし、WSA 関数については、代わりに呼び出す必要があることがわかっています (GetLastError
ソケット エラーの場合は 0 を返します)。質問の最初の部分は、実際にはどのように機能するのかということです。
もう 1 つの問題は、完了パケットが によって抽出された場合のエラー処理GetQueuedCompletionStatusEx
です。MSDN では、この呼び出し自体のエラー処理についてのみ説明しており、個々の失敗した操作のエラー コードの取得については何も述べていません。
すべての応答とコメントに事前に感謝します。