if (GetQueuedCompletionStatus(...) == false){}

Тема в разделе "WASM.WIN32", создана пользователем SnugForce, 11 мар 2006.

  1. SnugForce

    SnugForce New Member

    Публикаций:
    0
    Регистрация:
    2 май 2005
    Сообщения:
    373
    Адрес:
    Из домУ
    Вот такой вопрос. Использую порты завершения для работы с сокетами. Так вот, при нормальном закрытии сооединения у клиента GetQueuedCompletionStatus возвращает true и BytesTransferred = 0, но при "убивании" клиента (я так понимаю не вызывается shutdown()) GetQueuedCompletionStatus возвращает false с ошибкой:

    Error -> GetQueuedCompletionStatus: 64

    Указанное сетевое имя более недоступно

    Так получается, что эту ошибку нужно игнорировать.А вот почему это происходит?

    Еще один вопрос. Если к примеру в фоне происходит несколько операций ввода-вывода на одном дескрипторе сокета и произойдет отключение клиента, то порт завершения обработает один раз с ошибкой или каждую операцию без ошибки??

    И вообще есть ли еще неучтенные ситуации?