PdhVbOpenLog 函数
PdhVbOpenLog 函数打开指定的日志文件进行读取和写入。 此函数调用 PdhOpenLog。
重要
本主题介绍的函数将来可能会更改或不可用。 相反,Microsoft 建议使用 性能计数器函数中所述的函数。
函数 PdhVbOpenLog ( _ ByVal szLogFileName As LPCTSTR, _ ByVal dwAccessFlags As DWORD, _ ByVal lpdwLogType As LPDWORD, _ ByVal hQuery As PDH_HQUERY, _ ByVal dwMaxSize As DWORD, _ ByVal szUserCaption As LPCSTR, _ ByRef phLog As PDH_HLOG _ ) As DWORD
参数
-
szLogFileName [in]
-
指向指定要打开的日志文件名称的字符串的指针。
如果日志文件包含 SQL 数据,则日志文件的名称格式为 **SQL:DataSourceName!**LogFileName。 在这种情况下, lpdwLogType 参数的值PDH_LOG_TYPE_SQL。
-
dwAccessFlags [in]
-
打开日志文件时要指定的访问类型。 此参数的取值可为下列值之一:
值 含义 - PDH_LOG_READ_ACCESS
为读取操作打开日志文件。 - PDH_LOG_WRITE_ACCESS
为写入操作打开新的日志文件。 - PDH_LOG_UPDATE_ACCESS
为写入操作打开现有的日志文件。 可以使用 OR 运算符和以下创建访问标志之一组合从上表中选择的值。
值 含义 - PDH_LOG_CREATE_NEW
将创建具有指定名称的新日志文件。 - PDH_LOG_CREATE_ALWAYS
将创建具有指定名称的新日志文件,并清除所有具有相同名称的现有日志文件。 - PDH_LOG_OPEN_EXISTING
打开具有指定名称的现有日志文件。 如果不存在具有指定名称的日志文件,则这等于PDH_LOG_CREATE_NEW。 - PDH_LOG_OPEN_ALWAYS
打开具有指定名称的现有日志文件,或创建具有指定名称的新日志文件。 -
lpdwLogType [in]
-
指向变量的指针,该变量指示要打开的日志文件的类型。 此参数的取值可为下列值之一:
值 含义 - PDH_LOG_TYPE_UNDEFINED
未定义的日志文件格式。 - PDH_LOG_TYPE_CSV
包含第一行中的列标题的文本文件,以及每个后续行中的各个数据示例。 - PDH_LOG_TYPE_SQL
日志文件中的数据位于 SQL 中。 - PDH_LOG_TYPE_TSV
与 PDH_LOG_TYPE_CSV 相同。 - PDH_LOG_TYPE_BINARY
二进制日志文件格式。 包括循环日志文件。 - PDH_LOG_TYPE_PERFMON
Perfmon 日志文件格式。 -
hQuery [in]
-
查询句柄。 此句柄由 PdhVbOpenQuery 函数返回。
如果要打开日志文件进行读取,则此参数可以为 NULL 。
-
dwMaxSize [in]
-
日志文件的最大大小(以字节为单位)。 仅当日志文件是限制大小或循环日志文件时,才使用此值。
-
szUserCaption [in]
-
指向指定日志文件的用户定义描述文字的字符串的指针。 日志文件描述文字通常描述日志文件的内容。 打开现有日志文件时,将忽略此参数的值。
-
phLog [in, ref]
-
指向接收打开的日志文件句柄的缓冲区的指针。
返回值
如果该函数成功,则返回 0。
如果函数失败,则返回值为 系统错误代码 或 PDH 错误代码。 以下是可能的值。
返回代码 | 说明 |
---|---|
|
请求的数据大于提供的缓冲区。 无法返回请求的数据。 |
|
一个或多个字符串缓冲区的大小不正确。 |
|
句柄不是有效的 PDH 对象。 |
|
无法打开指定的日志文件。 |
|
找不到指定的文件。 |
备注
使用此函数将性能数据写入日志文件时,必须先使用 PdhVbOpenQuery 打开查询。
在调用此函数之前,必须有当前打开的查询,并且必须向其中添加所需的计数器。
请注意,Perfmon 格式的日志文件只能打开以供读取。
要求
要求 | 值 |
---|---|
最低受支持的客户端 |
Windows XP [仅限桌面应用] |
最低受支持的服务器 |
Windows Server 2003 [仅限桌面应用] |
库 |
|
DLL |
|