API-konstanter för skript
WMI använder flera typer av konstanter i iflags parameter för metodanrop i Scripting API för WMI.
Visual Basic-program kan innehålla typbiblioteket för skript-API:et Wbemdisp.tlb. Skript kan inte komma åt konstanter i typbiblioteket om de inte använder <REFERENCE-> eller <OBJECT> taggar från XML-filformatet för Windows Script Host (WSH) enligt beskrivningen i Using the WMI Scripting Type Library. Annars måste ett skript använda värdet för konstanten.
Konstanter
-
Definiera säkerhetsautentiseringsnivåer.
-
Definiera hur en skrivåtgärd till en klass eller en instans utförs.
-
Definiera giltiga CIM-typer av ett egenskapsvärde.
-
Definiera inställningarna för objektjämförelse och används av SWbemObject.CompareTo_.
-
Definierar en säkerhetsflagga som används som en parameter i anrop till metoden SWbemLocator.ConnectServer när en anslutning till WMI på en fjärrdator misslyckas.
-
Definiera de fel som kan returneras av Skript-API för WMI--anrop.
-
Definierar konstanter som används av SWbemServices.ExecQuery, SWbemServices.ExecQueryAsync, SWbemServices.SubclassesOfoch SWbemServices.InstancesOf.
-
Definiera nivåerna för säkerhetspersonifiering. Dessa konstanter används med SWbemSecurity.
-
Definiera de giltiga objekttextformat som ska användas av SWbemObjectEx.GetText_.
-
Definiera behörigheter. Dessa konstanter används med SWbemSecurity för att bevilja de behörigheter som krävs för vissa åtgärder.
-
Definiera uppräknings- eller frågedjupet, som avgör hur många objekt som returneras av ett anrop.
-
Definierar innehållet i genererad objekttext och används av SWbemObject.GetObjectText_.
-
Definierar timeout-konstanterna. Den här konstanten används av SWbemEventSource.NextEvent.
Kombinera flaggor
Du kan kombinera flaggor för att påverka mer än en aspekt av API-anropet.
Om du till exempel vill skapa ett semisynkront-anrop måste parametern iFlags i ett SWbemServices.ExecQuery_-anrop innehålla två flaggor: WbemFlagReturnImmediately och WbemFlagForwardOnly. Värdet för WbemFlagReturnImmediately är 16 och värdet för WbemFlagForwardOnly är 32. Eftersom konstanterna inte kan nås med namn kombineras värdena för dessa flaggor, vilket ger en iFlags värdet 48.
Följande skriptexempel visar anropet.
On Error Resume Next
For Each obj in GetObject("WinMgmts:").ExecQuery _
("SELECT * FROM Win32_NTLogEvent WHERE _ LogFile='Application'",,48)
count = count + 1
Next
Alla flaggor kan inte kombineras eftersom många är ömsesidigt uteslutande och kan ge oförutsägbara resultat.
Relaterade ämnen