Freigeben über


Tbsip_Submit_Command-Funktion (tbs.h)

Sendet einen TPM-Befehl (Trusted Platform Module) zur Verarbeitung an TPM Base Services (TBS).

Syntax

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

Parameter

[in] hContext

Das Handle des Kontexts, der den Befehl übermittelt.

[in] Locality

Wird verwendet, um die Lokalität für den TPM-Befehl festzulegen. Dies muss einer der folgenden Werte sein.

Wert Bedeutung
TBS_COMMAND_LOCALITY_ZERO
0 (0x0)
Lokalität 0. Dies ist der einzige Derzeit unterstützte Ort.
TBS_COMMAND_LOCALITY_ONE
1 (0x1)
Lokalität 1.
TBS_COMMAND_LOCALITY_TWO
2 (0x2)
Standort zwei.
TBS_COMMAND_LOCALITY_THREE
3 (0x3)
Lokalität drei.
TBS_COMMAND_LOCALITY_FOUR
4 (0x4)
Lokalität vier.

[in] Priority

Die Prioritätsebene, die der Befehl haben sollte. Dieser Parameter kann einen der folgenden Werte annehmen.

Wert Bedeutung
TBS_COMMAND_PRIORITY_LOW
100 (0x64)
Wird für die Verwendung von Anwendungen mit niedriger Priorität verwendet.
TBS_COMMAND_PRIORITY_NORMAL
200 (0xC8)
Wird für die normale Anwendungspriorität verwendet.
TBS_COMMAND_PRIORITY_SYSTEM
400 (0x190)
Wird für Systemaufgaben verwendet, die auf das TPM zugreifen.
TBS_COMMAND_PRIORITY_HIGH
300 (0x12C)
Wird für die Verwendung von Anwendungen mit hoher Priorität verwendet.
TBS_COMMAND_PRIORITY_MAX
2147483648 (0x80000000)
Wird für Aufgaben verwendet, die aus dem Energieverwaltungssystem stammen.

[in] pabCommand

Ein Zeiger auf einen Puffer, der den zu verarbeitenden TPM-Befehl enthält.

[in] cbCommand

Die Länge des Befehls in Bytes.

[out] pabResult

Ein Zeiger auf einen Puffer, um das Ergebnis des TPM-Befehls zu empfangen. Dieser Puffer kann mit pabCommand identisch sein.

[in, out] pcbResult

Eine ganze Zahl, die bei der Eingabe die Größe des Ergebnispuffers in Bytes angibt. Dieser Wert wird festgelegt, wenn der Befehl submit zurückgibt. Wenn der angegebene Puffer zu klein ist, wird dieser Parameter bei der Ausgabe auf die erforderliche Größe (in Bytes) für das Ergebnis festgelegt.

Rückgabewert

Wenn die Funktion erfolgreich ist, gibt die Funktion TBS_SUCCESS zurück.

Ein Befehl kann erfolgreich übermittelt werden und schlägt weiterhin beim TPM fehl. In diesem Fall wird der Fehlercode als TPM-Standardfehler im Ergebnispuffer zurückgegeben.

Wenn die Funktion fehlschlägt, gibt sie einen TBS-Rückgabecode zurück, der den Fehler angibt.

Rückgabecode/-wert BESCHREIBUNG
TBS_SUCCESS
0 (0x0)
Die Funktion war erfolgreich.
TBS_E_BAD_PARAMETER
2150121474 (0x80284002)
Mindestens ein Parameterwert ist ungültig.
TBS_E_BUFFER_TOO_LARGE
2150121486 (0x8028400E)
Der Eingabe- oder Ausgabepuffer ist zu groß.
TBS_E_INTERNAL_ERROR
2150121473 (0x80284001)
Interner Softwarefehler.
TBS_E_INSUFFICIENT_BUFFER
2150121477 (0x80284005)
Der angegebene Ausgabepuffer ist zu klein.
TBS_E_INVALID_CONTEXT
2150121476 (0x80284004)
Das angegebene Kontexthandle verweist nicht auf einen gültigen Kontext.
TBS_E_INVALID_OUTPUT_POINTER
2150121475 (0x80284003)
Ein angegebener Ausgabezeiger ist ungültig.
TBS_E_IOERROR
2150121478 (0x80284006)
Bei der Kommunikation mit dem TPM ist ein Fehler aufgetreten.

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista [nur Desktop-Apps]
Unterstützte Mindestversion (Server) Windows Server 2008 [nur Desktop-Apps]
Zielplattform Windows
Kopfzeile tbs.h
Bibliothek Tbs.lib
DLL Tbs.dll