SetupWriteTextLog 函数 (setupapi.h)

SetupWriteTextLog 函数在 SetupAPI 文本日志中写入日志条目。

语法

WINSETUPAPI VOID SetupWriteTextLog(
  [in] SP_LOG_TOKEN LogToken,
  [in] DWORD        Category,
  [in] DWORD        Flags,
  [in] PCSTR        MessageStr,
       ...          
);

参数

[in] LogToken

作为系统定义的 日志令牌 或由 SetupGetThreadLogToken 返回的日志令牌。

[in] Category

一个 DWORD 类型的值,指示日志条目的事件类别。 可为日志条目指定的事件类别与可为文本日志启用的事件类别相同。 有关事件类别的列表,请参阅 为 SetupAPI 文本日志启用事件类别

[in] Flags

一个 DWORD 类型的值,它是标志值的按位 OR,指定以下内容:

  • 日志条目的事件级别。 可为日志条目指定的事件级别与可为文本日志启用的事件级别相同。 有关事件级别标志的列表,请参阅 设置 SetupAPI 文本日志的事件级别
  • 是否在日志条目中包含时间戳。 时间戳标志值TXTLOG_TIMESTAMP。
  • 更改部分和当前日志条目的缩进深度(如果有)。 有关如何使用缩进标志的信息,请参阅 编写缩进日志条目

[in] MessageStr

指向以 NULL 结尾的常量字符串的指针,该字符串包含 与 printf 兼容的格式字符串,该字符串指定要包含在日志条目中的格式化消息。 MessageStr 后面的逗号分隔参数列表必须与格式字符串中的格式说明符匹配。

...

一个逗号分隔的参数列表,它与 MessageStr 提供的格式字符串中的格式说明符相匹配。

返回值

备注

如果 LogToken 的值是通过调用 SetupGetThreadLogToken 返回的,并且可以找到相应的文本日志部分, 则 SetupWriteTextLog 将写入该文本日志节中的日志条目。 如果 SetupWriteTextLog 找不到 节, SetupWriteTextLog 将在相应的文本日志中写入日志条目,但不在节中包含日志条目。

如果 LogToken 的值是下表中列出的系统定义日志令牌之一, 则 SetupWriteTextLog 将执行指示该日志令牌的写入操作。

系统定义的日志令牌 写入操作
LOGTOKEN_NOLOG 日志条目不会写入任何文本日志。
LOG_TOKEN_UNSPECIFIED 日志条目将写入应用程序安装文本日志。 日志条目不包含在 文本日志节中。
LOGTOKEN_SETUPAPI_APPLOG 日志条目将写入应用程序安装文本日志。 日志条目不包含在文本日志节中。
LOGTOKEN_SETUPAPI_DEVLOG 日志条目将写入设备安装文本日志。 日志条目不包含在文本日志节中。
 
注意LogToken 的值设置为系统定义的日志令牌之一不会更改线程的当前日志令牌的值。
 
此外,当以下任一项为 true 时, SetupWriteTextLog 不会写入日志条目: 日志条目的最大长度(以字符为单位)为 336。

若要在文本日志中写入有关 SetupAPI 特定错误或 Win32 错误的信息,应用程序可以使用 SetupWriteTextLogError

有关在 SetupAPI 文本日志中写入日志条目的一般信息,请参阅 (Windows Vista 和更高版本的安装程序API 日志记录)

有关 SetupWriteTextLog 操作的详细信息,请参阅 调用 SetupWriteTextLog

有关日志令牌的详细信息,请参阅 日志令牌

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

要求

要求
最低受支持的客户端 在 Windows Vista 和更高版本的 Windows 中可用。
目标平台 桌面
标头 setupapi.h (包括 Setupapi.h)
Library Setupapi.lib
API 集 在 Windows 8) 中引入的 ext-ms-win-setupapi-logging-l1-1-0 (

另请参阅

SetupGetThreadLogToken

SetupWriteTextLogError