Tbsi_Get_TCG_Logs function

Get one or more Windows Boot Configuration Logs (WBCL), also referred to as the TCG logs.

Syntax

TBS_RESULT WINAPI Tbsi_Get_TCG_Logs(
  _In_      UINT32  firstLog,
  _Out_opt_ UINT32  *pNextLog,
  _Out_     PBYTE   pbOutput,
  _In_      UINT32  cbOutput,
  _Out_     PUINT32 pcbResult,
  _In_      UINT32  dwFlags
);

Parameters

  • firstLog [in]
    Specifies the starting log to retrieve. 0 for the most recent full boot, 1 for the first resume from hibernation after the most recent full boot, and so on.

  • *pNextLog [out, optional]
    A pointer to a UINT32 variable to receive the number of the next hibernation log to retrieve.

  • pbOutput [out]
    A pointer to the buffer to retrieve the log data.

  • cbOutput [in]
    The size of the pbOutput buffer.

  • pcbResult [out]
    A pointer to a UINT32 variable to receive the number of bytes written to the buffer, or the size of the buffer required.

  • dwFlags [in]
    Specifies whether or not to retrieve all available logs. 0 to retrieve only the first specified log (firstLog), TBS_GET_ALL_LOGS_FLAG to retrieve all available logs starting with the specified first log.

Return value

If the function succeeds, the function returns TBS_SUCCESS.

If the function fails, it returns a TBS return code that indicates the error.

Return code/value Description
TBS_SUCCESS 0 (0x0)

The function was successful.

TBS_E_BAD_PARAMETER 2150121474 (0x80284002)

One or more parameter values are not valid.

TBS_E_TPM_NOT_FOUND 2150121487 (0x8028400F)

A compatible Trusted Platform Module (TPM) Security Device cannot be found on this computer.

 

Remarks

After doing a full boot of a computer with a TPM, then hibernating and resuming the computer several times, call the Tbsi_Get_TCG_Logs functions and pass 0 as the value for the firstLog parameter, NULL for the pbOutput parameter, 0 for the cbOutput parameter, and TBS_GET_ALL_LOGS_FLAG for the dwFlags parameter. The pcbResult output parameter will return the size in bytes of the buffer to allocate to hold all TCG logs since the most recent full boot. Allocate this size buffer, and call Tbsi_Get_TCG_Logs again passing it the buffer pointer for the pbOutput parameter and the buffer size for the cbOutput parameter. Each TCG log will be returned in the buffer separated from the previous log by its length in bytes.

Requirements

Header

Tbs.h

Library

Tbs.lib

DLL

Tbs.dll

See also

Tbsi_Get_TCG_Log

TBS Functions