Поделиться через


Функция Tbsip_Submit_Command (tbs.h)

Отправляет команду доверенного платформенного модуля (TPM) в базовые службы TPM (TBS) для обработки.

Синтаксис

TBS_RESULT Tbsip_Submit_Command(
  [in]      TBS_HCONTEXT         hContext,
  [in]      TBS_COMMAND_LOCALITY Locality,
  [in]      TBS_COMMAND_PRIORITY Priority,
  [in]      PCBYTE               pabCommand,
  [in]      UINT32               cbCommand,
  [out]     PBYTE                pabResult,
  [in, out] PUINT32              pcbResult
);

Параметры

[in] hContext

Дескриптор контекста, который отправляет команду.

[in] Locality

Используется для задания локальности для команды доверенного платформенного модуля. Это должно быть одно из следующих значений.

Значение Значение
TBS_COMMAND_LOCALITY_ZERO
0 (0x0)
Нулевая локализация. Это единственный поддерживаемый в настоящее время населенный пункт.
TBS_COMMAND_LOCALITY_ONE
1 (0x1)
Locality one.
TBS_COMMAND_LOCALITY_TWO
2 (0x2)
Локальная 2.
TBS_COMMAND_LOCALITY_THREE
3 (0x3)
Населенный пункт 3.
TBS_COMMAND_LOCALITY_FOUR
4 (0x4)
Населенный пункт 4.

[in] Priority

Уровень приоритета, который должна иметь команда. Этот параметр может принимать одно из указанных ниже значений.

Значение Значение
TBS_COMMAND_PRIORITY_LOW
100 (0x64)
Используется для использования приложений с низким приоритетом.
TBS_COMMAND_PRIORITY_NORMAL
200 (0xC8)
Используется для использования приложения с обычным приоритетом.
TBS_COMMAND_PRIORITY_SYSTEM
400 (0x190)
Используется для системных задач, которые обращаются к TPM.
TBS_COMMAND_PRIORITY_HIGH
300 (0x12C)
Используется для высокоприоритетного использования приложений.
TBS_COMMAND_PRIORITY_MAX
2147483648 (0x80000000)
Используется для задач, исходящих из системы управления питанием.

[in] pabCommand

Указатель на буфер, содержащий команду TPM для обработки.

[in] cbCommand

Длина команды в байтах.

[out] pabResult

Указатель на буфер для получения результата выполнения команды доверенного платформенного модуля. Этот буфер может совпадать с pabCommand.

[in, out] pcbResult

Целое число, указывающее размер буфера результатов в байтах на входных данных. Это значение задается при возврате команды отправки. Если предоставленный буфер слишком мал, для этого параметра в выходных данных устанавливается требуемый размер результата в байтах.

Возвращаемое значение

Если функция завершается успешно, функция возвращает TBS_SUCCESS.

Команда может быть успешно отправлена и по-прежнему завершается сбоем в доверенном платформенный модуль. В этом случае код сбоя возвращается как стандартная ошибка доверенного платформенного модуля в буфере результатов.

Если функция завершается сбоем, она возвращает код возврата TBS, указывающий на ошибку.

Возвращаемый код/значение Описание
TBS_SUCCESS
0 (0x0)
Функция выполнена успешно.
TBS_E_BAD_PARAMETER
2150121474 (0x80284002)
Одно или несколько значений параметров являются недопустимыми.
TBS_E_BUFFER_TOO_LARGE
2150121486 (0x8028400E)
Входной или выходной буфер слишком велик.
TBS_E_INTERNAL_ERROR
2150121473 (0x80284001)
Внутренняя программная ошибка.
TBS_E_INSUFFICIENT_BUFFER
2150121477 (0x80284005)
Указанный выходной буфер слишком мал.
TBS_E_INVALID_CONTEXT
2150121476 (0x80284004)
Указанный дескриптор контекста не ссылается на допустимый контекст.
TBS_E_INVALID_OUTPUT_POINTER
2150121475 (0x80284003)
Указанный указатель вывода недопустим.
TBS_E_IOERROR
2150121478 (0x80284006)
Произошла ошибка при обмене данными с доверенным платформенный платформой.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header tbs.h
Библиотека Tbs.lib
DLL Tbs.dll