EvtGetObjectArrayProperty 函数 (winevt.h)

从数组中的指定对象获取提供程序元数据属性。

语法

BOOL EvtGetObjectArrayProperty(
  [in]  EVT_OBJECT_ARRAY_PROPERTY_HANDLE ObjectArray,
  [in]  DWORD                            PropertyId,
  [in]  DWORD                            ArrayIndex,
  [in]  DWORD                            Flags,
  [in]  DWORD                            PropertyValueBufferSize,
  [in]  PEVT_VARIANT                     PropertyValueBuffer,
  [out] PDWORD                           PropertyValueBufferUsed
);

参数

[in] ObjectArray

EvtGetPublisherMetadataProperty 函数返回的对象数组的句柄。

[in] PropertyId

要从指定对象获取的元数据属性的属性标识符。 有关可能的值,请参阅 EVT_PUBLISHER_METADATA_PROPERTY_ID 的“备注”部分。

[in] ArrayIndex

数组中对象的从零开始的索引。

[in] Flags

保留。 必须为零。

[in] PropertyValueBufferSize

PropertyValueBuffer 缓冲区的大小(以字节为单位)。

[in] PropertyValueBuffer

将接收元数据属性的调用方分配的缓冲区。 缓冲区包含 EVT_VARIANT 对象。 可以将此参数设置为 NULL ,以确定所需的缓冲区大小。

[out] PropertyValueBufferUsed

函数使用的调用方分配的缓冲区的大小(以字节为单位),如果函数失败并出现ERROR_INSUFFICIENT_BUFFER,则为所需的缓冲区大小。

返回值

返回代码/值 说明
TRUE
函数成功。
FALSE
函数失败。 若要获取错误代码,请调用 GetLastError 函数。

注解

使用以下 ID 调用 EvtGetPublisherMetadataProperty 函数时,该函数将返回该类型的对象的数组的句柄:

  • EvtPublisherMetadataChannelReferences
  • EvtPublisherMetadataLevels
  • EvtPublisherMetadataTasks
  • EvtPublisherMetadataOpcodes
  • EvtPublisherMetadataKeywords
例如,如果将 EvtPublisherMetadataKeywords 传递给 EvtGetPublisherMetadataProperty,则函数返回关键字 (keyword) 对象的数组的句柄。

若要确定数组的大小,请调用 EvtGetObjectArraySize 函数。

示例

有关演示如何使用此函数的示例,请参阅 获取提供程序的元数据

要求

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

另请参阅

EVT_PUBLISHER_METADATA_PROPERTY_ID

EvtGetPublisherMetadataProperty