Что означает код HRESULT 0xC1220302 (WDSTPC_E_ALREADY_IN_PROGRESS)?

 
Предыдущий Следующий
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 · Структура транспортного запроса


Нужно найти другой код? Найти другой код состояния или ошибки.