int tpm_comm_submit_command()

in src/tpm_comm_win32.c [137:161]


int tpm_comm_submit_command(TPM_COMM_HANDLE handle, const unsigned char* cmd_bytes, uint32_t bytes_len, unsigned char* response, uint32_t* resp_len)
{
    int result;
    if (handle == NULL || cmd_bytes == NULL || response == NULL || resp_len == NULL)
    {
        LogError("Invalid argument specified handle: %p, cmd_bytes: %p, response: %p, resp_len: %p.", handle, cmd_bytes, response, resp_len);
        result = MU_FAILURE;
    }
    else
    {
        TBS_RESULT tbs_res;
        tbs_res = Tbsip_Submit_Command(handle->tbs_context, TBS_COMMAND_LOCALITY_ZERO, TBS_COMMAND_PRIORITY_NORMAL,
            cmd_bytes, bytes_len, response, resp_len);
        if (tbs_res != TBS_SUCCESS)
        {
            LogError("Failure sending command to tpm %s.", get_tbsi_error_msg(tbs_res));
            result = MU_FAILURE;
        }
        else
        {
            result = 0;
        }
    }
    return result;
}