| Предыдущий | Следующий |
| TPMAPI_E_TOO_MUCH_DATA | TPMAPI_E_INVALID_PARAMETER |
TPMAPI_E_INVALID_OUTPUT_POINTER
Что именно произошло
Для TPMAPI_E_INVALID_OUTPUT_POINTER (0X80290103) рабочая граница — неверный / выходной / указатель. Код относится к Windows TPM API, measured-boot/TCG data и TPM command preparation. Сохраняйте первый native return и identity объекта: именно они определяют, проверяется ли здесь input, capability, ownership, lifecycle или transport.
Authorization и policy фиксируйте как scope/identity без секрета. Не записывайте owner auth, private key material или полный sensitive blob в диагностический лог.
Фрагменты исходного EN-описания
It indicates that the caller supplied an invalid location for an API result, size, or returned object.
Verify every output pointer, buffer address, and associated size argument before the call.
Ensure that output storage remains valid until the TPM API operation returns.
Use the API ownership rules when releasing any result allocated by the TPM API.
Данные для первого снимка
- TPM API method, context handle и operation correlation ID.
- input structure type/length, algorithm и flags.
- TBS/service state и первый native TPMAPI result.
TPMAPI может отклонить structure ещё до TBS/TPM command. Поэтому format/length/PCR/key validation нельзя автоматически считать аппаратной ошибкой TPM.
Контрольные признаки
Сделайте минимальный before/after experiment для «неверный / выходной / указатель». Не меняйте одновременно provider, input и state — такой тест не показывает, что именно исправило результат.
Отделите локальную проверку TPMAPI «неверный / выходной / указатель» от TBS transport error и от самого TPM response code; фиксируйте первый слой, вернувший ошибку.
Исправление
Пересоздайте только отклонённую TPM/TCG structure через поддерживаемый API, сохранив тот же TPM и operation context; ручное редактирование blob не является надёжным исправлением.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.