TdhGetEventMapInformation 函数 (tdh.h)

检索事件中包含的事件映射的相关信息。

语法

TDHSTATUS TdhGetEventMapInformation(
  [in]      PEVENT_RECORD   pEvent,
  [in]      PWSTR           pMapName,
  [out]     PEVENT_MAP_INFO pBuffer,
  [in, out] ULONG           *pBufferSize
);

参数

[in] pEvent

传递给 EventRecordCallback 回调的事件记录。 有关详细信息,请参阅 EVENT_RECORD 结构。

[in] pMapName

以 Null 结尾的 Unicode 字符串,其中包含映射属性值的名称。 该名称来自 EVENT_PROPERTY_INFO 结构的 MapNameOffset 成员。

[out] pBuffer

用户分配的用于接收事件映射的缓冲区。 映射可以是值映射、位图或模式映射。 有关详细信息,请参阅 EVENT_MAP_INFO 结构。

[in, out] pBufferSize

pBuffer 缓冲区的大小(以字节为单位)。 如果函数成功,此参数将接收所用缓冲区的大小。 如果缓冲区太小,该函数将返回ERROR_INSUFFICIENT_BUFFER并将此参数设置为所需的缓冲区大小。 如果输入时缓冲区大小为零,则缓冲区中不返回任何数据,并且此参数接收所需的缓冲区大小。

返回值

如果成功,则返回ERROR_SUCCESS。 否则,除了其他返回代码之外,此函数还返回以下返回代码之一。

返回代码 说明
ERROR_INSUFFICIENT_BUFFER
pBuffer 缓冲区的大小太小。 使用 pBufferSize 中设置的所需缓冲区大小来分配新缓冲区。
ERROR_NOT_FOUND
找不到事件的架构或未找到指定的映射。
ERROR_FILE_NOT_FOUND
清单中的 resourceFileName 属性包含提供程序二进制文件的位置。 注册清单时,该位置将写入注册表。 TDH 无法根据注册的位置找到二进制文件。
ERROR_INVALID_PARAMETER
一个或多个参数无效。
ERROR_WMI_SERVER_UNAVAILABLE
WMI 服务不可用。

注解

不能使用此函数检索 WPP 事件的事件映射信息。

对于清单中定义的映射,字符串将在字符串末尾包含一个空格。 例如,如果值映射到清单中的“Monday”,则字符串将返回为“Monday”。

示例

有关演示如何调用此函数的示例,请参阅 使用 TdhGetProperty 来使用事件数据

要求

要求
最低受支持的客户端 Windows Vista [仅限桌面应用]
最低受支持的服务器 Windows Server 2008 [仅限桌面应用]
目标平台 Windows
标头 tdh.h
Library Tdh.lib
DLL Tdh.dll