Что означает код ошибки Windows 6713 (ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER)?

 
Предыдущий Следующий
ERROR_CRM_PROTOCOL_NOT_FOUND ERROR_CURRENT_TRANSACTION_NOT_VALID

ERROR_TRANSACTION_INVALID_MARSHALL_BUFFER

Эта ошибка относится именно к распространению транзакции. Буфер байтов, переданный в путь распространения KTM, не является допустимой маршалированной полезной нагрузкой транзакции. Поэтому причину следует искать на границе между компонентами или процессами, а не трактовать её как обычный сбой выделения памяти.

Основные проверки целостности

  • Считайте буфер, возвращённый API распространения KTM, непрозрачным: не изменяйте и не объединяйте его, не интерпретируйте заново и не сериализуйте в него нативные указатели.
  • Передавайте точное число байтов, связанное с буфером, и сохраняйте его действительным до завершения принимающего вызова.
  • Убедитесь, что отправитель и получатель используют согласованные API распространения и что при формировании буфера не была проигнорирована ошибка.
  • Записывайте только безопасные метаданные: размер, путь вызова, идентификатор транзакции и создавший буфер процесс. Не выводите непрозрачные данные транзакции в обычные журналы.

Недопустимые данные распространения отличаются от отсутствующего объекта транзакции. Если проблема связана с устаревшим или неизвестным дескриптором транзакции, KTM может вместо этого вернуть состояние, указывающее на отсутствие транзакции или нарушение времени жизни объекта.

См. обзор KTM, справочник API KTMи Запись WinError для этого кода.


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