Что означает код HRESULT 0x80284003 (TBS_E_INVALID_OUTPUT_POINTER)?

 
Предыдущий Следующий
TBS_E_BAD_PARAMETER TBS_E_INVALID_CONTEXT

TBS_E_INVALID_OUTPUT_POINTER

Состояние объекта

Для TBS_E_INVALID_OUTPUT_POINTER (0X80284003) рабочая граница — неверный / выходной / указатель. Код относится к TPM Base Services (TBS), scheduler и resource virtualization. Сохраняйте первый native return и identity объекта: именно они определяют, проверяется ли здесь input, capability, ownership, lifecycle или transport.

Публичный TBS API, внутренний TBSIMP scheduler и ответ TPM — три разных уровня. Первый вернувший ошибку определяет владельца исправления.

Фрагменты исходного EN-описания

  • TBS_E_INSUFFICIENT_BUFFER means the output pointer is usable but its capacity is too small.
  • Use a stack or heap buffer with explicit lifetime and a valid size variable in a minimal call.
  • Correct the original boundary by choosing this direction: repair pointer ownership and writable buffer lifetime; no TPM reset can correct an invalid caller address.
  • The base What Is page already shows the short Windows message; the additional diagnostic value is that this result marks the public TBS call cannot write its required result because an output pointer is null, invalid or not writable .

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

  • TBS context handle, client identity и service state.
  • input/output buffer sizes и command ordinal.
  • scheduler/resource counts и первый native TBS result.

Размеры input/output buffer, context handle и service state фиксируйте до повторного Submit_Command/Context_Create, иначе boundary между validation и transport потеряется.

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

В failing trace найдите поле или state, которое непосредственно соответствует «неверный / выходной / указатель». В working trace той же операции оно должно отличаться, а остальные аргументы оставаться сопоставимыми.

Отделите public TBS API contract «неверный / выходной / указатель» от внутреннего TBSIMP mapping и от TPM command response. Это разные уровни, даже когда они видны в одном stack.

Повтор операции

Исправьте параметры public TBS call или дождитесь доступного scheduler/service state. После исправления создайте корректный TBS context при необходимости и повторите одну команду.

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


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