| Предыдущий | Следующий |
| TPMAPI_E_INTERNAL_ERROR | TPMAPI_E_AUTHORIZATION_FAILED |
TPMAPI_E_ACCESS_DENIED
Причина на native boundary
Для TPMAPI_E_ACCESS_DENIED (0X80290108) рабочая граница — доступ / запрещён. Код относится к 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 current security context is not authorized to perform the requested TPM API operation.
Confirm the account, elevation state, local security policy, and application service identity.
Check whether the operation requires device ownership, administrator privileges, or a policy-approved caller.
Do not work around the restriction by weakening TPM or platform security policy.
Поля корреляции
- 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.
Проверка гипотезы
Проверьте condition «доступ / запрещён» на том же объекте и том же API. Один контролируемый change должен либо убрать этот HRESULT, либо сдвинуть первый failure к другому, более конкретному коду.
Отделите локальную проверку TPMAPI «доступ / запрещён» от TBS transport error и от самого TPM response code; фиксируйте первый слой, вернувший ошибку.
Завершение диагностики
Исправьте authorization/policy на поддерживаемом уровне и повторите ту же операцию; не обходите policy изменением command encoding.
Технические ссылки
Нужно найти другой код? Найти другой код состояния или ошибки.