VERSION 5.00
Begin VB.Form Form1 
   Caption         =   "Form1"
   ClientHeight    =   3195
   ClientLeft      =   60
   ClientTop       =   345
   ClientWidth     =   4680
   LinkTopic       =   "Form1"
   ScaleHeight     =   3195
   ScaleWidth      =   4680
   StartUpPosition =   3  'Windows Default
End
Attribute VB_Name = "Form1"
Attribute VB_GlobalNameSpace = False
Attribute VB_Creatable = False
Attribute VB_PredeclaredId = True
Attribute VB_Exposed = False
Private Sub Form_Load()
    
    Dim Class As SWbemObject
    Set Class = GetObject("winmgmts:").Get
    Class.Path_.Class = "Fred"
        
    'Note that by commenting out the next line
    'the array assignment below works! This is due to the IDispatch code
    'for SWbemProperty handling the array assignment logic correctly, but
    'the vtable code relies on VB interpreting the array assignment as a Put -
    'however it interprets it as "Retrive the VARIANT corresponding to
    'Property.Value, assign that to a temporary VB variable, and set the
    'temporary variable.
    Dim Property As SWbemProperty
    
    Set Property = Class.Properties_.Add("p1", wbemCimtypeUint32, True)
    Property.Value = Array(1, 45, 23)
        
    'Debug.Print Property(0)
    'Debug.Print Property(1)
     
    Property.Value(2) = 3
    'Debug.Print Property(2)
      
    
    
End Sub