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 |