Что означает код HRESULT 0x80290105 (TPMAPI_E_OUT_OF_MEMORY)?

 
Предыдущий Следующий
TPMAPI_E_INVALID_PARAMETER TPMAPI_E_BUFFER_TOO_SMALL

TPMAPI_E_OUT_OF_MEMORY

Точная стадия ошибки

Этот HRESULT 0X80290105 фиксирует условие не хватает / памяти в подсистеме Windows TPM API до передачи операции в TBS/TPM. Для корректного сравнения нужны один и тот же API, сопоставимый object state и первый возврат до recovery.

TPMAPI, TBS transport и raw TPM response — разные уровни; первый вернувший код определяет владельца исправления.

Конкретные признаки из исходного EN-описания

  • Check process memory pressure, allocation failures, and unusually large TPM input or output data.
  • Release no-longer-needed command buffers, context objects, and decoded data before retrying.
  • Avoid repeated immediate retries that can worsen memory pressure without changing the request.
  • It indicates that the TPM API could not obtain memory needed to build, decode, or return the requested data.

Что сравнивать

  • TPM API method, input structure type/length и correlation ID.
  • TBS context/service state и первый native return.
  • TPM identity, policy/PCR/key scope без записи секретов.

Windows TPM API может отклонить request до отправки команды в TPM, поэтому локальную validation нельзя автоматически считать аппаратным сбоем.

Изолированный тест

Сравните failing и working trace той же операции. Поле или state, соответствующий «не хватает / памяти», должен быть единственным существенным отличием.

Условие «не хватает / памяти» проверяйте на первом TPMAPI boundary; аппаратный TPM не следует считать причиной, пока локальная validation/serialization уже могла вернуть этот HRESULT.

Завершение диагностики

Освободите доказанно принадлежащие процессу TPMAPI resources или уменьшите одновременно активные операции; затем повторите одну операцию на свежем context. TPM clear для этой ошибки не является первым действием.

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


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