função Tbsip_Submit_Command (tbs.h)

Envia um comando TPM (Trusted Platform Module) para o TBS (Serviços Base do TPM) para processamento.

Sintaxe

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
);

Parâmetros

[in] hContext

O identificador do contexto que está enviando o comando.

[in] Locality

Usado para definir a localidade do comando TPM. Esse deve ser um dos valores a seguir.

Valor Significado
TBS_COMMAND_LOCALITY_ZERO
0 (0x0)
Localidade zero. Essa é a única localidade com suporte no momento.
TBS_COMMAND_LOCALITY_ONE
1 (0x1)
Localidade um.
TBS_COMMAND_LOCALITY_TWO
2 (0x2)
Localidade dois.
TBS_COMMAND_LOCALITY_THREE
3 (0x3)
Localidade três.
TBS_COMMAND_LOCALITY_FOUR
4 (0x4)
Localidade quatro.

[in] Priority

O nível de prioridade que o comando deve ter. Esse parâmetro pode usar um dos valores a seguir.

Valor Significado
TBS_COMMAND_PRIORITY_LOW
100 (0x64)
Usado para uso de aplicativo de baixa prioridade.
TBS_COMMAND_PRIORITY_NORMAL
200 (0xC8)
Usado para uso de aplicativo de prioridade normal.
TBS_COMMAND_PRIORITY_SYSTEM
400 (0x190)
Usado para tarefas do sistema que acessam o TPM.
TBS_COMMAND_PRIORITY_HIGH
300 (0x12C)
Usado para uso de aplicativos de alta prioridade.
TBS_COMMAND_PRIORITY_MAX
2147483648 (0x80000000)
Usado para tarefas originadas do sistema de gerenciamento de energia.

[in] pabCommand

Um ponteiro para um buffer que contém o comando TPM a ser processado.

[in] cbCommand

O comprimento, em bytes, do comando .

[out] pabResult

Um ponteiro para um buffer para receber o resultado do comando TPM. Esse buffer pode ser o mesmo que pabCommand.

[in, out] pcbResult

Um inteiro que, na entrada, especifica o tamanho, em bytes, do buffer de resultados. Esse valor é definido quando o comando submit retorna. Se o buffer fornecido for muito pequeno, esse parâmetro, na saída, será definido como o tamanho necessário, em bytes, para o resultado.

Retornar valor

Se a função for bem-sucedida, a função retornará TBS_SUCCESS.

Um comando pode ser enviado com êxito e ainda falhar no TPM. Nesse caso, o código de falha é retornado como um erro TPM padrão no buffer de resultados.

Se a função falhar, ela retornará um código de retorno de TBS que indica o erro.

Valor/código retornado Descrição
TBS_SUCCESS
0 (0x0)
A função foi bem-sucedida.
TBS_E_BAD_PARAMETER
2150121474 (0x80284002)
Um ou mais valores de parâmetro não são válidos.
TBS_E_BUFFER_TOO_LARGE
2150121486 (0x8028400E)
O buffer de entrada ou saída é muito grande.
TBS_E_INTERNAL_ERROR
2150121473 (0x80284001)
Ocorreu um erro interno de software.
TBS_E_INSUFFICIENT_BUFFER
2150121477 (0x80284005)
O buffer de saída especificado é muito pequeno.
TBS_E_INVALID_CONTEXT
2150121476 (0x80284004)
O identificador de contexto especificado não se refere a um contexto válido.
TBS_E_INVALID_OUTPUT_POINTER
2150121475 (0x80284003)
Um ponteiro de saída especificado não é válido.
TBS_E_IOERROR
2150121478 (0x80284006)
Ocorreu um erro durante a comunicação com o TPM.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows Vista [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows Server 2008 [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho tbs.h
Biblioteca Tbs.lib
DLL Tbs.dll