編寫 API 常數的腳本
WMI 會在WMI 腳本 API中,使用方法呼叫的iflags參數中的數種常數。
Visual Basic 應用程式可以包含腳本 API 的型別程式庫 Wbemdisp.tlb。 除非 < 腳本使用 Windows 腳本主機中的 REFERENCE > 或 < OBJECT > 標籤,否則腳本無法存取型別程式庫中的常數 (WSH) XML 檔案格式,如 使用 WMI 腳本型別程式庫中所述。 否則,腳本必須使用常數的值。
常數
-
定義安全性驗證層級。
-
定義如何執行類別或實例的寫入作業。
-
定義屬性值的有效 CIM 類型。
-
定義物件比較的設定,並由 SWbemObject.CompareTo_使用。
-
定義安全性旗標,當遠端電腦上的 WMI 連線失敗時,用來做為 SWbemLocator.ConnectServer 方法呼叫中的參數。
-
定義可能由 腳本 API 針對 WMI 呼叫傳回的錯誤。
-
定義 SWbemServices.ExecQuery、 SWbemServices.ExecQueryAsync、 SWbemServices.SubclassesOf和 SWbemServices.InstancesOf所使用的常數。
-
定義安全性模擬層級。 這些常數會搭配 SWbemSecurity使用。
-
定義SWbemObjectEx.GetText_要使用的有效物件文字格式。
-
定義許可權。 這些常數會與 SWbemSecurity 搭配使用,以授與某些作業所需的許可權。
-
定義列舉或查詢的深度,以決定呼叫傳回多少物件。
-
定義產生的物件文字內容,並由 SWbemObject.GetObjectText_使用。
-
定義逾時常數。 SWbemEventSource.NextEvent會使用此常數。
合併旗標
您可以結合旗標,以影響 API 呼叫的多個層面。
例如,若要建立半同步呼叫,SWbemServices.ExecQuery_呼叫中的iFlags參數必須包含兩個旗標:WbemFlagReturnImmediately和WbemFlagForwardOnly。 WbemFlagReturnImmediately的值是 16,WbemFlagForwardOnly的值是 32。 由於無法依名稱存取常數,因此會結合這些旗標的值,產生 48 的 iFlags 值。
下列腳本範例顯示呼叫。
On Error Resume Next
For Each obj in GetObject("WinMgmts:").ExecQuery _
("SELECT * FROM Win32_NTLogEvent WHERE _ LogFile='Application'",,48)
count = count + 1
Next
並非所有旗標都可以合併,因為許多旗標互斥,而且可能會產生無法預測的結果。
相關主題