| Предыдущий | Следующий |
| WDSTPC_E_ALREADY_COMPLETED | WDSTPC_E_UNKNOWN_ERROR |
WDSTPC_E_ALREADY_IN_PROGRESS
WDSTPC_E_ALREADY_IN_PROGRESS является ошибкой повторного запуска или состояния сеанса. WdsTransportClientInitializeSession настраивает передачу, а WdsTransportClientStartSession запускает её; обёртки приложения не должны выполнять переход запуска более одного раза для одного активного сеанса.
Сериализуйте переход запуска сеанса
- Защитите переход из инициализированного состояния в выполняющееся, если несколько рабочих потоков могут использовать один дескриптор.
- Запишите первый успешный запуск вместе с пространством имён, именем объекта и сервером из транспортного запроса.
- Используйте
WdsTransportClientQueryStatusдля наблюдения за активной передачей вместо повторного вызоваStartSession.
Клиентский API специально разделяет инициализацию и запуск, поэтому удобный помощник повторов может случайно повторно запустить передачу после тайм-аута приложения, хотя она уже началась. Сопоставляйте транспортные обратные вызовы с дескриптором сеанса и идентификатором запроса приложения. Если тот же логический файл нужно намеренно перезапустить, отмените и закройте старый сеанс по правилам API и создайте новый, а не накладывайте машины состояний.
Жизненный цикл InitializeSession · Жизненный цикл StartSession · Структура транспортного запроса
Нужно найти другой код? Найти другой код состояния или ошибки.