Leaked source code of windows server 2003
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
 
 

61 lines
2.1 KiB

#***************************************************************************
#This script tests the manipulation of property values, in the case that the
#property is a not an array type
#***************************************************************************
use OLE;
use Win32;
$locator = CreateObject OLE 'WbemScripting.SWbemLocator';
$service = $locator->ConnectServer (".", "root/default");
$class = $service->Get();
$class->{Path_}->{Class} = "PROP00";
$class->{Properties_}->Add( "p1", 19);
$class->{Properties_}->{p1}->{Value} = 327;
print ("The initial value of p1 is ");
$property = $class->{Properties_}->{p1}->{Value};
print ($property);
#print ($class->{Properties_}->{p1}); - doesn't work - have to specify ->{Value}
#****************************************
#First pass of tests works on non-dot API
#****************************************
print ("\nPASS 1 - Use Non-Dot Notation\n");
#Verify we can report the value of an element of the property value
$v = $class->{Properties_}->{p1}->{Value};
print ("By indirection p1 has value: $v");
print ("\n");
#Verify we can report the value directly
print ("By direct access p1 has value: ");
print ($class->{Properties_}->{p1}->{Value});
print ("\n");
#Verify we can set the value of a single property value element
$class->{Properties_}->{p1} = 234;
print ("After direct assignment p1 has value: ");
print ($class->{Properties_}->{p1}->{Value});
print ("\n");
#****************************************
#Second pass of tests works on dot API
#****************************************
print ("\nPASS 2 - Use Dot Notation\n");
#Verify we can report the value of an element of the property value
$v = $class->{p1};
print ("By indirection p1 has value: $v");
print ("\n");
#Verify we can report the value directly
print ("By direct access p1 has value: ");
print ($class->{p1});
print ("\n");
#Verify we can set the value of a single property value element
$class->{p1} = 232234;
print ("After direct assignment p1 has value: ");
print ($class->{p1});
print ("\n");