Что означает код HRESULT 0x8028400E (TBS_E_BUFFER_TOO_LARGE)?

 
Предыдущий Следующий
TBS_E_COMMAND_CANCELED TBS_E_TPM_NOT_FOUND

TBS_E_BUFFER_TOO_LARGE

Что означает TBS_E_BUFFER_TOO_LARGE

TBS_E_BUFFER_TOO_LARGE означает, что входной запрос или выделенный для операции TBS буфер превышает допустимый предел. Это отличается от случая, когда корректный ответ не помещается в слишком маленький выходной буфер.

Что проверить

  • Сверьте длину командного буфера с paramSize в заголовке TPM.
  • Проверьте арифметику размеров вложенных структур и преобразования типов.
  • Сравните минимальную корректную команду, документированный максимум и значение на один байт выше границы.
  • Убедитесь, что приложение не включает посторонние данные после конца TPM-команды.

Произвольное усечение команды недопустимо. Если протокол позволяет разбить операцию на несколько команд, делайте это на уровне определённых TPM-команд. В остальных случаях исправляйте сериализацию и расчёт размера до вызова Tbsip_Submit_Command.

Технические ссылки


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