SWbemServices.DeleteAsync 方法

SWbemServices物件的DeleteAsync方法會刪除物件路徑中指定的類別或實例。 DeleteAsync的呼叫會立即傳回,而結果和狀態會透過傳遞至objWbemSink中所指定接收的事件傳回給呼叫端。 如需建立接收的詳細資訊,請參閱 接收 WMI 事件。 您只能刪除所連接之命名空間中的物件。

如果動態提供者提供類別或實例,除非提供者支援類別或實例刪除,否則有時無法刪除此物件。

方法會在非同步模式中呼叫。 如需詳細資訊,請參閱 呼叫方法

如需此語法的說明,請參閱 腳本 API 的檔慣例

語法

SWbemServices.DeleteAsync( _
  [ ByVal ObjWbemSink ], _
  ByVal strObjectPath, _
  [ ByVal iFlags ], _
  [ ByVal objWbemNamedValueSet ], _
  [ ByVal objWbemAsyncContext ] _
)

參數

ObjWbemSink [選擇性]

接收刪除結果的物件接收。 建立 SWbemSink 物件以接收物件。

strObjectPath

必要。 字串,包含您要刪除之物件的物件路徑。 如需詳細資訊,請參閱 描述 WMI 物件的位置

iFlags [選擇性]

判斷是否傳回狀態更新。 此參數可以接受下列值。

wbemFlagSendStatus (128 (0x80) )

導致非同步呼叫將狀態更新傳送至物件接收的 OnProgress 事件處理常式。

wbemFlagDontSendStatus (0 (0x0) )

防止非同步呼叫將狀態更新傳送至物件接收的 OnProgress 事件處理常式。

objWbemNamedValueSet [選擇性]

一般而言,這是未定義的。 否則,這是 SWbemNamedValueSet 物件,其元素代表服務要求的提供者可以使用的內容資訊。 支援或需要這類資訊的提供者必須記載已辨識的值名稱、值的資料類型、允許的值和語意。

objWbemAsyncCoNtext [選擇性]

SWbemNamedValueSet物件,會返回物件接收,以識別原始非同步呼叫的來源。 如果您要使用相同的物件接收進行多個非同步呼叫,請使用此參數。 若要使用此參數,請建立 SWbemNamedValueSet 物件,並使用 SWbemNamedValueSet.Add 方法來新增值,以識別您進行的非同步呼叫。 這個 SWbemNamedValueSet 物件會傳回至物件接收,而且可以使用 SWbemNamedValueSet.Item 方法擷取呼叫的來源。 如需詳細資訊,請參閱 呼叫方法

傳回值

這個方法不會傳回值。 如果呼叫成功,物件接收會收到刪除的通知。

錯誤碼

完成 DeleteAsync 方法之後, Err 物件可能會包含下列清單中的其中一個錯誤碼。

wbemErrFailed - 2147749889 (0x80041001)

未指定的錯誤。

wbemErrInvalidParameter - 2147749896 (0x80041008)

指定了不正確參數。

wbemErrOutOfMemory - 2147749894 (0x80041006)

記憶體不足,無法完成作業。

wbemErrTransportFailure - 2147749909 (0x80041015)

發生網路錯誤,導致無法正常運作。

wbemErrAccessDenied - 2147749891 (0x80041003)

目前或指定的使用者名稱和密碼無效或授權無法進行連線。

wbemErrNotFound - 2147749890 (0x80041002)

找不到要求的專案。

備註

此呼叫會立即傳回。 刪除作業的狀態會透過傳遞至 objWbemSink中指定的接收回呼傳回給呼叫端。 您可以在 objWbemSink實作中執行最終處理。OnCompleted 事件。

非同步回呼可讓未驗證的使用者將資料提供給接收。 這對您的腳本和應用程式造成安全性風險。 若要消除風險,請參閱 在非同步呼叫上設定安全性

規格需求

需求
最低支援的用戶端
Windows Vista
最低支援的伺服器
Windows Server 2008
標頭
Wbemdisp.h
類型程式庫
Wbemdisp.tlb
DLL
Wbemdisp.dll
CLSID
CLSID_SWbemServices
IID
IID_ISWbemServices

另請參閱

SWbemServices

SWbemObjectPath