调用 SetupWriteTextLogInfLine

应用程序可以调用 SetupWriteTextLogInfLine,以在 SetupAPI 文本日志中写入包含指定 INF 文件行文本的日志条目。

若要调用 SetupWriteTextLogInfLine,应用程序提供以下信息:

  • 通过调用 SetupGetThreadLogToken 或系统定义的日志令牌之一获取的文本日志日志中的节的日志令牌 如果日志令牌与文本日志部分相关联, 则 SetupWriteTextLogInfLine 将写入该节中的日志条目。 否则, SetupWriteTextLogInfLine 会将日志条目添加到文本日志部分不包含的日志部分。

    此外,SetupWriteTextLogInfLine 是否写入日志条目,以及 SetupWriteTextLogInfLine 写入条目的文本日志是否取决于系统定义的日志令牌值。

    有关日志令牌的详细信息,请参阅 设置和获取线程的日志令牌。

  • 一个标志值,该值是系统定义的常量(按位 OR)指定事件级别、缩进深度以及是否包含时间戳。 在设置文本日志的事件级别中介绍了事件级别。

    如果为文本日志设置的事件级别大于或等于条目的事件级别, SetupWriteTextLogInfLine 将在文本日志中写入日志条目。 否则, SetupWriteTextLogInfLine 不会在文本日志中写入日志条目。 通过使用缩进,可以排列带格式的消息,使节中的信息更易于阅读和理解。

    有关详细信息,请参阅 写入缩进日志条目。

  • 包含 INF 文件行的 INF 文件的句柄。

  • INF 文件行的上下文。

SetupWriteTextLogInfLine 采用以下格式写入日志条目:

entry_prefix time_stamp inf:indentation inf-line-text inf-file-name line-number)

其中:

  • entry_prefix时间戳缩进字段与文本日志节正文格式中所述的字段相同。

  • inf 字段指定TXTLOG_INF事件类别。 在为文本日志启用事件类别中介绍了事件类别。

  • inf-line-text 字段包含指定 INF 文件行的文本。

  • inf-file-name 字段包含包含指定 INF 文件行的 INF 文件的名称。

  • 字段指示下面的行 号是 INF 文件中的行号。

  • 行号字段包含 INF 文件中指定行的行号。

以下示例演示应用程序通常如何在文本日志中记录 INF 行的文本。 此示例中的 INF 行是 INF AddReg 行。 应用程序调用 SetupWriteTextLogInfLine,并提供以下输入参数值:

  • LogToken 设置为 SetupGetThreadLogToken 返回的日志令牌或系统定义的日志令牌

  • LogFlags 设置为TXTLOG_DETAILS。 此示例不包括时间戳或更改缩进深度。 在此示例中,缩进深度为五个单空间文本空格。

  • InfHandle 设置为 INF 文件 hidserv.inf 的句柄。 通过调用 Platform SDK 中记录的 SetupOpenInfFile 函数来获取此句柄。

  • 上下文 设置为 INF 文件行的 INF 文件上下文,其中包含文本“AddReg=HidServ_AddService_AddReg”。通过调用 Platform SDK 中记录的 SetupFindXxxLine 函数来获取行的 INF 文件上下文。

LogToken 和 LogFlags 的值以与 SetupWriteTextLog 中所述的方式影响 SetupWriteTextLogInfLine 的操作 此外, SetupWriteTextLogInfLine 使用事件目录TXTLOG_INF。

对于此示例,下面显示了 SetupWriteTextLogInfLine 将写入文本日志的日志条目的类型:

   inf:      AddReg=HidServ_AddService_AddReg  (hidserv.inf line 98)