IWbemServices::D eleteInstance 方法 (wbemcli.h)

IWbemServices::D eleteInstance 方法會刪除目前命名空間中現有類別的實例。

語法

HRESULT DeleteInstance(
  [in]  const BSTR      strObjectPath,
  [in]  long            lFlags,
  [in]  IWbemContext    *pCtx,
  [out] IWbemCallResult **ppCallResult
);

參數

[in] strObjectPath

包含要刪除之實例之物件路徑的有效 BSTR 。

[in] lFlags

下列其中一個值有效。

WBEM_FLAG_RETURN_IMMEDIATELY

此旗標會使此為半異步呼叫。 如需詳細資訊,請參閱 呼叫方法。

[in] pCtx

通常為 NULL。 否則,這是 IWbemContext 物件的指標,可供刪除實例的提供者使用。 內容物件中的值必須在有問題的提供者檔中指定。

[out] ppCallResult

如果為 NULL,則不會使用此參數。 如果指定 ppCallResult ,則必須將它設定為在進入時指向 NULL 。 如果 lFlags 參數包含 WBEM_FLAG_RETURN_IMMEDIATELY,此呼叫會立即傳回 WBEM_S_NO_ERROR。 ppCallResult 參數會接收新 IWbemCallResult 物件的指標,然後可以使用 GetCallStatus 方法輪詢以取得結果。

傳回值

這個方法會傳回 HRESULT ,指出方法呼叫的狀態。 下列清單列出 HRESULT 中包含的值。

失敗時,您可以從 COM 函式 GetErrorInfo 取得任何可用資訊。

如果網路問題造成您失去 Windows 管理遠端連線,也可能傳回 COM 特定的錯誤碼。

備註

呼叫 IWbemServices::D eleteInstance 方法,以刪除目前命名空間中的現有實例。 無法刪除其他命名空間中的實例。 呼叫 DeleteInstance 以刪除屬於階層中類別的實例時,Windows 管理會針對負責階層中非抽象類別的所有提供者呼叫 DeleteInstanceAsync 方法。 也就是說,如果 strObjectPath 參數識別 ClassB 的實例,而 ClassB 衍生自 ClassA、非抽象類別,而且是 ClassC 和 ClassD 的父類別,也會呼叫所有四個類別的提供者。

Windows 管理會使用修改為指向其類別的物件路徑呼叫每個提供者。 例如,如果原始呼叫的 strObjectPath 設定為 “ClassB.k=1”,則對 ClassA 提供者的呼叫會將 strObjectPath 設定為 “ClassA.k=1”。

DeleteInstance 呼叫的成功取決於對最上層非抽象類別提供者的DeleteInstanceAsync呼叫成功。 非抽象類具有抽象類做為其父系。 如果任一這類類別的提供者成功,作業就會成功;如果所有這類類別都失敗,作業就會失敗。

例如,假設 ClassX 是下列階層的基類:

  1. ClassA 衍生自 ClassX。
  2. ClassB 衍生自 ClassA。
  3. ClassC 和 ClassD 衍生自 ClassB。
如果 ClassX 是階層中唯一的抽象類,而 DeleteInstance 中的 strObjectPath 參數指向 ClassB 的實例,則只有 ClassA 的提供者必須成功進行 DeleteInstanceAsync 呼叫。

如果 ClassX、ClassA 和 ClassB 全都是抽象的,而且 DeleteInstance 中的 strObjectPath 參數指向 ClassB 的實例,則 ClassC 的提供者或 ClassD 的提供者都必須成功。

規格需求

需求 值
最低支援的用戶端 Windows Vista
最低支援的伺服器 Windows Server 2008
目標平台 Windows
標頭 wbemcli.h (包含 Wbemidl.h)
程式庫 Wbemuuid.lib
Dll Fastprox.dll;Esscli.dll;FrameDyn.dll;FrameDynOS.dll;Ntevt.dll;Stdprov.dll;Viewprov.dll;Wbemcomn.dll;Wbemcore.dll;Wbemess.dll;Wbemsvc.dll;Wmipicmp.dll;Wmidcprv.dll;Wmipjobj.dll;Wmiprvsd.dll

另請參閱

描述實例對象路徑

IWbemCallResult

IWbemServices

IWbemServices::D eleteInstanceAsync

擷取錯誤碼