| Предыдущий | Следующий |
| TPM_E_AUTHFAIL | TPM_E_BAD_PARAMETER |
TPM_E_BADINDEX
TPM_E_BADINDEX означает, что команда выбрала индекс, недопустимый для целевого объекта TPM 1.2: определение Microsoft прямо включает PCR, DIR и другие регистры. Ошибка относится к селектору, а не к несоответствию текущего содержимого выбранного регистра.
При работе с PCR отличайте это от TPM_E_WRONGPCRVAL. TPM_E_BADINDEX означает, что вызывающая сторона не указала пригодный регистр; TPM_E_WRONGPCRVAL означает, что указанный PCR был действительным, но его измеренное значение больше не соответствовало политике или ожиданиям запечатанных данных.
Полезные проверки
- Запишите команду, поле индекса и версию TPM, предоставляемую платформой. Не предполагайте, что все реализации имеют одинаковый набор дополнительных возможностей.
- Проверяйте индекс по точной структуре команды и сведениям о возможностях, а не по жёстко заданной таблице из другого поколения TPM.
- Для сериализованного запроса проверьте порядок байтов и упаковку структуры до изменения состояния TPM. Неверно сформированный селектор часто сопровождается ошибками и в других полях.
Ссылки
- Microsoft: значения HRESULT TPM в Winerror.h
- TCG TPM 1.2, часть 2: структуры
- TCG TPM 1.2, часть 3: команды
Нужно найти другой код? Найти другой код состояния или ошибки.