Delen via


InParameters-objecten maken

Een InParameters-object bevat de lijst met parameters voor het aanroepen van providermethoden bij het gebruik van een ExecMethod type aanroep. De SWbemObject.ExecMethod_, SWbemObject.ExecMethodAsync_, SWbemServices.ExecMethod-en SWbemServices.ExecMethodAsync-methoden vereisen allemaal een InParameters-object.

In de volgende procedure wordt beschreven hoe u een InParameters--object maakt.

De objwbemInParams parameter construeren

  1. Verbinding maken met WMI.

  2. Haal de definitie op van de WMI-klasse die de methode definieert die u wilt uitvoeren.

  3. Haal een InParameters-object op dat specifiek is voor de WMI-klassemethode die u wilt uitvoeren.

    Set objInParam = objShare.Methods_("Create"). _
        inParameters.SpawnInstance_()
    
  4. Stel de eigenschappen van het exemplaar in op de waarden die van toepassing zijn. Zorg ervoor dat u waarden geeft aan de sleuteleigenschappen in de WMI-klasse die de methode bevat die u wilt uitvoeren.

    Als u bijvoorbeeld een invoerparameter met de naam myinputparam wilt instellen op de waarde 'abc' in een exemplaar van InParameters met de naam 'INST', ziet de code er als volgt uit.

    INST.Properties_.Add ("myinputparam").Value = "abc".
    
  5. Voer de methode uit en haal de retourstatus op van de methode die u uitvoert.

Het volgende codevoorbeeld illustreert het instellen van het InParameters-object om een nieuw WMI-object te maken dat een share vertegenwoordigt. Voor meer informatie over het OutParameters-object, zie Parsing OutParameters Objects. In dit voorbeeld wordt een geslaagde retourwaarde (0) geretourneerd als er een map met de naam 'Delen' op de locatie C:/Share staat. In dit voorbeeld kan deze map worden gedeeld met andere gebruikers.

' Connect to WMI.
Set objServices = GetObject("winmgmts:root\cimv2")

' Obtain the definition of the WMI class that defines
' the method you want to execute.
Set objShare = objServices.Get("Win32_Share")

' Obtain an InParameters object specific
' to the WMI class method you want to execute.
Set objInParam = objShare.Methods_("Create"). _
    inParameters.SpawnInstance_()

' Set the properties of the instance to whatever
' values are appropriate.
objInParam.Properties_.Item("Access") = objSecDescriptor
objInParam.Properties_.Item("Description") = _
    "New share created by WMI script"
objInParam.Properties_.Item("Name") = "share"
objInParam.Properties_.Item("Path") = "C:\share"
objInParam.Properties_.Item("Type") = 0
'optional - default is 'max allowed'
objInParam.Properties_.Item("MaximumAllowed") = 100
'optional - default is no password
objInParam.Properties_.Item("Password") = "Password"

' Execute the method and obtain the return status. 
' The OutParameters object in objOutParams
' is created by the provider. 
Set objOutParams = objShare.ExecMethod_("Create", objInParam)    
wscript.echo objOutParams.ReturnValue