TdhEnumerateProviders 函数 (tdh.h)

检索计算机上已注册的所有提供程序的列表。

语法

TDHSTATUS TdhEnumerateProviders(
  [out]     PPROVIDER_ENUMERATION_INFO pBuffer,
  [in, out] ULONG                      *pBufferSize
);

参数

[out] pBuffer

在计算机上公开定义其事件的提供程序数组。 有关详细信息,请参阅 PROVIDER_ENUMERATION_INFO 结构。

[in, out] pBufferSize

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

返回值

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

返回代码 说明
ERROR_INSUFFICIENT_BUFFER pBuffer 缓冲区的大小太小。 使用 pBufferSize 中设置的所需缓冲区大小来分配新缓冲区。
ERROR_INVALID_PARAMETER 一个或多个参数无效。

注解

调用 TdhEnumerateProvidersForDecodingSource 函数 以检索计算机上已注册 MOF 类或清单文件的提供程序的列表。

由于注册的事件提供程序的数量可能会在调用此函数之间波动,因此应将此函数置于循环中,直到返回的值不再ERROR_INSUFFICIENT_BUFFER。

示例

有关演示如何枚举提供程序的示例,请参阅 枚举提供程序

要求

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

另请参阅

TdhEnumerateProviderFieldInformation