Share via


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
程式庫 Tdh.lib
Dll Tdh.dll

另請參閱

TdhEnumerateProviderFieldInformation