Next 函式
擷取列舉中以呼叫 BeginEnumeration 開頭的下一個屬性。
注意
此 API 僅供內部使用。 不是要讓您在開發人員程式碼中使用。
語法
HRESULT Next (
[in] int vFunc,
[in] IWbemClassObject* ptr,
[in] LONG lFlags,
[out] BSTR* pstrName,
[out] VARIANT* pVal,
[out] CIMTYPE* pvtType,
[out] LONG* plFlavor
);
參數
vFunc
[in] 此參數未使用。
ptr
[in] IWbemClassObject 執行個體的指標。
lFlags
[in] 保留。 這個參數必須是 0。
pstrName
[out] 包含屬性名稱的新 BSTR
。 如果不需要名稱,則可以將此參數設定為 null
。
pVal
[out] 填入了屬性值的 VARIANT
。 如果不需要值,則可以將此參數設定為 null
。 如果函式傳回錯誤碼,傳遞至 pVal
的 VARIANT
會保持未修改狀態。
pvtType
[out] CIMTYPE
變數的指標 (屬性型別放置所在的 LONG
)。 這個屬性的值可以是 VT_NULL_VARIANT
,在此情況下,就必須判斷屬性的實際型別。 此參數也可以 null
。
plFlavor
[out] null
,或是會接收屬性來源相關資訊的值。 如需了解可能的值,請參閱<備註>一節。
傳回值
此函式傳回的下列值定義於 WbemCli.h 標頭檔中,或者,您可以將其定義為程式碼中的常數:
常數 | 值 | 描述 |
---|---|---|
WBEM_E_FAILED |
0x80041001 | 發生一般失敗。 |
WBEM_E_INVALID_PARAMETER |
0x80041008 | 有一個參數無效。 |
WBEM_E_UNEXPECTED |
0x8004101d | 沒有任何 BeginEnumeration 函式呼叫。 |
WBEM_E_OUT_OF_MEMORY |
0x80041006 | 記憶體不足,無法開始新列舉。 |
WBEM_E_TRANSPORT_FAILURE |
0x80041015 | 目前處理序和 Windows Management 之間的遠端程序呼叫失敗。 |
WBEM_S_NO_ERROR |
0 | 函式呼叫成功。 |
WBEM_S_NO_MORE_DATA |
0x40005 | 列舉中已沒有其他屬性。 |
備註
此函式會包裝向 IWbemClassObject::Next 方法發出的呼叫。
這個方法也會傳回系統屬性。
如果屬性的基礎型別是物件路徑、日期或時間,或其他特殊型別,則傳回的型別未包含足夠資訊。 呼叫端必須檢查 CIMTYPE
的指定屬性,以判斷屬性是物件參考、日期或時間,還是其他特殊型別。
如果 plFlavor
不是 null
,則 LONG
值會接收屬性來源的相關資訊,如下所示:
常數 | 值 | 描述 |
---|---|---|
WBEM_FLAVOR_ORIGIN_SYSTEM |
0x40 | 屬性是標準系統屬性。 |
WBEM_FLAVOR_ORIGIN_PROPAGATED |
0x20 | 針對類別:屬性繼承自父類別。 針對執行個體:繼承自父類別的屬性尚未由執行個體修改。 |
WBEM_FLAVOR_ORIGIN_LOCAL |
0 | 針對類別:屬性屬於衍生類別。 針對執行個體:屬性由執行個體修改;也就是說,有提供值,或已新增或修改限定詞。 |
規格需求
平台:請參閱系統需求。
標頭:WMINet_Utils.idl
.NET Framework版本:自 4.7.2 起提供