В моем коде у меня есть асинхронный ввод-вывод с портами ввода-вывода ввода-вывода, а для завершения чтения/записи обратных вызовов я получаю РУЧКУ (это, конечно, может быть сокет, дескриптор файла, именованный канал и т. Д.). Итак, если что-то не так в такой рутине, я хочу проверить ошибку, но как узнать, является ли ее «сетевой» HANDLE [SOCKET, поэтому я должен называть WSAGetLastError()] или «несетевой» HANDLE [named труб, файлов и т. д., поэтому я должен назвать GetLastError()]? Я использую для этого простой флаг, но его уродливый и невосприимчивый. Если кто-то может подтвердить, что WSAGetLastError() является просто псевдонимом для GetLastError(), я буду использовать только последний.Является ли WSAGetLastError() просто псевдонимом для GetLastError()?
Кажется, так:
http://us.generation-nt.com/wsagetlasterror-just-an-alias-getlasterror-help-28256642.html
Но кто-то может подтвердить? MSDN не очень понятна в этой теме.
И: было бы безопасно использовать GetLastError() вместо WSAGetLastError()? Я имею в виду, что если WSAGetLastError() даже является псевдонимом GetLastError(), поскольку Windows95, как утверждают некоторые, может предположить, что это будет верно для следующей версии Windows, но мы не можем писать хороший код при принятии вещей :)
Да, я видел это, но вы бы использовали GetLastError() вместо WSAGetLastError()? Я не думаю, что они отделяют эти 2 функции, теперь –
Я думаю, что это безопаснее использовать WSAGetLastError из-за определенных ошибок Winsock. Но это только мое мнение. – Xearinox
Чистое использование функции, предлагаемой документацией, однако в данном конкретном случае маловероятно, что эти два будут когда-либо разбиваться на отдельные функции. –