Partager via


Tbsip_Submit_Command, fonction (tbs.h)

Envoie une commande de module de plateforme sécurisée (TPM) aux services de base du module de plateforme sécurisée (TBS) pour traitement.

Syntaxe

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

Paramètres

[in] hContext

Handle du contexte qui envoie la commande.

[in] Locality

Permet de définir la localité de la commande TPM. Il doit s’agir de l’une des valeurs suivantes.

Valeur Signification
TBS_COMMAND_LOCALITY_ZERO
0 (0x0)
Localité zéro. Il s’agit de la seule localité actuellement prise en charge.
TBS_COMMAND_LOCALITY_ONE
1 (0x1)
Localité 1.
TBS_COMMAND_LOCALITY_TWO
2 (0x2)
Localité 2.
TBS_COMMAND_LOCALITY_THREE
3 (0x3)
Localité 3.
TBS_COMMAND_LOCALITY_FOUR
4 (0x4)
Localité quatre.

[in] Priority

Niveau de priorité que la commande doit avoir. Ce paramètre peut prendre les valeurs suivantes.

Valeur Signification
TBS_COMMAND_PRIORITY_LOW
100 (0x64)
Utilisé pour une utilisation d’application de faible priorité.
TBS_COMMAND_PRIORITY_NORMAL
200 (0xC8)
Utilisé pour une utilisation d’application de priorité normale.
TBS_COMMAND_PRIORITY_SYSTEM
400 (0x190)
Utilisé pour les tâches système qui accèdent au module de plateforme sécurisée.
TBS_COMMAND_PRIORITY_HIGH
300 (0x12C)
Utilisé pour l’utilisation d’applications de priorité élevée.
TBS_COMMAND_PRIORITY_MAX
2147483648 (0x80000000)
Utilisé pour les tâches qui proviennent du système de gestion de l’alimentation.

[in] pabCommand

Pointeur vers une mémoire tampon qui contient la commande TPM à traiter.

[in] cbCommand

Longueur, en octets, de la commande.

[out] pabResult

Pointeur vers une mémoire tampon pour recevoir le résultat de la commande TPM. Cette mémoire tampon peut être identique à pabCommand.

[in, out] pcbResult

Entier qui, à l’entrée, spécifie la taille, en octets, de la mémoire tampon de résultats. Cette valeur est définie lorsque la commande d’envoi est retournée. Si la mémoire tampon fournie est trop petite, ce paramètre, sur la sortie, est défini sur la taille requise, en octets, pour le résultat.

Valeur retournée

Si la fonction réussit, la fonction retourne TBS_SUCCESS.

Une commande peut être envoyée avec succès tout en continuant d’échouer au niveau du module de plateforme sécurisée. Dans ce cas, le code d’échec est retourné en tant qu’erreur TPM standard dans la mémoire tampon de résultats.

Si la fonction échoue, elle retourne un code de retour TBS qui indique l’erreur.

Code/valeur de retour Description
TBS_SUCCESS
0 (0x0)
La fonction a réussi.
TBS_E_BAD_PARAMETER
2150121474 (0x80284002)
Une ou plusieurs valeurs de paramètre ne sont pas valides.
TBS_E_BUFFER_TOO_LARGE
2150121486 (0x8028400E)
La mémoire tampon d’entrée ou de sortie est trop grande.
TBS_E_INTERNAL_ERROR
2150121473 (0x80284001)
Une erreur interne du logiciel s'est produite.
TBS_E_INSUFFICIENT_BUFFER
2150121477 (0x80284005)
La mémoire tampon de sortie spécifiée est trop petite.
TBS_E_INVALID_CONTEXT
2150121476 (0x80284004)
Le handle de contexte spécifié ne fait pas référence à un contexte valide.
TBS_E_INVALID_OUTPUT_POINTER
2150121475 (0x80284003)
Un pointeur de sortie spécifié n’est pas valide.
TBS_E_IOERROR
2150121478 (0x80284006)
Une erreur s’est produite lors de la communication avec le module de plateforme sécurisée.

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista [applications de bureau uniquement]
Serveur minimal pris en charge Windows Server 2008 [applications de bureau uniquement]
Plateforme cible Windows
En-tête tbs.h
Bibliothèque Tbs.lib
DLL Tbs.dll