Obtenir des informations sur processeur avec "WMI"

Partagez votre expérience de PureBasic avec les autres utilisateurs.
Avatar de l’utilisateur
celtic88
Messages : 309
Inscription : sam. 12/sept./2015 14:31
Localisation : Alger

Obtenir des informations sur processeur avec "WMI"

Message par celtic88 »

Il ya PU de chose a dir, mais pas a faire :D

voici deux code qui montrant comment obtenir les caractéristiques techniques de notre cpu comme le voltage type de fonctionnement : la temperature et les nombres des c est core ext.......

Amusez vous bien ++

Code : Tout sélectionner

;Coder celtic88 2016(c)

DataSection
  CLSID_WbemAdministrativeLocator:
  Data.l  $CB8555CC
  Data.w  $9128
  Data.w  $11D1
  Data.b $AD, $9B, $0, $C0, $4F, $D8, $FD, $FF
  IID_IWbemLocator:
  Data.l  $DC12A687
  Data.w  $737F
  Data.w  $11CF
  Data.b $88, $4D, $0, $AA, $0, $4B, $2E, $24
EndDataSection

#CLSCTX_INPROC_SERVER = $1
#WBEM_FLAG_RETURN_IMMEDIATELY = $10
#WBEM_FLAG_FORWARD_ONLY = $20
#WBEM_INFINITE = $FFFFFFFF
#RPC_C_IMP_LEVEL_IMPERSONATE = 3
#RPC_C_AUTHN_LEVEL_DEFAULT = 0

If CoInitializeEx_(0, #COINIT_MULTITHREADED) = #S_OK
  
  If CoInitializeSecurity_(0, -1, 0, 0, #RPC_C_AUTHN_LEVEL_DEFAULT, #RPC_C_IMP_LEVEL_IMPERSONATE, 0, 0, 0) = #S_OK
    
    pLocator.IWbemLocator
    If CoCreateInstance_(?CLSID_WbemAdministrativeLocator, 0, #CLSCTX_INPROC_SERVER, ?IID_IWbemLocator, @pLocator) = #S_OK
      
      pServices.IWbemServices
      If pLocator\ConnectServer(@"root\WMI", 0, 0, 0, 0, 0, 0, @pServices) = #S_OK
        
        pEnum.IEnumWbemClassObject
        If pServices\ExecQuery(@"WQL", @"SELECT * FROM MSAcpi_ThermalZoneTemperature", #WBEM_FLAG_RETURN_IMMEDIATELY | #WBEM_FLAG_FORWARD_ONLY, 0, @pEnum) = #S_OK
          ;http://wutils.com/wmi/root/wmi/msacpi_thermalzonetemperature/
          
          pObject.IWbemClassObject
          v.VARIANT
          returned.l
          
          If pEnum\Next(#WBEM_INFINITE, 1, @pObject, @returned) = #S_OK
                        
            VariantInit_(@v);
            
            If pObject\Get(@"InstanceName", 0, @v, 0, 0) = #S_OK
              Debug "Instance Name : " + PeekS(v\bstrVal) 
              VariantClear_(@v)
            EndIf      
            
            If pObject\Get(@"CurrentTemperature", 0, @v, 0, 0) = #S_OK
              Debug "Current CPU Temperature : " + StrF((v\lVal/ 10) - 273.15,2) + " C°"
              VariantClear_(@v)
            EndIf 
            
            If pObject\Get(@"SamplingPeriod", 0, @v, 0, 0) = #S_OK
              Debug "Temperature Sampling Period : " + Str(v\lVal) + " Sec"
              VariantClear_(@v)
            EndIf   
            
            If pObject\Get(@"ActiveTripPointCount", 0, @v, 0, 0) = #S_OK
              Debug "Active Trip Point Count : " + Str(v\lVal)
              VariantClear_(@v)
            EndIf  
            
            pObject\Release()                            ;
          EndIf 
          
          pEnum\Release()
        EndIf 
        pServices\Release()
      EndIf
      pLocator\Release()                                               ;
    EndIf 
  EndIf 
  CoUninitialize_()
EndIf 

; CoFreeUnusedLibraries_()

Code : Tout sélectionner

;Coder celtic88 2016(c)

DataSection
  CLSID_WbemLocator:
  Data.l  $4590F811
  Data.w  $1D3A
  Data.w  $11D0
  Data.b $89, $1F, $0, $AA, $0, $4B, $2E, $24
  IID_IWbemLocator:
  Data.l  $DC12A687
  Data.w  $737F
  Data.w  $11CF
  Data.b $88, $4D, $0, $AA, $0, $4B, $2E, $24
EndDataSection

#CLSCTX_INPROC_SERVER = $1
#WBEM_FLAG_RETURN_IMMEDIATELY = $10
#WBEM_FLAG_FORWARD_ONLY = $20
#WBEM_INFINITE = $FFFFFFFF
#RPC_C_IMP_LEVEL_IMPERSONATE = 3
#RPC_C_AUTHN_LEVEL_DEFAULT = 0
#RPC_C_AUTHN_WINNT =       10
#RPC_C_AUTHZ_NONE =          0
#RPC_C_AUTHN_LEVEL_CALL=3
#EOAC_NONE = 0

;https://msdn.microsoft.com/en-us/library/aa394373(v=vs.85).aspx
Dim Win32_Processor_class_Syntax.s(56)
Win32_Processor_class_Syntax(0) = "AddressWidth"
Win32_Processor_class_Syntax(1) = "Architecture"
Win32_Processor_class_Syntax(2) = "AssetTag"
Win32_Processor_class_Syntax(3) = "Availability"
Win32_Processor_class_Syntax(4) = "Caption"
Win32_Processor_class_Syntax(5) = "Characteristics"
Win32_Processor_class_Syntax(6) = "ConfigManagerErrorCode"
Win32_Processor_class_Syntax(7) = "ConfigManagerUserConfig"
Win32_Processor_class_Syntax(8) = "CpuStatus"
Win32_Processor_class_Syntax(9) = "CreationClassName"
Win32_Processor_class_Syntax(10) = "CurrentClockSpeed"
Win32_Processor_class_Syntax(11) = "CurrentVoltage"
Win32_Processor_class_Syntax(12) = "DataWidth"
Win32_Processor_class_Syntax(13) = "Description"
Win32_Processor_class_Syntax(14) = "DeviceID"
Win32_Processor_class_Syntax(15) = "ErrorCleared"
Win32_Processor_class_Syntax(16) = "ErrorDescription"
Win32_Processor_class_Syntax(17) = "ExtClock"
Win32_Processor_class_Syntax(18) = "Family"
Win32_Processor_class_Syntax(19) = "InstallDate"
Win32_Processor_class_Syntax(20) = "L2CacheSize"
Win32_Processor_class_Syntax(21) = "L2CacheSpeed"
Win32_Processor_class_Syntax(22) = "L3CacheSize"
Win32_Processor_class_Syntax(23) = "L3CacheSpeed"
Win32_Processor_class_Syntax(24) = "LastErrorCode"
Win32_Processor_class_Syntax(25) = "Level"
Win32_Processor_class_Syntax(26) = "LoadPercentage"
Win32_Processor_class_Syntax(27) = "Manufacturer"
Win32_Processor_class_Syntax(28) = "MaxClockSpeed"
Win32_Processor_class_Syntax(29) = "Name"
Win32_Processor_class_Syntax(30) = "NumberOfCores"
Win32_Processor_class_Syntax(31) = "NumberOfEnabledCore"
Win32_Processor_class_Syntax(32) = "NumberOfLogicalProcessors"
Win32_Processor_class_Syntax(33) = "OtherFamilyDescription"
Win32_Processor_class_Syntax(34) = "PartNumber"
Win32_Processor_class_Syntax(35) = "PNPDeviceID"
Win32_Processor_class_Syntax(36) = "PowerManagementCapabilities[]"
Win32_Processor_class_Syntax(37) = "PowerManagementSupported"
Win32_Processor_class_Syntax(38) = "ProcessorId"
Win32_Processor_class_Syntax(39) = "ProcessorType"
Win32_Processor_class_Syntax(40) = "Revision"
Win32_Processor_class_Syntax(41) = "Role"
Win32_Processor_class_Syntax(42) = "SecondLevelAddressTranslationExtensions"
Win32_Processor_class_Syntax(43) = "SerialNumber"
Win32_Processor_class_Syntax(44) = "SocketDesignation"
Win32_Processor_class_Syntax(45) = "Status"
Win32_Processor_class_Syntax(46) = "StatusInfo"
Win32_Processor_class_Syntax(47) = "Stepping"
Win32_Processor_class_Syntax(48) = "SystemCreationClassName"
Win32_Processor_class_Syntax(49) = "SystemName"
Win32_Processor_class_Syntax(50) = "ThreadCount"
Win32_Processor_class_Syntax(51) = "UniqueId"
Win32_Processor_class_Syntax(52) = "UpgradeMethod"
Win32_Processor_class_Syntax(53) = "Version"
Win32_Processor_class_Syntax(54) = "VirtualizationFirmwareEnabled"
Win32_Processor_class_Syntax(55) = "VMMonitorModeExtensions"
Win32_Processor_class_Syntax(56) = "VoltageCaps"

If CoInitializeEx_(0, #COINIT_MULTITHREADED) = #S_OK
  
  If CoInitializeSecurity_(0, -1, 0, 0, #RPC_C_AUTHN_LEVEL_DEFAULT, #RPC_C_IMP_LEVEL_IMPERSONATE, 0, 0, 0) = #S_OK
    
    locator.IWbemLocator
    If CoCreateInstance_(?CLSID_WbemLocator, 0, #CLSCTX_INPROC_SERVER, ?IID_IWbemLocator, @locator) = #S_OK
      
      services.IWbemServices
      If locator\ConnectServer(@"ROOT\CIMV2", 0, 0, 0, 0, 0, 0, @services) = #S_OK
        
        CoSetProxyBlanket_(services, #RPC_C_AUTHN_WINNT, #RPC_C_AUTHZ_NONE, 0, #RPC_C_AUTHN_LEVEL_CALL, #RPC_C_IMP_LEVEL_IMPERSONATE, 0, #EOAC_NONE);
        e.IEnumWbemClassObject          
        If services\ExecQuery(@"WQL", @"SELECT * FROM Win32_Processor", #WBEM_FLAG_RETURN_IMMEDIATELY | #WBEM_FLAG_FORWARD_ONLY, 0, @e) = #S_OK
          
          Var.VARIANT
          u.l          
          
          object.IWbemClassObject
          
          While (e\Next(#WBEM_INFINITE, 1, @object, @u) = #S_OK)
            
            For gg=0 To 56
              CalssPro.s = Win32_Processor_class_Syntax(gg) 
              VariantInit_(@Var);            
              If object\Get(@CalssPro, 0, @Var, 0, 0) = #S_OK
                Select Var\vt
                  Case #VT_I4
                    Debug CalssPro + " : " + Str(Var\lVal)
                  Case #VT_DISPATCH
                    ;
                  Case #VT_BSTR
                    Debug CalssPro + " : " + PeekS(Var\bstrVal)
                  Case #VT_EMPTY
                    ;                  
                EndSelect
                VariantClear_(@Var); 
              EndIf
            Next
            
            object\Release()
          Wend
          e\Release()
        EndIf
        services\Release()
      EndIf
      locator\Release()
    EndIf
  EndIf
  CoUninitialize_();
EndIf 
.....i Love Pb :)
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Obtenir des informations sur processeur avec "WMI"

Message par Ar-S »

Je mets de coté, merci celtic88
En PB5.50 sous W10 il faut commenter #WBEM_INFINITE mais ça fonctionne.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Obtenir des informations sur processeur avec "WMI"

Message par Kwai chang caine »

Sous W7 aussi
Merci du partage 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
GallyHC
Messages : 1703
Inscription : lun. 17/déc./2007 12:44

Re: Obtenir des informations sur processeur avec "WMI"

Message par GallyHC »

Bonjour,

Merci pour ce partage, je met aussi de coté.

Cordialement,
GallyHC
Configuration : Tower: Windows 10 (Processeur: i7 "x64") (Mémoire: 16Go) (GeForce GTX 760 - 2Go) - PureBasic 5.72 (x86 et x64)
Avatar de l’utilisateur
celtic88
Messages : 309
Inscription : sam. 12/sept./2015 14:31
Localisation : Alger

Re: Obtenir des informations sur processeur avec "WMI"

Message par celtic88 »

Pas de quoi les amis,,

voilla code bonus pour vous :)

- retirer plus d'info sur votre PC

Code : Tout sélectionner

;Coder celtic88 2016(c)

DataSection
  CLSID_WbemLocator:
  Data.l  $4590F811
  Data.w  $1D3A
  Data.w  $11D0
  Data.b $89, $1F, $0, $AA, $0, $4B, $2E, $24
  IID_IWbemLocator:
  Data.l  $DC12A687
  Data.w  $737F
  Data.w  $11CF
  Data.b $88, $4D, $0, $AA, $0, $4B, $2E, $24
EndDataSection

#CLSCTX_INPROC_SERVER = $1
#WBEM_FLAG_RETURN_IMMEDIATELY = $10
#WBEM_FLAG_FORWARD_ONLY = $20
#WBEM_INFINITE = $FFFFFFFF
#RPC_C_IMP_LEVEL_IMPERSONATE = 3
#RPC_C_AUTHN_LEVEL_DEFAULT = 0
#RPC_C_AUTHN_WINNT =       10
#RPC_C_AUTHZ_NONE =          0
#RPC_C_AUTHN_LEVEL_CALL=3
#EOAC_NONE = 0

;https://msdn.microsoft.com/en-us/library/aa394372(v=vs.85).aspx
Dim Win32_Process_class_Syntax.s(44)
Win32_Process_class_Syntax.s(0) = "CreationClassName"
Win32_Process_class_Syntax.s(1) = "Caption"
Win32_Process_class_Syntax.s(2) = "CommandLine"
Win32_Process_class_Syntax.s(3) = "CreationDate"
Win32_Process_class_Syntax.s(4) = "CSCreationClassName"
Win32_Process_class_Syntax.s(5) = "CSName"
Win32_Process_class_Syntax.s(6) = "Description"
Win32_Process_class_Syntax.s(7) = "ExecutablePath"
Win32_Process_class_Syntax.s(8) = "ExecutionState"
Win32_Process_class_Syntax.s(9) = "Handle"
Win32_Process_class_Syntax.s(10) = "HandleCount"
Win32_Process_class_Syntax.s(11) = "InstallDate"
Win32_Process_class_Syntax.s(12) = "KernelModeTime"
Win32_Process_class_Syntax.s(13) = "MaximumWorkingSetSize"
Win32_Process_class_Syntax.s(14) = "MinimumWorkingSetSize"
Win32_Process_class_Syntax.s(15) = "Name"
Win32_Process_class_Syntax.s(16) = "OSCreationClassName"
Win32_Process_class_Syntax.s(17) = "OSName"
Win32_Process_class_Syntax.s(18) = "OtherOperationCount"
Win32_Process_class_Syntax.s(19) = "OtherTransferCount"
Win32_Process_class_Syntax.s(20) = "PageFaults"
Win32_Process_class_Syntax.s(21) = "PageFileUsage"
Win32_Process_class_Syntax.s(22) = "ParentProcessId"
Win32_Process_class_Syntax.s(23) = "PeakPageFileUsage"
Win32_Process_class_Syntax.s(24) = "PeakVirtualSize"
Win32_Process_class_Syntax.s(25) = "PeakWorkingSetSize"
Win32_Process_class_Syntax.s(26) = "Priority = NULL"
Win32_Process_class_Syntax.s(27) = "PrivatePageCount"
Win32_Process_class_Syntax.s(28) = "ProcessId"
Win32_Process_class_Syntax.s(29) = "QuotaNonPagedPoolUsage"
Win32_Process_class_Syntax.s(30) = "QuotaPagedPoolUsage"
Win32_Process_class_Syntax.s(31) = "QuotaPeakNonPagedPoolUsage"
Win32_Process_class_Syntax.s(32) = "QuotaPeakPagedPoolUsage"
Win32_Process_class_Syntax.s(33) = "ReadOperationCount"
Win32_Process_class_Syntax.s(34) = "ReadTransferCount"
Win32_Process_class_Syntax.s(35) = "SessionId"
Win32_Process_class_Syntax.s(36) = "Status"
Win32_Process_class_Syntax.s(37) = "TerminationDate"
Win32_Process_class_Syntax.s(38) = "ThreadCount"
Win32_Process_class_Syntax.s(39) = "UserModeTime"
Win32_Process_class_Syntax.s(40) = "VirtualSize"
Win32_Process_class_Syntax.s(41) = "WindowsVersion"
Win32_Process_class_Syntax.s(42) = "WorkingSetSize"
Win32_Process_class_Syntax.s(43) = "WriteOperationCount"
Win32_Process_class_Syntax.s(44) = "WriteTransferCount"

;https://msdn.microsoft.com/en-us/library/aa394463(v=vs.85).aspx
Dim Win32_SoundDevice_class_Syntax.s(22)
Win32_SoundDevice_class_Syntax.s(0) = "Availability"
Win32_SoundDevice_class_Syntax.s(1) = "Caption"
Win32_SoundDevice_class_Syntax.s(2) = "ConfigManagerErrorCode"
Win32_SoundDevice_class_Syntax.s(3) = "ConfigManagerUserConfig"
Win32_SoundDevice_class_Syntax.s(4) = "CreationClassName"
Win32_SoundDevice_class_Syntax.s(5) = "Description"
Win32_SoundDevice_class_Syntax.s(6) = "DeviceID"
Win32_SoundDevice_class_Syntax.s(7) = "DMABufferSize"
Win32_SoundDevice_class_Syntax.s(8) = "ErrorCleared"
Win32_SoundDevice_class_Syntax.s(9) = "ErrorDescription"
Win32_SoundDevice_class_Syntax.s(10) = "InstallDate"
Win32_SoundDevice_class_Syntax.s(11) = "LastErrorCode"
Win32_SoundDevice_class_Syntax.s(12) = "Manufacturer"
Win32_SoundDevice_class_Syntax.s(13) = "MPU401Address"
Win32_SoundDevice_class_Syntax.s(14) = "Name"
Win32_SoundDevice_class_Syntax.s(15) = "PNPDeviceID"
Win32_SoundDevice_class_Syntax.s(16) = "PowerManagementCapabilities[]"
Win32_SoundDevice_class_Syntax.s(17) = "PowerManagementSupported"
Win32_SoundDevice_class_Syntax.s(18) = "ProductName"
Win32_SoundDevice_class_Syntax.s(19) = "Status"
Win32_SoundDevice_class_Syntax.s(20) = "StatusInfo"
Win32_SoundDevice_class_Syntax.s(21) = "SystemCreationClassName"
Win32_SoundDevice_class_Syntax.s(22) = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394074(v=vs.85).aspx
Dim Win32_Battery_class_Syntax.s(32)
Win32_Battery_class_Syntax.s(0) = "Availability"
Win32_Battery_class_Syntax.s(1) = "BatteryRechargeTime"
Win32_Battery_class_Syntax.s(2) = "BatteryStatus"
Win32_Battery_class_Syntax.s(3) = "Caption"
Win32_Battery_class_Syntax.s(4) = "Chemistry"
Win32_Battery_class_Syntax.s(5) = "ConfigManagerErrorCode"
Win32_Battery_class_Syntax.s(6) = "ConfigManagerUserConfig"
Win32_Battery_class_Syntax.s(7) = "CreationClassName"
Win32_Battery_class_Syntax.s(8) = "Description"
Win32_Battery_class_Syntax.s(9) = "DesignCapacity"
Win32_Battery_class_Syntax.s(10) = "DesignVoltage"
Win32_Battery_class_Syntax.s(11) = "DeviceID"
Win32_Battery_class_Syntax.s(12) = "ErrorCleared"
Win32_Battery_class_Syntax.s(13) = "ErrorDescription"
Win32_Battery_class_Syntax.s(14) = "EstimatedChargeRemaining"
Win32_Battery_class_Syntax.s(15) = "EstimatedRunTime"
Win32_Battery_class_Syntax.s(16) = "ExpectedBatteryLife"
Win32_Battery_class_Syntax.s(17) = "ExpectedLife"
Win32_Battery_class_Syntax.s(18) = "FullChargeCapacity"
Win32_Battery_class_Syntax.s(19) = "InstallDate"
Win32_Battery_class_Syntax.s(20) = "LastErrorCode"
Win32_Battery_class_Syntax.s(21) = "MaxRechargeTime"
Win32_Battery_class_Syntax.s(22) = "Name"
Win32_Battery_class_Syntax.s(23) = "PNPDeviceID"
Win32_Battery_class_Syntax.s(24) = "PowerManagementCapabilities[]"
Win32_Battery_class_Syntax.s(25) = "PowerManagementSupported"
Win32_Battery_class_Syntax.s(26) = "SmartBatteryVersion"
Win32_Battery_class_Syntax.s(27) = "Status"
Win32_Battery_class_Syntax.s(28) = "StatusInfo"
Win32_Battery_class_Syntax.s(29) = "SystemCreationClassName"
Win32_Battery_class_Syntax.s(30) = "SystemName"
Win32_Battery_class_Syntax.s(31) = "TimeOnBattery"
Win32_Battery_class_Syntax.s(32) = "TimeToFullCharge"

;https://msdn.microsoft.com/en-us/library/aa394077(v=vs.85).aspx
Dim Win32_BIOS_class_Syntax.s(30)
Win32_BIOS_class_Syntax.s(0) = "BiosCharacteristics[]"
Win32_BIOS_class_Syntax.s(1) = "BIOSVersion[]"
Win32_BIOS_class_Syntax.s(2) = "BuildNumber"
Win32_BIOS_class_Syntax.s(3) = "Caption"
Win32_BIOS_class_Syntax.s(4) = "CodeSet"
Win32_BIOS_class_Syntax.s(5) = "CurrentLanguage"
Win32_BIOS_class_Syntax.s(6) = "Description"
Win32_BIOS_class_Syntax.s(7) = "EmbeddedControllerMajorVersion"
Win32_BIOS_class_Syntax.s(8) = "EmbeddedControllerMinorVersion"
Win32_BIOS_class_Syntax.s(9) = "IdentificationCode"
Win32_BIOS_class_Syntax.s(10) = "InstallableLanguages"
Win32_BIOS_class_Syntax.s(11) = "InstallDate"
Win32_BIOS_class_Syntax.s(12) = "LanguageEdition"
Win32_BIOS_class_Syntax.s(13) = "ListOfLanguages[]"
Win32_BIOS_class_Syntax.s(14) = "Manufacturer"
Win32_BIOS_class_Syntax.s(15) = "Name"
Win32_BIOS_class_Syntax.s(16) = "OtherTargetOS"
Win32_BIOS_class_Syntax.s(17) = "PrimaryBIOS"
Win32_BIOS_class_Syntax.s(18) = "ReleaseDate"
Win32_BIOS_class_Syntax.s(19) = "SerialNumber"
Win32_BIOS_class_Syntax.s(20) = "SMBIOSBIOSVersion"
Win32_BIOS_class_Syntax.s(21) = "SMBIOSMajorVersion"
Win32_BIOS_class_Syntax.s(22) = "SMBIOSMinorVersion"
Win32_BIOS_class_Syntax.s(23) = "SMBIOSPresent"
Win32_BIOS_class_Syntax.s(24) = "SoftwareElementID"
Win32_BIOS_class_Syntax.s(25) = "SoftwareElementState"
Win32_BIOS_class_Syntax.s(26) = "Status"
Win32_BIOS_class_Syntax.s(27) = "SystemBiosMajorVersion"
Win32_BIOS_class_Syntax.s(28) = "SystemBiosMinorVersion"
Win32_BIOS_class_Syntax.s(29) = "TargetOperatingSystem"
Win32_BIOS_class_Syntax.s(30) = "Version"

;https://msdn.microsoft.com/en-us/library/aa394512(v=vs.85).aspx
Dim Win32_VideoController_class_Syntax.s(58)
Win32_VideoController_class_Syntax.s(0) = "AcceleratorCapabilities[]"
Win32_VideoController_class_Syntax.s(1) = "AdapterCompatibility"
Win32_VideoController_class_Syntax.s(2) = "AdapterDACType"
Win32_VideoController_class_Syntax.s(3) = "AdapterRAM"
Win32_VideoController_class_Syntax.s(4) = "Availability"
Win32_VideoController_class_Syntax.s(5) = "CapabilityDescriptions[]"
Win32_VideoController_class_Syntax.s(6) = "Caption"
Win32_VideoController_class_Syntax.s(7) = "ColorTableEntries"
Win32_VideoController_class_Syntax.s(8) = "ConfigManagerErrorCode"
Win32_VideoController_class_Syntax.s(9) = "ConfigManagerUserConfig"
Win32_VideoController_class_Syntax.s(10) = "CreationClassName"
Win32_VideoController_class_Syntax.s(11) = "CurrentBitsPerPixel"
Win32_VideoController_class_Syntax.s(12) = "CurrentHorizontalResolution"
Win32_VideoController_class_Syntax.s(13) = "CurrentNumberOfColors"
Win32_VideoController_class_Syntax.s(14) = "CurrentNumberOfColumns"
Win32_VideoController_class_Syntax.s(15) = "CurrentNumberOfRows"
Win32_VideoController_class_Syntax.s(16) = "CurrentRefreshRate"
Win32_VideoController_class_Syntax.s(17) = "CurrentScanMode"
Win32_VideoController_class_Syntax.s(18) = "CurrentVerticalResolution"
Win32_VideoController_class_Syntax.s(19) = "Description"
Win32_VideoController_class_Syntax.s(20) = "DeviceID"
Win32_VideoController_class_Syntax.s(21) = "DeviceSpecificPens"
Win32_VideoController_class_Syntax.s(22) = "DitherType"
Win32_VideoController_class_Syntax.s(23) = "DriverDate"
Win32_VideoController_class_Syntax.s(24) = "DriverVersion"
Win32_VideoController_class_Syntax.s(25) = "ErrorCleared"
Win32_VideoController_class_Syntax.s(26) = "ErrorDescription"
Win32_VideoController_class_Syntax.s(27) = "ICMIntent"
Win32_VideoController_class_Syntax.s(28) = "ICMMethod"
Win32_VideoController_class_Syntax.s(29) = "InfFilename"
Win32_VideoController_class_Syntax.s(30) = "InfSection"
Win32_VideoController_class_Syntax.s(31) = "InstallDate"
Win32_VideoController_class_Syntax.s(32) = "InstalledDisplayDrivers"
Win32_VideoController_class_Syntax.s(33) = "LastErrorCode"
Win32_VideoController_class_Syntax.s(34) = "MaxMemorySupported"
Win32_VideoController_class_Syntax.s(35) = "MaxNumberControlled"
Win32_VideoController_class_Syntax.s(36) = "MaxRefreshRate"
Win32_VideoController_class_Syntax.s(37) = "MinRefreshRate"
Win32_VideoController_class_Syntax.s(38) = "Monochrome"
Win32_VideoController_class_Syntax.s(39) = "Name"
Win32_VideoController_class_Syntax.s(40) = "NumberOfColorPlanes"
Win32_VideoController_class_Syntax.s(41) = "NumberOfVideoPages"
Win32_VideoController_class_Syntax.s(42) = "PNPDeviceID"
Win32_VideoController_class_Syntax.s(43) = "PowerManagementCapabilities[]"
Win32_VideoController_class_Syntax.s(44) = "PowerManagementSupported"
Win32_VideoController_class_Syntax.s(45) = "ProtocolSupported"
Win32_VideoController_class_Syntax.s(46) = "ReservedSystemPaletteEntries"
Win32_VideoController_class_Syntax.s(47) = "SpecificationVersion"
Win32_VideoController_class_Syntax.s(48) = "Status"
Win32_VideoController_class_Syntax.s(49) = "StatusInfo"
Win32_VideoController_class_Syntax.s(50) = "SystemCreationClassName"
Win32_VideoController_class_Syntax.s(51) = "SystemName"
Win32_VideoController_class_Syntax.s(52) = "SystemPaletteEntries"
Win32_VideoController_class_Syntax.s(53) = "TimeOfLastReset"
Win32_VideoController_class_Syntax.s(54) = "VideoArchitecture"
Win32_VideoController_class_Syntax.s(55) = "VideoMemoryType"
Win32_VideoController_class_Syntax.s(56) = "VideoMode"
Win32_VideoController_class_Syntax.s(57) = "VideoModeDescription"
Win32_VideoController_class_Syntax.s(58) = "VideoProcessor"

;https://msdn.microsoft.com/en-us/library/aa394102(v=vs.85).aspx
Dim Win32_ComputerSystem_class_Syntax.s(63)
Win32_ComputerSystem_class_Syntax.s(0) = "AdminPasswordStatus"
Win32_ComputerSystem_class_Syntax.s(1) = "AutomaticManagedPagefile"
Win32_ComputerSystem_class_Syntax.s(2) = "AutomaticResetBootOption"
Win32_ComputerSystem_class_Syntax.s(3) = "AutomaticResetCapability"
Win32_ComputerSystem_class_Syntax.s(4) = "BootOptionOnLimit"
Win32_ComputerSystem_class_Syntax.s(5) = "BootOptionOnWatchDog"
Win32_ComputerSystem_class_Syntax.s(6) = "BootROMSupported"
Win32_ComputerSystem_class_Syntax.s(7) = "BootupState"
Win32_ComputerSystem_class_Syntax.s(8) = "BootStatus[]"
Win32_ComputerSystem_class_Syntax.s(9) = "Caption"
Win32_ComputerSystem_class_Syntax.s(10) = "ChassisBootupState"
Win32_ComputerSystem_class_Syntax.s(11) = "ChassisSKUNumber"
Win32_ComputerSystem_class_Syntax.s(12) = "CreationClassName"
Win32_ComputerSystem_class_Syntax.s(13) = "CurrentTimeZone"
Win32_ComputerSystem_class_Syntax.s(14) = "DaylightInEffect"
Win32_ComputerSystem_class_Syntax.s(15) = "Description"
Win32_ComputerSystem_class_Syntax.s(16) = "DNSHostName"
Win32_ComputerSystem_class_Syntax.s(17) = "Domain"
Win32_ComputerSystem_class_Syntax.s(18) = "DomainRole"
Win32_ComputerSystem_class_Syntax.s(19) = "EnableDaylightSavingsTime"
Win32_ComputerSystem_class_Syntax.s(20) = "FrontPanelResetStatus"
Win32_ComputerSystem_class_Syntax.s(21) = "HypervisorPresent"
Win32_ComputerSystem_class_Syntax.s(22) = "InfraredSupported"
Win32_ComputerSystem_class_Syntax.s(23) = "InitialLoadInfo[]"
Win32_ComputerSystem_class_Syntax.s(24) = "InstallDate"
Win32_ComputerSystem_class_Syntax.s(25) = "KeyboardPasswordStatus"
Win32_ComputerSystem_class_Syntax.s(26) = "LastLoadInfo"
Win32_ComputerSystem_class_Syntax.s(27) = "Manufacturer"
Win32_ComputerSystem_class_Syntax.s(28) = "Model"
Win32_ComputerSystem_class_Syntax.s(29) = "Name"
Win32_ComputerSystem_class_Syntax.s(30) = "NameFormat"
Win32_ComputerSystem_class_Syntax.s(31) = "NetworkServerModeEnabled"
Win32_ComputerSystem_class_Syntax.s(32) = "NumberOfLogicalProcessors"
Win32_ComputerSystem_class_Syntax.s(33) = "NumberOfProcessors"
Win32_ComputerSystem_class_Syntax.s(34) = "OEMLogoBitmap[]"
Win32_ComputerSystem_class_Syntax.s(35) = "OEMStringArray[]"
Win32_ComputerSystem_class_Syntax.s(36) = "PartOfDomain"
Win32_ComputerSystem_class_Syntax.s(37) = "PauseAfterReset"
Win32_ComputerSystem_class_Syntax.s(38) = "PCSystemType"
Win32_ComputerSystem_class_Syntax.s(39) = "PCSystemTypeEx"
Win32_ComputerSystem_class_Syntax.s(40) = "PowerManagementCapabilities[]"
Win32_ComputerSystem_class_Syntax.s(41) = "PowerManagementSupported"
Win32_ComputerSystem_class_Syntax.s(42) = "PowerOnPasswordStatus"
Win32_ComputerSystem_class_Syntax.s(43) = "PowerState"
Win32_ComputerSystem_class_Syntax.s(44) = "PowerSupplyState"
Win32_ComputerSystem_class_Syntax.s(45) = "PrimaryOwnerContact"
Win32_ComputerSystem_class_Syntax.s(46) = "PrimaryOwnerName"
Win32_ComputerSystem_class_Syntax.s(47) = "ResetCapability"
Win32_ComputerSystem_class_Syntax.s(48) = "ResetCount"
Win32_ComputerSystem_class_Syntax.s(49) = "ResetLimit"
Win32_ComputerSystem_class_Syntax.s(50) = "Roles[]"
Win32_ComputerSystem_class_Syntax.s(51) = "Status"
Win32_ComputerSystem_class_Syntax.s(52) = "SupportContactDescription[]"
Win32_ComputerSystem_class_Syntax.s(53) = "SystemFamily"
Win32_ComputerSystem_class_Syntax.s(54) = "SystemSKUNumber"
Win32_ComputerSystem_class_Syntax.s(55) = "SystemStartupDelay"
Win32_ComputerSystem_class_Syntax.s(56) = "SystemStartupOptions[]"
Win32_ComputerSystem_class_Syntax.s(57) = "SystemStartupSetting"
Win32_ComputerSystem_class_Syntax.s(58) = "SystemType"
Win32_ComputerSystem_class_Syntax.s(59) = "ThermalState"
Win32_ComputerSystem_class_Syntax.s(60) = "TotalPhysicalMemory"
Win32_ComputerSystem_class_Syntax.s(61) = "UserName"
Win32_ComputerSystem_class_Syntax.s(62) = "WakeUpType"
Win32_ComputerSystem_class_Syntax.s(63) = "Workgroup"

;https://msdn.microsoft.com/en-us/library/aa394121(v=vs.85).aspx
Dim Win32_Desktop_class_Syntax.s(20)
Win32_Desktop_class_Syntax.s(0) = "Caption"
Win32_Desktop_class_Syntax.s(1) = "Description"
Win32_Desktop_class_Syntax.s(2) = "SettingID"
Win32_Desktop_class_Syntax.s(3) = "BorderWidth"
Win32_Desktop_class_Syntax.s(4) = "CoolSwitch"
Win32_Desktop_class_Syntax.s(5) = "CursorBlinkRate"
Win32_Desktop_class_Syntax.s(6) = "DragFullWindows"
Win32_Desktop_class_Syntax.s(7) = "GridGranularity"
Win32_Desktop_class_Syntax.s(8) = "IconSpacing"
Win32_Desktop_class_Syntax.s(9) = "IconTitleFaceName"
Win32_Desktop_class_Syntax.s(10) = "IconTitleSize"
Win32_Desktop_class_Syntax.s(11) = "IconTitleWrap"
Win32_Desktop_class_Syntax.s(12) = "Name"
Win32_Desktop_class_Syntax.s(13) = "Pattern"
Win32_Desktop_class_Syntax.s(14) = "ScreenSaverActive"
Win32_Desktop_class_Syntax.s(15) = "ScreenSaverExecutable"
Win32_Desktop_class_Syntax.s(16) = "ScreenSaverSecure"
Win32_Desktop_class_Syntax.s(17) = "ScreenSaverTimeout"
Win32_Desktop_class_Syntax.s(18) = "Wallpaper"
Win32_Desktop_class_Syntax.s(19) = "WallpaperStretched"
Win32_Desktop_class_Syntax.s(20) = "WallpaperTiled"

;https://msdn.microsoft.com/en-us/library/aa394132(v=vs.85).aspx
Dim Win32_DiskDrive_class_Syntax.s(50)
Win32_DiskDrive_class_Syntax.s(0) = "Availability"
Win32_DiskDrive_class_Syntax.s(1) = "BytesPerSector"
Win32_DiskDrive_class_Syntax.s(2) = "Capabilities[]"
Win32_DiskDrive_class_Syntax.s(3) = "CapabilityDescriptions[]"
Win32_DiskDrive_class_Syntax.s(4) = "Caption"
Win32_DiskDrive_class_Syntax.s(5) = "CompressionMethod"
Win32_DiskDrive_class_Syntax.s(6) = "ConfigManagerErrorCode"
Win32_DiskDrive_class_Syntax.s(7) = "ConfigManagerUserConfig"
Win32_DiskDrive_class_Syntax.s(8) = "CreationClassName"
Win32_DiskDrive_class_Syntax.s(9) = "DefaultBlockSize"
Win32_DiskDrive_class_Syntax.s(10) = "Description"
Win32_DiskDrive_class_Syntax.s(11) = "DeviceID"
Win32_DiskDrive_class_Syntax.s(12) = "ErrorCleared"
Win32_DiskDrive_class_Syntax.s(13) = "ErrorDescription"
Win32_DiskDrive_class_Syntax.s(14) = "ErrorMethodology"
Win32_DiskDrive_class_Syntax.s(15) = "FirmwareRevision"
Win32_DiskDrive_class_Syntax.s(16) = "Index"
Win32_DiskDrive_class_Syntax.s(17) = "InstallDate"
Win32_DiskDrive_class_Syntax.s(18) = "InterfaceType"
Win32_DiskDrive_class_Syntax.s(19) = "LastErrorCode"
Win32_DiskDrive_class_Syntax.s(20) = "Manufacturer"
Win32_DiskDrive_class_Syntax.s(21) = "MaxBlockSize"
Win32_DiskDrive_class_Syntax.s(22) = "MaxMediaSize"
Win32_DiskDrive_class_Syntax.s(23) = "MediaLoaded"
Win32_DiskDrive_class_Syntax.s(24) = "MediaType"
Win32_DiskDrive_class_Syntax.s(25) = "MinBlockSize"
Win32_DiskDrive_class_Syntax.s(26) = "Model"
Win32_DiskDrive_class_Syntax.s(27) = "Name"
Win32_DiskDrive_class_Syntax.s(28) = "NeedsCleaning"
Win32_DiskDrive_class_Syntax.s(29) = "NumberOfMediaSupported"
Win32_DiskDrive_class_Syntax.s(30) = "Partitions"
Win32_DiskDrive_class_Syntax.s(31) = "PNPDeviceID"
Win32_DiskDrive_class_Syntax.s(32) = "PowerManagementCapabilities[]"
Win32_DiskDrive_class_Syntax.s(33) = "PowerManagementSupported"
Win32_DiskDrive_class_Syntax.s(34) = "SCSIBus"
Win32_DiskDrive_class_Syntax.s(35) = "SCSILogicalUnit"
Win32_DiskDrive_class_Syntax.s(36) = "SCSIPort"
Win32_DiskDrive_class_Syntax.s(37) = "SCSITargetId"
Win32_DiskDrive_class_Syntax.s(38) = "SectorsPerTrack"
Win32_DiskDrive_class_Syntax.s(39) = "SerialNumber"
Win32_DiskDrive_class_Syntax.s(40) = "Signature"
Win32_DiskDrive_class_Syntax.s(41) = "Size"
Win32_DiskDrive_class_Syntax.s(42) = "Status"
Win32_DiskDrive_class_Syntax.s(43) = "StatusInfo"
Win32_DiskDrive_class_Syntax.s(44) = "SystemCreationClassName"
Win32_DiskDrive_class_Syntax.s(45) = "SystemName"
Win32_DiskDrive_class_Syntax.s(46) = "TotalCylinders"
Win32_DiskDrive_class_Syntax.s(47) = "TotalHeads"
Win32_DiskDrive_class_Syntax.s(48) = "TotalSectors"
Win32_DiskDrive_class_Syntax.s(49) = "TotalTracks"
Win32_DiskDrive_class_Syntax.s(50) = "TracksPerCylinder"

;https://msdn.microsoft.com/en-us/library/aa394166(v=vs.85).aspx
Dim Win32_Keyboard_class_Syntax.s(22)
Win32_Keyboard_class_Syntax.s(0) = "Availability"
Win32_Keyboard_class_Syntax.s(1) = "Caption"
Win32_Keyboard_class_Syntax.s(2) = "ConfigManagerErrorCode"
Win32_Keyboard_class_Syntax.s(3) = "ConfigManagerUserConfig"
Win32_Keyboard_class_Syntax.s(4) = "CreationClassName"
Win32_Keyboard_class_Syntax.s(5) = "Description"
Win32_Keyboard_class_Syntax.s(6) = "DeviceID"
Win32_Keyboard_class_Syntax.s(7) = "ErrorCleared"
Win32_Keyboard_class_Syntax.s(8) = "ErrorDescription"
Win32_Keyboard_class_Syntax.s(9) = "InstallDate"
Win32_Keyboard_class_Syntax.s(10) = "IsLocked"
Win32_Keyboard_class_Syntax.s(11) = "LastErrorCode"
Win32_Keyboard_class_Syntax.s(12) = "Layout"
Win32_Keyboard_class_Syntax.s(13) = "Name"
Win32_Keyboard_class_Syntax.s(14) = "NumberOfFunctionKeys"
Win32_Keyboard_class_Syntax.s(15) = "Password"
Win32_Keyboard_class_Syntax.s(16) = "PNPDeviceID"
Win32_Keyboard_class_Syntax.s(17) = "PowerManagementCapabilities[]"
Win32_Keyboard_class_Syntax.s(18) = "PowerManagementSupported"
Win32_Keyboard_class_Syntax.s(19) = "Status"
Win32_Keyboard_class_Syntax.s(20) = "StatusInfo"
Win32_Keyboard_class_Syntax.s(21) = "SystemCreationClassName"
Win32_Keyboard_class_Syntax.s(22) = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394347(v=vs.85).aspx
Dim Win32_PhysicalMemory_class_Syntax.s(35)
Win32_PhysicalMemory_class_Syntax.s(0) = "Attributes"
Win32_PhysicalMemory_class_Syntax.s(1) = "BankLabel"
Win32_PhysicalMemory_class_Syntax.s(2) = "Capacity"
Win32_PhysicalMemory_class_Syntax.s(3) = "Caption"
Win32_PhysicalMemory_class_Syntax.s(4) = "ConfiguredClockSpeed"
Win32_PhysicalMemory_class_Syntax.s(5) = "ConfiguredVoltage"
Win32_PhysicalMemory_class_Syntax.s(6) = "CreationClassName"
Win32_PhysicalMemory_class_Syntax.s(7) = "DataWidth"
Win32_PhysicalMemory_class_Syntax.s(8) = "Description"
Win32_PhysicalMemory_class_Syntax.s(9) = "DeviceLocator"
Win32_PhysicalMemory_class_Syntax.s(10) = "FormFactor"
Win32_PhysicalMemory_class_Syntax.s(11) = "HotSwappable"
Win32_PhysicalMemory_class_Syntax.s(12) = "InstallDate"
Win32_PhysicalMemory_class_Syntax.s(13) = "InterleaveDataDepth"
Win32_PhysicalMemory_class_Syntax.s(14) = "InterleavePosition"
Win32_PhysicalMemory_class_Syntax.s(15) = "Manufacturer"
Win32_PhysicalMemory_class_Syntax.s(16) = "MaxVoltage"
Win32_PhysicalMemory_class_Syntax.s(17) = "MemoryType"
Win32_PhysicalMemory_class_Syntax.s(18) = "MinVoltage"
Win32_PhysicalMemory_class_Syntax.s(19) = "Model"
Win32_PhysicalMemory_class_Syntax.s(20) = "Name"
Win32_PhysicalMemory_class_Syntax.s(21) = "OtherIdentifyingInfo"
Win32_PhysicalMemory_class_Syntax.s(22) = "PartNumber"
Win32_PhysicalMemory_class_Syntax.s(23) = "PositionInRow"
Win32_PhysicalMemory_class_Syntax.s(24) = "PoweredOn"
Win32_PhysicalMemory_class_Syntax.s(25) = "Removable"
Win32_PhysicalMemory_class_Syntax.s(26) = "Replaceable"
Win32_PhysicalMemory_class_Syntax.s(27) = "SerialNumber"
Win32_PhysicalMemory_class_Syntax.s(28) = "SKU"
Win32_PhysicalMemory_class_Syntax.s(29) = "SMBIOSMemoryType"
Win32_PhysicalMemory_class_Syntax.s(30) = "Speed"
Win32_PhysicalMemory_class_Syntax.s(31) = "Status"
Win32_PhysicalMemory_class_Syntax.s(32) = "Tag"
Win32_PhysicalMemory_class_Syntax.s(33) = "TotalWidth"
Win32_PhysicalMemory_class_Syntax.s(34) = "TypeDetail"
Win32_PhysicalMemory_class_Syntax.s(35) = "Version"

;https://msdn.microsoft.com/en-us/library/aa394122(v=vs.85).aspx
Dim Win32_DesktopMonitor_class_Syntax.s(27)
Win32_DesktopMonitor_class_Syntax(0)  = "Availability"
Win32_DesktopMonitor_class_Syntax(1)  = "Bandwidth"
Win32_DesktopMonitor_class_Syntax(2)  = "Caption"
Win32_DesktopMonitor_class_Syntax(3)  = "ConfigManagerErrorCode"
Win32_DesktopMonitor_class_Syntax(4)  = "ConfigManagerUserConfig"
Win32_DesktopMonitor_class_Syntax(5)  = "CreationClassName"
Win32_DesktopMonitor_class_Syntax(6)  = "Description"
Win32_DesktopMonitor_class_Syntax(7)  = "DeviceID"
Win32_DesktopMonitor_class_Syntax(8)  = "DisplayType"
Win32_DesktopMonitor_class_Syntax(9)  = "ErrorCleared"
Win32_DesktopMonitor_class_Syntax(10)  = "ErrorDescription"
Win32_DesktopMonitor_class_Syntax(11)  = "InstallDate"
Win32_DesktopMonitor_class_Syntax(12)  = "IsLocked"
Win32_DesktopMonitor_class_Syntax(13)  = "LastErrorCode"
Win32_DesktopMonitor_class_Syntax(14)  = "MonitorManufacturer"
Win32_DesktopMonitor_class_Syntax(15)  = "MonitorType"
Win32_DesktopMonitor_class_Syntax(16)  = "Name"
Win32_DesktopMonitor_class_Syntax(17)  = "PixelsPerXLogicalInch"
Win32_DesktopMonitor_class_Syntax(18)  = "PixelsPerYLogicalInch"
Win32_DesktopMonitor_class_Syntax(19)  = "PNPDeviceID"
Win32_DesktopMonitor_class_Syntax(20)  = "PowerManagementCapabilities[]"
Win32_DesktopMonitor_class_Syntax(21)  = "PowerManagementSupported"
Win32_DesktopMonitor_class_Syntax(22)  = "ScreenHeight"
Win32_DesktopMonitor_class_Syntax(23)  = "ScreenWidth"
Win32_DesktopMonitor_class_Syntax(24)  = "Status"
Win32_DesktopMonitor_class_Syntax(25)  = "StatusInfo"
Win32_DesktopMonitor_class_Syntax(26)  = "SystemCreationClassName"
Win32_DesktopMonitor_class_Syntax(27)  = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394204(v=vs.85).aspx
Dim Win32_MotherboardDevice_class_Syntax.s(21)
Win32_MotherboardDevice_class_Syntax.s(0) = "Availability"
Win32_MotherboardDevice_class_Syntax.s(1) = "Caption"
Win32_MotherboardDevice_class_Syntax.s(2) = "ConfigManagerErrorCode"
Win32_MotherboardDevice_class_Syntax.s(3) = "ConfigManagerUserConfig"
Win32_MotherboardDevice_class_Syntax.s(4) = "CreationClassName"
Win32_MotherboardDevice_class_Syntax.s(5) = "Description"
Win32_MotherboardDevice_class_Syntax.s(6) = "DeviceID"
Win32_MotherboardDevice_class_Syntax.s(7) = "ErrorCleared"
Win32_MotherboardDevice_class_Syntax.s(8) = "ErrorDescription"
Win32_MotherboardDevice_class_Syntax.s(9) = "InstallDate"
Win32_MotherboardDevice_class_Syntax.s(10) = "LastErrorCode"
Win32_MotherboardDevice_class_Syntax.s(11) = "Name"
Win32_MotherboardDevice_class_Syntax.s(12) = "PNPDeviceID"
Win32_MotherboardDevice_class_Syntax.s(13) = "PowerManagementCapabilities[]"
Win32_MotherboardDevice_class_Syntax.s(14) = "PowerManagementSupported"
Win32_MotherboardDevice_class_Syntax.s(15) = "PrimaryBusType"
Win32_MotherboardDevice_class_Syntax.s(16) = "RevisionNumber"
Win32_MotherboardDevice_class_Syntax.s(17) = "SecondaryBusType"
Win32_MotherboardDevice_class_Syntax.s(18) = "Status"
Win32_MotherboardDevice_class_Syntax.s(19) = "StatusInfo"
Win32_MotherboardDevice_class_Syntax.s(20) = "SystemCreationClassName"
Win32_MotherboardDevice_class_Syntax.s(21) = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394356(v=vs.85).aspx
Dim Win32_PointingDevice_class_Syntax.s(32)
Win32_PointingDevice_class_Syntax.s(0) = "Availability"
Win32_PointingDevice_class_Syntax.s(1) = "Caption"
Win32_PointingDevice_class_Syntax.s(2) = "ConfigManagerErrorCode"
Win32_PointingDevice_class_Syntax.s(3) = "ConfigManagerUserConfig"
Win32_PointingDevice_class_Syntax.s(4) = "CreationClassName"
Win32_PointingDevice_class_Syntax.s(5) = "Description"
Win32_PointingDevice_class_Syntax.s(6) = "DeviceID"
Win32_PointingDevice_class_Syntax.s(7) = "DeviceInterface"
Win32_PointingDevice_class_Syntax.s(8) = "DoubleSpeedThreshold"
Win32_PointingDevice_class_Syntax.s(9) = "ErrorCleared"
Win32_PointingDevice_class_Syntax.s(10) = "ErrorDescription"
Win32_PointingDevice_class_Syntax.s(11) = "Handedness"
Win32_PointingDevice_class_Syntax.s(12) = "HardwareType"
Win32_PointingDevice_class_Syntax.s(13) = "InfFileName"
Win32_PointingDevice_class_Syntax.s(14) = "InfSection"
Win32_PointingDevice_class_Syntax.s(15) = "InstallDate"
Win32_PointingDevice_class_Syntax.s(16) = "IsLocked"
Win32_PointingDevice_class_Syntax.s(17) = "LastErrorCode"
Win32_PointingDevice_class_Syntax.s(18) = "Manufacturer"
Win32_PointingDevice_class_Syntax.s(19) = "Name"
Win32_PointingDevice_class_Syntax.s(20) = "NumberOfButtons"
Win32_PointingDevice_class_Syntax.s(21) = "PNPDeviceID"
Win32_PointingDevice_class_Syntax.s(22) = "PointingType"
Win32_PointingDevice_class_Syntax.s(23) = "PowerManagementCapabilities[]"
Win32_PointingDevice_class_Syntax.s(24) = "PowerManagementSupported"
Win32_PointingDevice_class_Syntax.s(25) = "QuadSpeedThreshold"
Win32_PointingDevice_class_Syntax.s(26) = "Resolution"
Win32_PointingDevice_class_Syntax.s(27) = "SampleRate"
Win32_PointingDevice_class_Syntax.s(28) = "Status"
Win32_PointingDevice_class_Syntax.s(29) = "StatusInfo"
Win32_PointingDevice_class_Syntax.s(30) = "Synch"
Win32_PointingDevice_class_Syntax.s(31) = "SystemCreationClassName"
Win32_PointingDevice_class_Syntax.s(32) = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394216(v=vs.85).aspx
Dim Win32_NetworkAdapter_class_Syntax.s(39)
Win32_NetworkAdapter_class_Syntax.s(0) = "AdapterType"
Win32_NetworkAdapter_class_Syntax.s(1) = "AdapterTypeID"
Win32_NetworkAdapter_class_Syntax.s(2) = "AutoSense"
Win32_NetworkAdapter_class_Syntax.s(3) = "Availability"
Win32_NetworkAdapter_class_Syntax.s(4) = "Caption"
Win32_NetworkAdapter_class_Syntax.s(5) = "ConfigManagerErrorCode"
Win32_NetworkAdapter_class_Syntax.s(6) = "ConfigManagerUserConfig"
Win32_NetworkAdapter_class_Syntax.s(7) = "CreationClassName"
Win32_NetworkAdapter_class_Syntax.s(8) = "Description"
Win32_NetworkAdapter_class_Syntax.s(9) = "DeviceID"
Win32_NetworkAdapter_class_Syntax.s(10) = "ErrorCleared"
Win32_NetworkAdapter_class_Syntax.s(11) = "ErrorDescription"
Win32_NetworkAdapter_class_Syntax.s(12) = "GUID"
Win32_NetworkAdapter_class_Syntax.s(13) = "Index"
Win32_NetworkAdapter_class_Syntax.s(14) = "InstallDate"
Win32_NetworkAdapter_class_Syntax.s(15) = "Installed"
Win32_NetworkAdapter_class_Syntax.s(16) = "InterfaceIndex"
Win32_NetworkAdapter_class_Syntax.s(17) = "LastErrorCode"
Win32_NetworkAdapter_class_Syntax.s(18) = "MACAddress"
Win32_NetworkAdapter_class_Syntax.s(19) = "Manufacturer"
Win32_NetworkAdapter_class_Syntax.s(20) = "MaxNumberControlled"
Win32_NetworkAdapter_class_Syntax.s(21) = "MaxSpeed"
Win32_NetworkAdapter_class_Syntax.s(22) = "Name"
Win32_NetworkAdapter_class_Syntax.s(23) = "NetConnectionID"
Win32_NetworkAdapter_class_Syntax.s(24) = "NetConnectionStatus"
Win32_NetworkAdapter_class_Syntax.s(25) = "NetEnabled"
Win32_NetworkAdapter_class_Syntax.s(26) = "NetworkAddresses[]"
Win32_NetworkAdapter_class_Syntax.s(27) = "PermanentAddress"
Win32_NetworkAdapter_class_Syntax.s(28) = "PhysicalAdapter"
Win32_NetworkAdapter_class_Syntax.s(29) = "PNPDeviceID"
Win32_NetworkAdapter_class_Syntax.s(30) = "PowerManagementCapabilities[]"
Win32_NetworkAdapter_class_Syntax.s(31) = "PowerManagementSupported"
Win32_NetworkAdapter_class_Syntax.s(32) = "ProductName"
Win32_NetworkAdapter_class_Syntax.s(33) = "ServiceName"
Win32_NetworkAdapter_class_Syntax.s(34) = "Speed"
Win32_NetworkAdapter_class_Syntax.s(35) = "Status"
Win32_NetworkAdapter_class_Syntax.s(36) = "StatusInfo"
Win32_NetworkAdapter_class_Syntax.s(37) = "SystemCreationClassName"
Win32_NetworkAdapter_class_Syntax.s(38) = "SystemName"
Win32_NetworkAdapter_class_Syntax.s(39) = "TimeOfLastReset"

;https://msdn.microsoft.com/en-us/library/aa394239(v=vs.85).aspx
Dim Win32_OperatingSystem_class_Syntax.s(65)
Win32_OperatingSystem_class_Syntax.s(0) = "BootDevice"
Win32_OperatingSystem_class_Syntax.s(1) = "BuildNumber"
Win32_OperatingSystem_class_Syntax.s(2) = "BuildType"
Win32_OperatingSystem_class_Syntax.s(3) = "Caption"
Win32_OperatingSystem_class_Syntax.s(4) = "CodeSet"
Win32_OperatingSystem_class_Syntax.s(5) = "CountryCode"
Win32_OperatingSystem_class_Syntax.s(6) = "CreationClassName"
Win32_OperatingSystem_class_Syntax.s(7) = "CSCreationClassName"
Win32_OperatingSystem_class_Syntax.s(8) = "CSDVersion"
Win32_OperatingSystem_class_Syntax.s(9) = "CSName"
Win32_OperatingSystem_class_Syntax.s(10) = "CurrentTimeZone"
Win32_OperatingSystem_class_Syntax.s(11) = "DataExecutionPrevention_Available"
Win32_OperatingSystem_class_Syntax.s(12) = "DataExecutionPrevention_32BitApplications"
Win32_OperatingSystem_class_Syntax.s(13) = "DataExecutionPrevention_Drivers"
Win32_OperatingSystem_class_Syntax.s(14) = "DataExecutionPrevention_SupportPolicy"
Win32_OperatingSystem_class_Syntax.s(15) = "Debug"
Win32_OperatingSystem_class_Syntax.s(16) = "Description"
Win32_OperatingSystem_class_Syntax.s(17) = "Distributed"
Win32_OperatingSystem_class_Syntax.s(18) = "EncryptionLevel"
Win32_OperatingSystem_class_Syntax.s(19) = "ForegroundApplicationBoost = 2"
Win32_OperatingSystem_class_Syntax.s(20) = "FreePhysicalMemory"
Win32_OperatingSystem_class_Syntax.s(21) = "FreeSpaceInPagingFiles"
Win32_OperatingSystem_class_Syntax.s(22) = "FreeVirtualMemory"
Win32_OperatingSystem_class_Syntax.s(23) = "InstallDate"
Win32_OperatingSystem_class_Syntax.s(24) = "LargeSystemCache"
Win32_OperatingSystem_class_Syntax.s(25) = "LastBootUpTime"
Win32_OperatingSystem_class_Syntax.s(26) = "LocalDateTime"
Win32_OperatingSystem_class_Syntax.s(27) = "Locale"
Win32_OperatingSystem_class_Syntax.s(28) = "Manufacturer"
Win32_OperatingSystem_class_Syntax.s(29) = "MaxNumberOfProcesses"
Win32_OperatingSystem_class_Syntax.s(30) = "MaxProcessMemorySize"
Win32_OperatingSystem_class_Syntax.s(31) = "MUILanguages[]"
Win32_OperatingSystem_class_Syntax.s(32) = "Name"
Win32_OperatingSystem_class_Syntax.s(33) = "NumberOfLicensedUsers"
Win32_OperatingSystem_class_Syntax.s(34) = "NumberOfProcesses"
Win32_OperatingSystem_class_Syntax.s(35) = "NumberOfUsers"
Win32_OperatingSystem_class_Syntax.s(36) = "OperatingSystemSKU"
Win32_OperatingSystem_class_Syntax.s(37) = "Organization"
Win32_OperatingSystem_class_Syntax.s(38) = "OSArchitecture"
Win32_OperatingSystem_class_Syntax.s(39) = "OSLanguage"
Win32_OperatingSystem_class_Syntax.s(40) = "OSProductSuite"
Win32_OperatingSystem_class_Syntax.s(41) = "OSType"
Win32_OperatingSystem_class_Syntax.s(42) = "OtherTypeDescription"
Win32_OperatingSystem_class_Syntax.s(43) = "PAEEnabled"
Win32_OperatingSystem_class_Syntax.s(44) = "PlusProductID"
Win32_OperatingSystem_class_Syntax.s(45) = "PlusVersionNumber"
Win32_OperatingSystem_class_Syntax.s(46) = "PortableOperatingSystem"
Win32_OperatingSystem_class_Syntax.s(47) = "Primary"
Win32_OperatingSystem_class_Syntax.s(48) = "ProductType"
Win32_OperatingSystem_class_Syntax.s(49) = "RegisteredUser"
Win32_OperatingSystem_class_Syntax.s(50) = "SerialNumber"
Win32_OperatingSystem_class_Syntax.s(51) = "ServicePackMajorVersion"
Win32_OperatingSystem_class_Syntax.s(52) = "ServicePackMinorVersion"
Win32_OperatingSystem_class_Syntax.s(53) = "SizeStoredInPagingFiles"
Win32_OperatingSystem_class_Syntax.s(54) = "Status"
Win32_OperatingSystem_class_Syntax.s(55) = "SuiteMask"
Win32_OperatingSystem_class_Syntax.s(56) = "SystemDevice"
Win32_OperatingSystem_class_Syntax.s(57) = "SystemDirectory"
Win32_OperatingSystem_class_Syntax.s(58) = "SystemDrive"
Win32_OperatingSystem_class_Syntax.s(59) = "TotalSwapSpaceSize"
Win32_OperatingSystem_class_Syntax.s(60) = "TotalVirtualMemorySize"
Win32_OperatingSystem_class_Syntax.s(61) = "TotalVisibleMemorySize"
Win32_OperatingSystem_class_Syntax.s(62) = "Version"
Win32_OperatingSystem_class_Syntax.s(63) = "WindowsDirectory"
Win32_OperatingSystem_class_Syntax.s(64) = "QuantumLength"
Win32_OperatingSystem_class_Syntax.s(65) = "QuantumType"

Structure sWMI_Class_List
  Class_Name.s
  Array class_Syntax.s(0)
EndStructure

NewList WMI_Class_List.sWMI_Class_List()

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_Process"
CopyArray(Win32_Process_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_SoundDevice"
CopyArray(Win32_SoundDevice_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_Battery"
CopyArray(Win32_Battery_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_BIOS"
CopyArray(Win32_BIOS_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_VideoController"
CopyArray(Win32_VideoController_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_ComputerSystem"
CopyArray(Win32_ComputerSystem_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_Desktop"
CopyArray(Win32_Desktop_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_DiskDrive"
CopyArray(Win32_DiskDrive_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_Keyboard"
CopyArray(Win32_Keyboard_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_PhysicalMemory"
CopyArray(Win32_PhysicalMemory_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_DesktopMonitor"
CopyArray(Win32_DesktopMonitor_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_MotherboardDevice"
CopyArray(Win32_MotherboardDevice_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_PointingDevice"
CopyArray(Win32_PointingDevice_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_NetworkAdapter"
CopyArray(Win32_NetworkAdapter_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_OperatingSystem"
CopyArray(Win32_OperatingSystem_class_Syntax(),WMI_Class_List()\class_Syntax())


Procedure.b WMIGetProperties(*services.IWbemServices,WMIClassName.s,Array WMIclass_Syntax.s(1))
  e.IEnumWbemClassObject          
  If *services\ExecQuery(@"WQL", @WMIClassName, #WBEM_FLAG_RETURN_IMMEDIATELY | #WBEM_FLAG_FORWARD_ONLY, 0, @e) = #S_OK
    
    Var.VARIANT
    u.l          
    
    object.IWbemClassObject
    
    While (e\Next(#WBEM_INFINITE, 1, @object, @u) = #S_OK)
      
      For gg=0 To ArraySize(WMIclass_Syntax())
        
        CalssPro.s = WMIclass_Syntax(gg) 
        VariantInit_(@Var);            
        If object\Get(@CalssPro, 0, @Var, 0, 0) = #S_OK
          Select Var\vt
            Case #VT_I4
              Debug CalssPro + " = " + Str(Var\lVal)
            Case #VT_DISPATCH
              ;
            Case #VT_BSTR
              Debug CalssPro + " = " + PeekS(Var\bstrVal)
            Case #VT_EMPTY
              ;                  
          EndSelect
          VariantClear_(@Var); 
        EndIf
        
      Next
      
      object\Release()
    Wend
    e\Release()
  EndIf
EndProcedure

If CoInitializeEx_(0, #COINIT_MULTITHREADED) = #S_OK
  
  If CoInitializeSecurity_(0, -1, 0, 0, #RPC_C_AUTHN_LEVEL_DEFAULT, #RPC_C_IMP_LEVEL_IMPERSONATE, 0, 0, 0) = #S_OK
    
    locator.IWbemLocator
    If CoCreateInstance_(?CLSID_WbemLocator, 0, #CLSCTX_INPROC_SERVER, ?IID_IWbemLocator, @locator) = #S_OK
      
      services.IWbemServices
      If locator\ConnectServer(@"ROOT\CIMV2", 0, 0, 0, 0, 0, 0, @services) = #S_OK
        
        CoSetProxyBlanket_(services, #RPC_C_AUTHN_WINNT, #RPC_C_AUTHZ_NONE, 0, #RPC_C_AUTHN_LEVEL_CALL, #RPC_C_IMP_LEVEL_IMPERSONATE, 0, #EOAC_NONE);
        
        ForEach WMI_Class_List()
          WMIClass.s = "SELECT * FROM " + WMI_Class_List()\Class_Name
          Debug "============> WMI Class Name : " + WMI_Class_List()\Class_Name + "=============================================================="
          WMIGetProperties(services, WMIClass, WMI_Class_List()\class_Syntax())
          Debug "========================================================================================" + #CRLF$ + #CRLF$
        Next
        
        services\Release()
      EndIf
      locator\Release()
    EndIf
  EndIf
  CoUninitialize_();
EndIf 
.....i Love Pb :)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Obtenir des informations sur processeur avec "WMI"

Message par Kwai chang caine »

Et ben ....y'a que le nom de ma femme qu'il donne pas ton code :lol:
Merci pour ce nouveau partage 8)
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Micoute
Messages : 2522
Inscription : dim. 02/oct./2011 16:17
Localisation : 35520 La Mézière

Re: Obtenir des informations sur processeur avec "WMI"

Message par Micoute »

Moi, il donne le nom de la mienne : "services".
Microsoft Windows 10 Famille 64 bits : Carte mère : ASRock 970 Extreme3 R2.0 : Carte Graphique NVIDIA GeForce RTX 3080 : Processeur AMD FX 6300 6 cœurs 12 threads 3,50 GHz PB 5.73 PB 6.00 LTS (x64)
Un homme doit être poli, mais il doit aussi être libre !
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: Obtenir des informations sur processeur avec "WMI"

Message par nico »

@celtic88,

Super, merci.
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Obtenir des informations sur processeur avec "WMI"

Message par Kwai chang caine »

Alors là...c'est plus fort que midable...j'en arrive à désespérer de la vie :cry:

Non seulement j'arrive plus à installer un logiciel en setup comme tout le monde :oops:
Mais cette fois, j'arrive même plus à écrire une variable dans un fichier :?
C'est la première fois que ça m'arrive en 10 ans

Un truc de ouf, si j'essaie d’écrire la variable "PhraseInfo$" dans un simple fichier, ou même juste ouvrir un fichier, et bien le code de Celtic88 ne va même plus lire les infos en debug et bien sûr le contenu du fichier est vide 8O
J'ai rien touché au code de CELTIC, si ce n'est remplacer les debug pour qu'ils se concatènent dans la variable "PhraseInfo$"

J'ai essayé en multithread, d'ecrire en ASCII et rien n'y fait :|

Code : Tout sélectionner

; http://www.purebasic.fr/french/viewtopic.php?p=188025#p188025

;Coder celtic88 2016(c)

DataSection
 CLSID_WbemLocator:
 Data.l  $4590F811
 Data.w  $1D3A
 Data.w  $11D0
 Data.b $89, $1F, $0, $AA, $0, $4B, $2E, $24
 IID_IWbemLocator:
 Data.l  $DC12A687
 Data.w  $737F
 Data.w  $11CF
 Data.b $88, $4D, $0, $AA, $0, $4B, $2E, $24
EndDataSection

#CLSCTX_INPROC_SERVER = $1
#WBEM_FLAG_RETURN_IMMEDIATELY = $10
#WBEM_FLAG_FORWARD_ONLY = $20
;#WBEM_INFINITE = $FFFFFFFF
#RPC_C_IMP_LEVEL_IMPERSONATE = 3
#RPC_C_AUTHN_LEVEL_DEFAULT = 0
#RPC_C_AUTHN_WINNT =       10
#RPC_C_AUTHZ_NONE =          0
#RPC_C_AUTHN_LEVEL_CALL=3
#EOAC_NONE = 0

Global PhraseInfo$

;https://msdn.microsoft.com/en-us/library/aa394372(v=vs.85).aspx
Dim Win32_Process_class_Syntax.s(44)
Win32_Process_class_Syntax.s(0) = "CreationClassName"
Win32_Process_class_Syntax.s(1) = "Caption"
Win32_Process_class_Syntax.s(2) = "CommandLine"
Win32_Process_class_Syntax.s(3) = "CreationDate"
Win32_Process_class_Syntax.s(4) = "CSCreationClassName"
Win32_Process_class_Syntax.s(5) = "CSName"
Win32_Process_class_Syntax.s(6) = "Description"
Win32_Process_class_Syntax.s(7) = "ExecutablePath"
Win32_Process_class_Syntax.s(8) = "ExecutionState"
Win32_Process_class_Syntax.s(9) = "Handle"
Win32_Process_class_Syntax.s(10) = "HandleCount"
Win32_Process_class_Syntax.s(11) = "InstallDate"
Win32_Process_class_Syntax.s(12) = "KernelModeTime"
Win32_Process_class_Syntax.s(13) = "MaximumWorkingSetSize"
Win32_Process_class_Syntax.s(14) = "MinimumWorkingSetSize"
Win32_Process_class_Syntax.s(15) = "Name"
Win32_Process_class_Syntax.s(16) = "OSCreationClassName"
Win32_Process_class_Syntax.s(17) = "OSName"
Win32_Process_class_Syntax.s(18) = "OtherOperationCount"
Win32_Process_class_Syntax.s(19) = "OtherTransferCount"
Win32_Process_class_Syntax.s(20) = "PageFaults"
Win32_Process_class_Syntax.s(21) = "PageFileUsage"
Win32_Process_class_Syntax.s(22) = "ParentProcessId"
Win32_Process_class_Syntax.s(23) = "PeakPageFileUsage"
Win32_Process_class_Syntax.s(24) = "PeakVirtualSize"
Win32_Process_class_Syntax.s(25) = "PeakWorkingSetSize"
Win32_Process_class_Syntax.s(26) = "Priority = NULL"
Win32_Process_class_Syntax.s(27) = "PrivatePageCount"
Win32_Process_class_Syntax.s(28) = "ProcessId"
Win32_Process_class_Syntax.s(29) = "QuotaNonPagedPoolUsage"
Win32_Process_class_Syntax.s(30) = "QuotaPagedPoolUsage"
Win32_Process_class_Syntax.s(31) = "QuotaPeakNonPagedPoolUsage"
Win32_Process_class_Syntax.s(32) = "QuotaPeakPagedPoolUsage"
Win32_Process_class_Syntax.s(33) = "ReadOperationCount"
Win32_Process_class_Syntax.s(34) = "ReadTransferCount"
Win32_Process_class_Syntax.s(35) = "SessionId"
Win32_Process_class_Syntax.s(36) = "Status"
Win32_Process_class_Syntax.s(37) = "TerminationDate"
Win32_Process_class_Syntax.s(38) = "ThreadCount"
Win32_Process_class_Syntax.s(39) = "UserModeTime"
Win32_Process_class_Syntax.s(40) = "VirtualSize"
Win32_Process_class_Syntax.s(41) = "WindowsVersion"
Win32_Process_class_Syntax.s(42) = "WorkingSetSize"
Win32_Process_class_Syntax.s(43) = "WriteOperationCount"
Win32_Process_class_Syntax.s(44) = "WriteTransferCount"

;https://msdn.microsoft.com/en-us/library/aa394463(v=vs.85).aspx
Dim Win32_SoundDevice_class_Syntax.s(22)
Win32_SoundDevice_class_Syntax.s(0) = "Availability"
Win32_SoundDevice_class_Syntax.s(1) = "Caption"
Win32_SoundDevice_class_Syntax.s(2) = "ConfigManagerErrorCode"
Win32_SoundDevice_class_Syntax.s(3) = "ConfigManagerUserConfig"
Win32_SoundDevice_class_Syntax.s(4) = "CreationClassName"
Win32_SoundDevice_class_Syntax.s(5) = "Description"
Win32_SoundDevice_class_Syntax.s(6) = "DeviceID"
Win32_SoundDevice_class_Syntax.s(7) = "DMABufferSize"
Win32_SoundDevice_class_Syntax.s(8) = "ErrorCleared"
Win32_SoundDevice_class_Syntax.s(9) = "ErrorDescription"
Win32_SoundDevice_class_Syntax.s(10) = "InstallDate"
Win32_SoundDevice_class_Syntax.s(11) = "LastErrorCode"
Win32_SoundDevice_class_Syntax.s(12) = "Manufacturer"
Win32_SoundDevice_class_Syntax.s(13) = "MPU401Address"
Win32_SoundDevice_class_Syntax.s(14) = "Name"
Win32_SoundDevice_class_Syntax.s(15) = "PNPDeviceID"
Win32_SoundDevice_class_Syntax.s(16) = "PowerManagementCapabilities[]"
Win32_SoundDevice_class_Syntax.s(17) = "PowerManagementSupported"
Win32_SoundDevice_class_Syntax.s(18) = "ProductName"
Win32_SoundDevice_class_Syntax.s(19) = "Status"
Win32_SoundDevice_class_Syntax.s(20) = "StatusInfo"
Win32_SoundDevice_class_Syntax.s(21) = "SystemCreationClassName"
Win32_SoundDevice_class_Syntax.s(22) = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394074(v=vs.85).aspx
Dim Win32_Battery_class_Syntax.s(32)
Win32_Battery_class_Syntax.s(0) = "Availability"
Win32_Battery_class_Syntax.s(1) = "BatteryRechargeTime"
Win32_Battery_class_Syntax.s(2) = "BatteryStatus"
Win32_Battery_class_Syntax.s(3) = "Caption"
Win32_Battery_class_Syntax.s(4) = "Chemistry"
Win32_Battery_class_Syntax.s(5) = "ConfigManagerErrorCode"
Win32_Battery_class_Syntax.s(6) = "ConfigManagerUserConfig"
Win32_Battery_class_Syntax.s(7) = "CreationClassName"
Win32_Battery_class_Syntax.s(8) = "Description"
Win32_Battery_class_Syntax.s(9) = "DesignCapacity"
Win32_Battery_class_Syntax.s(10) = "DesignVoltage"
Win32_Battery_class_Syntax.s(11) = "DeviceID"
Win32_Battery_class_Syntax.s(12) = "ErrorCleared"
Win32_Battery_class_Syntax.s(13) = "ErrorDescription"
Win32_Battery_class_Syntax.s(14) = "EstimatedChargeRemaining"
Win32_Battery_class_Syntax.s(15) = "EstimatedRunTime"
Win32_Battery_class_Syntax.s(16) = "ExpectedBatteryLife"
Win32_Battery_class_Syntax.s(17) = "ExpectedLife"
Win32_Battery_class_Syntax.s(18) = "FullChargeCapacity"
Win32_Battery_class_Syntax.s(19) = "InstallDate"
Win32_Battery_class_Syntax.s(20) = "LastErrorCode"
Win32_Battery_class_Syntax.s(21) = "MaxRechargeTime"
Win32_Battery_class_Syntax.s(22) = "Name"
Win32_Battery_class_Syntax.s(23) = "PNPDeviceID"
Win32_Battery_class_Syntax.s(24) = "PowerManagementCapabilities[]"
Win32_Battery_class_Syntax.s(25) = "PowerManagementSupported"
Win32_Battery_class_Syntax.s(26) = "SmartBatteryVersion"
Win32_Battery_class_Syntax.s(27) = "Status"
Win32_Battery_class_Syntax.s(28) = "StatusInfo"
Win32_Battery_class_Syntax.s(29) = "SystemCreationClassName"
Win32_Battery_class_Syntax.s(30) = "SystemName"
Win32_Battery_class_Syntax.s(31) = "TimeOnBattery"
Win32_Battery_class_Syntax.s(32) = "TimeToFullCharge"

;https://msdn.microsoft.com/en-us/library/aa394077(v=vs.85).aspx
Dim Win32_BIOS_class_Syntax.s(30)
Win32_BIOS_class_Syntax.s(0) = "BiosCharacteristics[]"
Win32_BIOS_class_Syntax.s(1) = "BIOSVersion[]"
Win32_BIOS_class_Syntax.s(2) = "BuildNumber"
Win32_BIOS_class_Syntax.s(3) = "Caption"
Win32_BIOS_class_Syntax.s(4) = "CodeSet"
Win32_BIOS_class_Syntax.s(5) = "CurrentLanguage"
Win32_BIOS_class_Syntax.s(6) = "Description"
Win32_BIOS_class_Syntax.s(7) = "EmbeddedControllerMajorVersion"
Win32_BIOS_class_Syntax.s(8) = "EmbeddedControllerMinorVersion"
Win32_BIOS_class_Syntax.s(9) = "IdentificationCode"
Win32_BIOS_class_Syntax.s(10) = "InstallableLanguages"
Win32_BIOS_class_Syntax.s(11) = "InstallDate"
Win32_BIOS_class_Syntax.s(12) = "LanguageEdition"
Win32_BIOS_class_Syntax.s(13) = "ListOfLanguages[]"
Win32_BIOS_class_Syntax.s(14) = "Manufacturer"
Win32_BIOS_class_Syntax.s(15) = "Name"
Win32_BIOS_class_Syntax.s(16) = "OtherTargetOS"
Win32_BIOS_class_Syntax.s(17) = "PrimaryBIOS"
Win32_BIOS_class_Syntax.s(18) = "ReleaseDate"
Win32_BIOS_class_Syntax.s(19) = "SerialNumber"
Win32_BIOS_class_Syntax.s(20) = "SMBIOSBIOSVersion"
Win32_BIOS_class_Syntax.s(21) = "SMBIOSMajorVersion"
Win32_BIOS_class_Syntax.s(22) = "SMBIOSMinorVersion"
Win32_BIOS_class_Syntax.s(23) = "SMBIOSPresent"
Win32_BIOS_class_Syntax.s(24) = "SoftwareElementID"
Win32_BIOS_class_Syntax.s(25) = "SoftwareElementState"
Win32_BIOS_class_Syntax.s(26) = "Status"
Win32_BIOS_class_Syntax.s(27) = "SystemBiosMajorVersion"
Win32_BIOS_class_Syntax.s(28) = "SystemBiosMinorVersion"
Win32_BIOS_class_Syntax.s(29) = "TargetOperatingSystem"
Win32_BIOS_class_Syntax.s(30) = "Version"

;https://msdn.microsoft.com/en-us/library/aa394512(v=vs.85).aspx
Dim Win32_VideoController_class_Syntax.s(58)
Win32_VideoController_class_Syntax.s(0) = "AcceleratorCapabilities[]"
Win32_VideoController_class_Syntax.s(1) = "AdapterCompatibility"
Win32_VideoController_class_Syntax.s(2) = "AdapterDACType"
Win32_VideoController_class_Syntax.s(3) = "AdapterRAM"
Win32_VideoController_class_Syntax.s(4) = "Availability"
Win32_VideoController_class_Syntax.s(5) = "CapabilityDescriptions[]"
Win32_VideoController_class_Syntax.s(6) = "Caption"
Win32_VideoController_class_Syntax.s(7) = "ColorTableEntries"
Win32_VideoController_class_Syntax.s(8) = "ConfigManagerErrorCode"
Win32_VideoController_class_Syntax.s(9) = "ConfigManagerUserConfig"
Win32_VideoController_class_Syntax.s(10) = "CreationClassName"
Win32_VideoController_class_Syntax.s(11) = "CurrentBitsPerPixel"
Win32_VideoController_class_Syntax.s(12) = "CurrentHorizontalResolution"
Win32_VideoController_class_Syntax.s(13) = "CurrentNumberOfColors"
Win32_VideoController_class_Syntax.s(14) = "CurrentNumberOfColumns"
Win32_VideoController_class_Syntax.s(15) = "CurrentNumberOfRows"
Win32_VideoController_class_Syntax.s(16) = "CurrentRefreshRate"
Win32_VideoController_class_Syntax.s(17) = "CurrentScanMode"
Win32_VideoController_class_Syntax.s(18) = "CurrentVerticalResolution"
Win32_VideoController_class_Syntax.s(19) = "Description"
Win32_VideoController_class_Syntax.s(20) = "DeviceID"
Win32_VideoController_class_Syntax.s(21) = "DeviceSpecificPens"
Win32_VideoController_class_Syntax.s(22) = "DitherType"
Win32_VideoController_class_Syntax.s(23) = "DriverDate"
Win32_VideoController_class_Syntax.s(24) = "DriverVersion"
Win32_VideoController_class_Syntax.s(25) = "ErrorCleared"
Win32_VideoController_class_Syntax.s(26) = "ErrorDescription"
Win32_VideoController_class_Syntax.s(27) = "ICMIntent"
Win32_VideoController_class_Syntax.s(28) = "ICMMethod"
Win32_VideoController_class_Syntax.s(29) = "InfFilename"
Win32_VideoController_class_Syntax.s(30) = "InfSection"
Win32_VideoController_class_Syntax.s(31) = "InstallDate"
Win32_VideoController_class_Syntax.s(32) = "InstalledDisplayDrivers"
Win32_VideoController_class_Syntax.s(33) = "LastErrorCode"
Win32_VideoController_class_Syntax.s(34) = "MaxMemorySupported"
Win32_VideoController_class_Syntax.s(35) = "MaxNumberControlled"
Win32_VideoController_class_Syntax.s(36) = "MaxRefreshRate"
Win32_VideoController_class_Syntax.s(37) = "MinRefreshRate"
Win32_VideoController_class_Syntax.s(38) = "Monochrome"
Win32_VideoController_class_Syntax.s(39) = "Name"
Win32_VideoController_class_Syntax.s(40) = "NumberOfColorPlanes"
Win32_VideoController_class_Syntax.s(41) = "NumberOfVideoPages"
Win32_VideoController_class_Syntax.s(42) = "PNPDeviceID"
Win32_VideoController_class_Syntax.s(43) = "PowerManagementCapabilities[]"
Win32_VideoController_class_Syntax.s(44) = "PowerManagementSupported"
Win32_VideoController_class_Syntax.s(45) = "ProtocolSupported"
Win32_VideoController_class_Syntax.s(46) = "ReservedSystemPaletteEntries"
Win32_VideoController_class_Syntax.s(47) = "SpecificationVersion"
Win32_VideoController_class_Syntax.s(48) = "Status"
Win32_VideoController_class_Syntax.s(49) = "StatusInfo"
Win32_VideoController_class_Syntax.s(50) = "SystemCreationClassName"
Win32_VideoController_class_Syntax.s(51) = "SystemName"
Win32_VideoController_class_Syntax.s(52) = "SystemPaletteEntries"
Win32_VideoController_class_Syntax.s(53) = "TimeOfLastReset"
Win32_VideoController_class_Syntax.s(54) = "VideoArchitecture"
Win32_VideoController_class_Syntax.s(55) = "VideoMemoryType"
Win32_VideoController_class_Syntax.s(56) = "VideoMode"
Win32_VideoController_class_Syntax.s(57) = "VideoModeDescription"
Win32_VideoController_class_Syntax.s(58) = "VideoProcessor"

;https://msdn.microsoft.com/en-us/library/aa394102(v=vs.85).aspx
Dim Win32_ComputerSystem_class_Syntax.s(63)
Win32_ComputerSystem_class_Syntax.s(0) = "AdminPasswordStatus"
Win32_ComputerSystem_class_Syntax.s(1) = "AutomaticManagedPagefile"
Win32_ComputerSystem_class_Syntax.s(2) = "AutomaticResetBootOption"
Win32_ComputerSystem_class_Syntax.s(3) = "AutomaticResetCapability"
Win32_ComputerSystem_class_Syntax.s(4) = "BootOptionOnLimit"
Win32_ComputerSystem_class_Syntax.s(5) = "BootOptionOnWatchDog"
Win32_ComputerSystem_class_Syntax.s(6) = "BootROMSupported"
Win32_ComputerSystem_class_Syntax.s(7) = "BootupState"
Win32_ComputerSystem_class_Syntax.s(8) = "BootStatus[]"
Win32_ComputerSystem_class_Syntax.s(9) = "Caption"
Win32_ComputerSystem_class_Syntax.s(10) = "ChassisBootupState"
Win32_ComputerSystem_class_Syntax.s(11) = "ChassisSKUNumber"
Win32_ComputerSystem_class_Syntax.s(12) = "CreationClassName"
Win32_ComputerSystem_class_Syntax.s(13) = "CurrentTimeZone"
Win32_ComputerSystem_class_Syntax.s(14) = "DaylightInEffect"
Win32_ComputerSystem_class_Syntax.s(15) = "Description"
Win32_ComputerSystem_class_Syntax.s(16) = "DNSHostName"
Win32_ComputerSystem_class_Syntax.s(17) = "Domain"
Win32_ComputerSystem_class_Syntax.s(18) = "DomainRole"
Win32_ComputerSystem_class_Syntax.s(19) = "EnableDaylightSavingsTime"
Win32_ComputerSystem_class_Syntax.s(20) = "FrontPanelResetStatus"
Win32_ComputerSystem_class_Syntax.s(21) = "HypervisorPresent"
Win32_ComputerSystem_class_Syntax.s(22) = "InfraredSupported"
Win32_ComputerSystem_class_Syntax.s(23) = "InitialLoadInfo[]"
Win32_ComputerSystem_class_Syntax.s(24) = "InstallDate"
Win32_ComputerSystem_class_Syntax.s(25) = "KeyboardPasswordStatus"
Win32_ComputerSystem_class_Syntax.s(26) = "LastLoadInfo"
Win32_ComputerSystem_class_Syntax.s(27) = "Manufacturer"
Win32_ComputerSystem_class_Syntax.s(28) = "Model"
Win32_ComputerSystem_class_Syntax.s(29) = "Name"
Win32_ComputerSystem_class_Syntax.s(30) = "NameFormat"
Win32_ComputerSystem_class_Syntax.s(31) = "NetworkServerModeEnabled"
Win32_ComputerSystem_class_Syntax.s(32) = "NumberOfLogicalProcessors"
Win32_ComputerSystem_class_Syntax.s(33) = "NumberOfProcessors"
Win32_ComputerSystem_class_Syntax.s(34) = "OEMLogoBitmap[]"
Win32_ComputerSystem_class_Syntax.s(35) = "OEMStringArray[]"
Win32_ComputerSystem_class_Syntax.s(36) = "PartOfDomain"
Win32_ComputerSystem_class_Syntax.s(37) = "PauseAfterReset"
Win32_ComputerSystem_class_Syntax.s(38) = "PCSystemType"
Win32_ComputerSystem_class_Syntax.s(39) = "PCSystemTypeEx"
Win32_ComputerSystem_class_Syntax.s(40) = "PowerManagementCapabilities[]"
Win32_ComputerSystem_class_Syntax.s(41) = "PowerManagementSupported"
Win32_ComputerSystem_class_Syntax.s(42) = "PowerOnPasswordStatus"
Win32_ComputerSystem_class_Syntax.s(43) = "PowerState"
Win32_ComputerSystem_class_Syntax.s(44) = "PowerSupplyState"
Win32_ComputerSystem_class_Syntax.s(45) = "PrimaryOwnerContact"
Win32_ComputerSystem_class_Syntax.s(46) = "PrimaryOwnerName"
Win32_ComputerSystem_class_Syntax.s(47) = "ResetCapability"
Win32_ComputerSystem_class_Syntax.s(48) = "ResetCount"
Win32_ComputerSystem_class_Syntax.s(49) = "ResetLimit"
Win32_ComputerSystem_class_Syntax.s(50) = "Roles[]"
Win32_ComputerSystem_class_Syntax.s(51) = "Status"
Win32_ComputerSystem_class_Syntax.s(52) = "SupportContactDescription[]"
Win32_ComputerSystem_class_Syntax.s(53) = "SystemFamily"
Win32_ComputerSystem_class_Syntax.s(54) = "SystemSKUNumber"
Win32_ComputerSystem_class_Syntax.s(55) = "SystemStartupDelay"
Win32_ComputerSystem_class_Syntax.s(56) = "SystemStartupOptions[]"
Win32_ComputerSystem_class_Syntax.s(57) = "SystemStartupSetting"
Win32_ComputerSystem_class_Syntax.s(58) = "SystemType"
Win32_ComputerSystem_class_Syntax.s(59) = "ThermalState"
Win32_ComputerSystem_class_Syntax.s(60) = "TotalPhysicalMemory"
Win32_ComputerSystem_class_Syntax.s(61) = "UserName"
Win32_ComputerSystem_class_Syntax.s(62) = "WakeUpType"
Win32_ComputerSystem_class_Syntax.s(63) = "Workgroup"

;https://msdn.microsoft.com/en-us/library/aa394121(v=vs.85).aspx
Dim Win32_Desktop_class_Syntax.s(20)
Win32_Desktop_class_Syntax.s(0) = "Caption"
Win32_Desktop_class_Syntax.s(1) = "Description"
Win32_Desktop_class_Syntax.s(2) = "SettingID"
Win32_Desktop_class_Syntax.s(3) = "BorderWidth"
Win32_Desktop_class_Syntax.s(4) = "CoolSwitch"
Win32_Desktop_class_Syntax.s(5) = "CursorBlinkRate"
Win32_Desktop_class_Syntax.s(6) = "DragFullWindows"
Win32_Desktop_class_Syntax.s(7) = "GridGranularity"
Win32_Desktop_class_Syntax.s(8) = "IconSpacing"
Win32_Desktop_class_Syntax.s(9) = "IconTitleFaceName"
Win32_Desktop_class_Syntax.s(10) = "IconTitleSize"
Win32_Desktop_class_Syntax.s(11) = "IconTitleWrap"
Win32_Desktop_class_Syntax.s(12) = "Name"
Win32_Desktop_class_Syntax.s(13) = "Pattern"
Win32_Desktop_class_Syntax.s(14) = "ScreenSaverActive"
Win32_Desktop_class_Syntax.s(15) = "ScreenSaverExecutable"
Win32_Desktop_class_Syntax.s(16) = "ScreenSaverSecure"
Win32_Desktop_class_Syntax.s(17) = "ScreenSaverTimeout"
Win32_Desktop_class_Syntax.s(18) = "Wallpaper"
Win32_Desktop_class_Syntax.s(19) = "WallpaperStretched"
Win32_Desktop_class_Syntax.s(20) = "WallpaperTiled"

;https://msdn.microsoft.com/en-us/library/aa394132(v=vs.85).aspx
Dim Win32_DiskDrive_class_Syntax.s(50)
Win32_DiskDrive_class_Syntax.s(0) = "Availability"
Win32_DiskDrive_class_Syntax.s(1) = "BytesPerSector"
Win32_DiskDrive_class_Syntax.s(2) = "Capabilities[]"
Win32_DiskDrive_class_Syntax.s(3) = "CapabilityDescriptions[]"
Win32_DiskDrive_class_Syntax.s(4) = "Caption"
Win32_DiskDrive_class_Syntax.s(5) = "CompressionMethod"
Win32_DiskDrive_class_Syntax.s(6) = "ConfigManagerErrorCode"
Win32_DiskDrive_class_Syntax.s(7) = "ConfigManagerUserConfig"
Win32_DiskDrive_class_Syntax.s(8) = "CreationClassName"
Win32_DiskDrive_class_Syntax.s(9) = "DefaultBlockSize"
Win32_DiskDrive_class_Syntax.s(10) = "Description"
Win32_DiskDrive_class_Syntax.s(11) = "DeviceID"
Win32_DiskDrive_class_Syntax.s(12) = "ErrorCleared"
Win32_DiskDrive_class_Syntax.s(13) = "ErrorDescription"
Win32_DiskDrive_class_Syntax.s(14) = "ErrorMethodology"
Win32_DiskDrive_class_Syntax.s(15) = "FirmwareRevision"
Win32_DiskDrive_class_Syntax.s(16) = "Index"
Win32_DiskDrive_class_Syntax.s(17) = "InstallDate"
Win32_DiskDrive_class_Syntax.s(18) = "InterfaceType"
Win32_DiskDrive_class_Syntax.s(19) = "LastErrorCode"
Win32_DiskDrive_class_Syntax.s(20) = "Manufacturer"
Win32_DiskDrive_class_Syntax.s(21) = "MaxBlockSize"
Win32_DiskDrive_class_Syntax.s(22) = "MaxMediaSize"
Win32_DiskDrive_class_Syntax.s(23) = "MediaLoaded"
Win32_DiskDrive_class_Syntax.s(24) = "MediaType"
Win32_DiskDrive_class_Syntax.s(25) = "MinBlockSize"
Win32_DiskDrive_class_Syntax.s(26) = "Model"
Win32_DiskDrive_class_Syntax.s(27) = "Name"
Win32_DiskDrive_class_Syntax.s(28) = "NeedsCleaning"
Win32_DiskDrive_class_Syntax.s(29) = "NumberOfMediaSupported"
Win32_DiskDrive_class_Syntax.s(30) = "Partitions"
Win32_DiskDrive_class_Syntax.s(31) = "PNPDeviceID"
Win32_DiskDrive_class_Syntax.s(32) = "PowerManagementCapabilities[]"
Win32_DiskDrive_class_Syntax.s(33) = "PowerManagementSupported"
Win32_DiskDrive_class_Syntax.s(34) = "SCSIBus"
Win32_DiskDrive_class_Syntax.s(35) = "SCSILogicalUnit"
Win32_DiskDrive_class_Syntax.s(36) = "SCSIPort"
Win32_DiskDrive_class_Syntax.s(37) = "SCSITargetId"
Win32_DiskDrive_class_Syntax.s(38) = "SectorsPerTrack"
Win32_DiskDrive_class_Syntax.s(39) = "SerialNumber"
Win32_DiskDrive_class_Syntax.s(40) = "Signature"
Win32_DiskDrive_class_Syntax.s(41) = "Size"
Win32_DiskDrive_class_Syntax.s(42) = "Status"
Win32_DiskDrive_class_Syntax.s(43) = "StatusInfo"
Win32_DiskDrive_class_Syntax.s(44) = "SystemCreationClassName"
Win32_DiskDrive_class_Syntax.s(45) = "SystemName"
Win32_DiskDrive_class_Syntax.s(46) = "TotalCylinders"
Win32_DiskDrive_class_Syntax.s(47) = "TotalHeads"
Win32_DiskDrive_class_Syntax.s(48) = "TotalSectors"
Win32_DiskDrive_class_Syntax.s(49) = "TotalTracks"
Win32_DiskDrive_class_Syntax.s(50) = "TracksPerCylinder"

;https://msdn.microsoft.com/en-us/library/aa394166(v=vs.85).aspx
Dim Win32_Keyboard_class_Syntax.s(22)
Win32_Keyboard_class_Syntax.s(0) = "Availability"
Win32_Keyboard_class_Syntax.s(1) = "Caption"
Win32_Keyboard_class_Syntax.s(2) = "ConfigManagerErrorCode"
Win32_Keyboard_class_Syntax.s(3) = "ConfigManagerUserConfig"
Win32_Keyboard_class_Syntax.s(4) = "CreationClassName"
Win32_Keyboard_class_Syntax.s(5) = "Description"
Win32_Keyboard_class_Syntax.s(6) = "DeviceID"
Win32_Keyboard_class_Syntax.s(7) = "ErrorCleared"
Win32_Keyboard_class_Syntax.s(8) = "ErrorDescription"
Win32_Keyboard_class_Syntax.s(9) = "InstallDate"
Win32_Keyboard_class_Syntax.s(10) = "IsLocked"
Win32_Keyboard_class_Syntax.s(11) = "LastErrorCode"
Win32_Keyboard_class_Syntax.s(12) = "Layout"
Win32_Keyboard_class_Syntax.s(13) = "Name"
Win32_Keyboard_class_Syntax.s(14) = "NumberOfFunctionKeys"
Win32_Keyboard_class_Syntax.s(15) = "Password"
Win32_Keyboard_class_Syntax.s(16) = "PNPDeviceID"
Win32_Keyboard_class_Syntax.s(17) = "PowerManagementCapabilities[]"
Win32_Keyboard_class_Syntax.s(18) = "PowerManagementSupported"
Win32_Keyboard_class_Syntax.s(19) = "Status"
Win32_Keyboard_class_Syntax.s(20) = "StatusInfo"
Win32_Keyboard_class_Syntax.s(21) = "SystemCreationClassName"
Win32_Keyboard_class_Syntax.s(22) = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394347(v=vs.85).aspx
Dim Win32_PhysicalMemory_class_Syntax.s(35)
Win32_PhysicalMemory_class_Syntax.s(0) = "Attributes"
Win32_PhysicalMemory_class_Syntax.s(1) = "BankLabel"
Win32_PhysicalMemory_class_Syntax.s(2) = "Capacity"
Win32_PhysicalMemory_class_Syntax.s(3) = "Caption"
Win32_PhysicalMemory_class_Syntax.s(4) = "ConfiguredClockSpeed"
Win32_PhysicalMemory_class_Syntax.s(5) = "ConfiguredVoltage"
Win32_PhysicalMemory_class_Syntax.s(6) = "CreationClassName"
Win32_PhysicalMemory_class_Syntax.s(7) = "DataWidth"
Win32_PhysicalMemory_class_Syntax.s(8) = "Description"
Win32_PhysicalMemory_class_Syntax.s(9) = "DeviceLocator"
Win32_PhysicalMemory_class_Syntax.s(10) = "FormFactor"
Win32_PhysicalMemory_class_Syntax.s(11) = "HotSwappable"
Win32_PhysicalMemory_class_Syntax.s(12) = "InstallDate"
Win32_PhysicalMemory_class_Syntax.s(13) = "InterleaveDataDepth"
Win32_PhysicalMemory_class_Syntax.s(14) = "InterleavePosition"
Win32_PhysicalMemory_class_Syntax.s(15) = "Manufacturer"
Win32_PhysicalMemory_class_Syntax.s(16) = "MaxVoltage"
Win32_PhysicalMemory_class_Syntax.s(17) = "MemoryType"
Win32_PhysicalMemory_class_Syntax.s(18) = "MinVoltage"
Win32_PhysicalMemory_class_Syntax.s(19) = "Model"
Win32_PhysicalMemory_class_Syntax.s(20) = "Name"
Win32_PhysicalMemory_class_Syntax.s(21) = "OtherIdentifyingInfo"
Win32_PhysicalMemory_class_Syntax.s(22) = "PartNumber"
Win32_PhysicalMemory_class_Syntax.s(23) = "PositionInRow"
Win32_PhysicalMemory_class_Syntax.s(24) = "PoweredOn"
Win32_PhysicalMemory_class_Syntax.s(25) = "Removable"
Win32_PhysicalMemory_class_Syntax.s(26) = "Replaceable"
Win32_PhysicalMemory_class_Syntax.s(27) = "SerialNumber"
Win32_PhysicalMemory_class_Syntax.s(28) = "SKU"
Win32_PhysicalMemory_class_Syntax.s(29) = "SMBIOSMemoryType"
Win32_PhysicalMemory_class_Syntax.s(30) = "Speed"
Win32_PhysicalMemory_class_Syntax.s(31) = "Status"
Win32_PhysicalMemory_class_Syntax.s(32) = "Tag"
Win32_PhysicalMemory_class_Syntax.s(33) = "TotalWidth"
Win32_PhysicalMemory_class_Syntax.s(34) = "TypeDetail"
Win32_PhysicalMemory_class_Syntax.s(35) = "Version"

;https://msdn.microsoft.com/en-us/library/aa394122(v=vs.85).aspx
Dim Win32_DesktopMonitor_class_Syntax.s(27)
Win32_DesktopMonitor_class_Syntax(0)  = "Availability"
Win32_DesktopMonitor_class_Syntax(1)  = "Bandwidth"
Win32_DesktopMonitor_class_Syntax(2)  = "Caption"
Win32_DesktopMonitor_class_Syntax(3)  = "ConfigManagerErrorCode"
Win32_DesktopMonitor_class_Syntax(4)  = "ConfigManagerUserConfig"
Win32_DesktopMonitor_class_Syntax(5)  = "CreationClassName"
Win32_DesktopMonitor_class_Syntax(6)  = "Description"
Win32_DesktopMonitor_class_Syntax(7)  = "DeviceID"
Win32_DesktopMonitor_class_Syntax(8)  = "DisplayType"
Win32_DesktopMonitor_class_Syntax(9)  = "ErrorCleared"
Win32_DesktopMonitor_class_Syntax(10)  = "ErrorDescription"
Win32_DesktopMonitor_class_Syntax(11)  = "InstallDate"
Win32_DesktopMonitor_class_Syntax(12)  = "IsLocked"
Win32_DesktopMonitor_class_Syntax(13)  = "LastErrorCode"
Win32_DesktopMonitor_class_Syntax(14)  = "MonitorManufacturer"
Win32_DesktopMonitor_class_Syntax(15)  = "MonitorType"
Win32_DesktopMonitor_class_Syntax(16)  = "Name"
Win32_DesktopMonitor_class_Syntax(17)  = "PixelsPerXLogicalInch"
Win32_DesktopMonitor_class_Syntax(18)  = "PixelsPerYLogicalInch"
Win32_DesktopMonitor_class_Syntax(19)  = "PNPDeviceID"
Win32_DesktopMonitor_class_Syntax(20)  = "PowerManagementCapabilities[]"
Win32_DesktopMonitor_class_Syntax(21)  = "PowerManagementSupported"
Win32_DesktopMonitor_class_Syntax(22)  = "ScreenHeight"
Win32_DesktopMonitor_class_Syntax(23)  = "ScreenWidth"
Win32_DesktopMonitor_class_Syntax(24)  = "Status"
Win32_DesktopMonitor_class_Syntax(25)  = "StatusInfo"
Win32_DesktopMonitor_class_Syntax(26)  = "SystemCreationClassName"
Win32_DesktopMonitor_class_Syntax(27)  = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394204(v=vs.85).aspx
Dim Win32_MotherboardDevice_class_Syntax.s(21)
Win32_MotherboardDevice_class_Syntax.s(0) = "Availability"
Win32_MotherboardDevice_class_Syntax.s(1) = "Caption"
Win32_MotherboardDevice_class_Syntax.s(2) = "ConfigManagerErrorCode"
Win32_MotherboardDevice_class_Syntax.s(3) = "ConfigManagerUserConfig"
Win32_MotherboardDevice_class_Syntax.s(4) = "CreationClassName"
Win32_MotherboardDevice_class_Syntax.s(5) = "Description"
Win32_MotherboardDevice_class_Syntax.s(6) = "DeviceID"
Win32_MotherboardDevice_class_Syntax.s(7) = "ErrorCleared"
Win32_MotherboardDevice_class_Syntax.s(8) = "ErrorDescription"
Win32_MotherboardDevice_class_Syntax.s(9) = "InstallDate"
Win32_MotherboardDevice_class_Syntax.s(10) = "LastErrorCode"
Win32_MotherboardDevice_class_Syntax.s(11) = "Name"
Win32_MotherboardDevice_class_Syntax.s(12) = "PNPDeviceID"
Win32_MotherboardDevice_class_Syntax.s(13) = "PowerManagementCapabilities[]"
Win32_MotherboardDevice_class_Syntax.s(14) = "PowerManagementSupported"
Win32_MotherboardDevice_class_Syntax.s(15) = "PrimaryBusType"
Win32_MotherboardDevice_class_Syntax.s(16) = "RevisionNumber"
Win32_MotherboardDevice_class_Syntax.s(17) = "SecondaryBusType"
Win32_MotherboardDevice_class_Syntax.s(18) = "Status"
Win32_MotherboardDevice_class_Syntax.s(19) = "StatusInfo"
Win32_MotherboardDevice_class_Syntax.s(20) = "SystemCreationClassName"
Win32_MotherboardDevice_class_Syntax.s(21) = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394356(v=vs.85).aspx
Dim Win32_PointingDevice_class_Syntax.s(32)
Win32_PointingDevice_class_Syntax.s(0) = "Availability"
Win32_PointingDevice_class_Syntax.s(1) = "Caption"
Win32_PointingDevice_class_Syntax.s(2) = "ConfigManagerErrorCode"
Win32_PointingDevice_class_Syntax.s(3) = "ConfigManagerUserConfig"
Win32_PointingDevice_class_Syntax.s(4) = "CreationClassName"
Win32_PointingDevice_class_Syntax.s(5) = "Description"
Win32_PointingDevice_class_Syntax.s(6) = "DeviceID"
Win32_PointingDevice_class_Syntax.s(7) = "DeviceInterface"
Win32_PointingDevice_class_Syntax.s(8) = "DoubleSpeedThreshold"
Win32_PointingDevice_class_Syntax.s(9) = "ErrorCleared"
Win32_PointingDevice_class_Syntax.s(10) = "ErrorDescription"
Win32_PointingDevice_class_Syntax.s(11) = "Handedness"
Win32_PointingDevice_class_Syntax.s(12) = "HardwareType"
Win32_PointingDevice_class_Syntax.s(13) = "InfFileName"
Win32_PointingDevice_class_Syntax.s(14) = "InfSection"
Win32_PointingDevice_class_Syntax.s(15) = "InstallDate"
Win32_PointingDevice_class_Syntax.s(16) = "IsLocked"
Win32_PointingDevice_class_Syntax.s(17) = "LastErrorCode"
Win32_PointingDevice_class_Syntax.s(18) = "Manufacturer"
Win32_PointingDevice_class_Syntax.s(19) = "Name"
Win32_PointingDevice_class_Syntax.s(20) = "NumberOfButtons"
Win32_PointingDevice_class_Syntax.s(21) = "PNPDeviceID"
Win32_PointingDevice_class_Syntax.s(22) = "PointingType"
Win32_PointingDevice_class_Syntax.s(23) = "PowerManagementCapabilities[]"
Win32_PointingDevice_class_Syntax.s(24) = "PowerManagementSupported"
Win32_PointingDevice_class_Syntax.s(25) = "QuadSpeedThreshold"
Win32_PointingDevice_class_Syntax.s(26) = "Resolution"
Win32_PointingDevice_class_Syntax.s(27) = "SampleRate"
Win32_PointingDevice_class_Syntax.s(28) = "Status"
Win32_PointingDevice_class_Syntax.s(29) = "StatusInfo"
Win32_PointingDevice_class_Syntax.s(30) = "Synch"
Win32_PointingDevice_class_Syntax.s(31) = "SystemCreationClassName"
Win32_PointingDevice_class_Syntax.s(32) = "SystemName"

;https://msdn.microsoft.com/en-us/library/aa394216(v=vs.85).aspx
Dim Win32_NetworkAdapter_class_Syntax.s(39)
Win32_NetworkAdapter_class_Syntax.s(0) = "AdapterType"
Win32_NetworkAdapter_class_Syntax.s(1) = "AdapterTypeID"
Win32_NetworkAdapter_class_Syntax.s(2) = "AutoSense"
Win32_NetworkAdapter_class_Syntax.s(3) = "Availability"
Win32_NetworkAdapter_class_Syntax.s(4) = "Caption"
Win32_NetworkAdapter_class_Syntax.s(5) = "ConfigManagerErrorCode"
Win32_NetworkAdapter_class_Syntax.s(6) = "ConfigManagerUserConfig"
Win32_NetworkAdapter_class_Syntax.s(7) = "CreationClassName"
Win32_NetworkAdapter_class_Syntax.s(8) = "Description"
Win32_NetworkAdapter_class_Syntax.s(9) = "DeviceID"
Win32_NetworkAdapter_class_Syntax.s(10) = "ErrorCleared"
Win32_NetworkAdapter_class_Syntax.s(11) = "ErrorDescription"
Win32_NetworkAdapter_class_Syntax.s(12) = "GUID"
Win32_NetworkAdapter_class_Syntax.s(13) = "Index"
Win32_NetworkAdapter_class_Syntax.s(14) = "InstallDate"
Win32_NetworkAdapter_class_Syntax.s(15) = "Installed"
Win32_NetworkAdapter_class_Syntax.s(16) = "InterfaceIndex"
Win32_NetworkAdapter_class_Syntax.s(17) = "LastErrorCode"
Win32_NetworkAdapter_class_Syntax.s(18) = "MACAddress"
Win32_NetworkAdapter_class_Syntax.s(19) = "Manufacturer"
Win32_NetworkAdapter_class_Syntax.s(20) = "MaxNumberControlled"
Win32_NetworkAdapter_class_Syntax.s(21) = "MaxSpeed"
Win32_NetworkAdapter_class_Syntax.s(22) = "Name"
Win32_NetworkAdapter_class_Syntax.s(23) = "NetConnectionID"
Win32_NetworkAdapter_class_Syntax.s(24) = "NetConnectionStatus"
Win32_NetworkAdapter_class_Syntax.s(25) = "NetEnabled"
Win32_NetworkAdapter_class_Syntax.s(26) = "NetworkAddresses[]"
Win32_NetworkAdapter_class_Syntax.s(27) = "PermanentAddress"
Win32_NetworkAdapter_class_Syntax.s(28) = "PhysicalAdapter"
Win32_NetworkAdapter_class_Syntax.s(29) = "PNPDeviceID"
Win32_NetworkAdapter_class_Syntax.s(30) = "PowerManagementCapabilities[]"
Win32_NetworkAdapter_class_Syntax.s(31) = "PowerManagementSupported"
Win32_NetworkAdapter_class_Syntax.s(32) = "ProductName"
Win32_NetworkAdapter_class_Syntax.s(33) = "ServiceName"
Win32_NetworkAdapter_class_Syntax.s(34) = "Speed"
Win32_NetworkAdapter_class_Syntax.s(35) = "Status"
Win32_NetworkAdapter_class_Syntax.s(36) = "StatusInfo"
Win32_NetworkAdapter_class_Syntax.s(37) = "SystemCreationClassName"
Win32_NetworkAdapter_class_Syntax.s(38) = "SystemName"
Win32_NetworkAdapter_class_Syntax.s(39) = "TimeOfLastReset"

;https://msdn.microsoft.com/en-us/library/aa394239(v=vs.85).aspx
Dim Win32_OperatingSystem_class_Syntax.s(65)
Win32_OperatingSystem_class_Syntax.s(0) = "BootDevice"
Win32_OperatingSystem_class_Syntax.s(1) = "BuildNumber"
Win32_OperatingSystem_class_Syntax.s(2) = "BuildType"
Win32_OperatingSystem_class_Syntax.s(3) = "Caption"
Win32_OperatingSystem_class_Syntax.s(4) = "CodeSet"
Win32_OperatingSystem_class_Syntax.s(5) = "CountryCode"
Win32_OperatingSystem_class_Syntax.s(6) = "CreationClassName"
Win32_OperatingSystem_class_Syntax.s(7) = "CSCreationClassName"
Win32_OperatingSystem_class_Syntax.s(8) = "CSDVersion"
Win32_OperatingSystem_class_Syntax.s(9) = "CSName"
Win32_OperatingSystem_class_Syntax.s(10) = "CurrentTimeZone"
Win32_OperatingSystem_class_Syntax.s(11) = "DataExecutionPrevention_Available"
Win32_OperatingSystem_class_Syntax.s(12) = "DataExecutionPrevention_32BitApplications"
Win32_OperatingSystem_class_Syntax.s(13) = "DataExecutionPrevention_Drivers"
Win32_OperatingSystem_class_Syntax.s(14) = "DataExecutionPrevention_SupportPolicy"
Win32_OperatingSystem_class_Syntax.s(15) = "Debug"
Win32_OperatingSystem_class_Syntax.s(16) = "Description"
Win32_OperatingSystem_class_Syntax.s(17) = "Distributed"
Win32_OperatingSystem_class_Syntax.s(18) = "EncryptionLevel"
Win32_OperatingSystem_class_Syntax.s(19) = "ForegroundApplicationBoost = 2"
Win32_OperatingSystem_class_Syntax.s(20) = "FreePhysicalMemory"
Win32_OperatingSystem_class_Syntax.s(21) = "FreeSpaceInPagingFiles"
Win32_OperatingSystem_class_Syntax.s(22) = "FreeVirtualMemory"
Win32_OperatingSystem_class_Syntax.s(23) = "InstallDate"
Win32_OperatingSystem_class_Syntax.s(24) = "LargeSystemCache"
Win32_OperatingSystem_class_Syntax.s(25) = "LastBootUpTime"
Win32_OperatingSystem_class_Syntax.s(26) = "LocalDateTime"
Win32_OperatingSystem_class_Syntax.s(27) = "Locale"
Win32_OperatingSystem_class_Syntax.s(28) = "Manufacturer"
Win32_OperatingSystem_class_Syntax.s(29) = "MaxNumberOfProcesses"
Win32_OperatingSystem_class_Syntax.s(30) = "MaxProcessMemorySize"
Win32_OperatingSystem_class_Syntax.s(31) = "MUILanguages[]"
Win32_OperatingSystem_class_Syntax.s(32) = "Name"
Win32_OperatingSystem_class_Syntax.s(33) = "NumberOfLicensedUsers"
Win32_OperatingSystem_class_Syntax.s(34) = "NumberOfProcesses"
Win32_OperatingSystem_class_Syntax.s(35) = "NumberOfUsers"
Win32_OperatingSystem_class_Syntax.s(36) = "OperatingSystemSKU"
Win32_OperatingSystem_class_Syntax.s(37) = "Organization"
Win32_OperatingSystem_class_Syntax.s(38) = "OSArchitecture"
Win32_OperatingSystem_class_Syntax.s(39) = "OSLanguage"
Win32_OperatingSystem_class_Syntax.s(40) = "OSProductSuite"
Win32_OperatingSystem_class_Syntax.s(41) = "OSType"
Win32_OperatingSystem_class_Syntax.s(42) = "OtherTypeDescription"
Win32_OperatingSystem_class_Syntax.s(43) = "PAEEnabled"
Win32_OperatingSystem_class_Syntax.s(44) = "PlusProductID"
Win32_OperatingSystem_class_Syntax.s(45) = "PlusVersionNumber"
Win32_OperatingSystem_class_Syntax.s(46) = "PortableOperatingSystem"
Win32_OperatingSystem_class_Syntax.s(47) = "Primary"
Win32_OperatingSystem_class_Syntax.s(48) = "ProductType"
Win32_OperatingSystem_class_Syntax.s(49) = "RegisteredUser"
Win32_OperatingSystem_class_Syntax.s(50) = "SerialNumber"
Win32_OperatingSystem_class_Syntax.s(51) = "ServicePackMajorVersion"
Win32_OperatingSystem_class_Syntax.s(52) = "ServicePackMinorVersion"
Win32_OperatingSystem_class_Syntax.s(53) = "SizeStoredInPagingFiles"
Win32_OperatingSystem_class_Syntax.s(54) = "Status"
Win32_OperatingSystem_class_Syntax.s(55) = "SuiteMask"
Win32_OperatingSystem_class_Syntax.s(56) = "SystemDevice"
Win32_OperatingSystem_class_Syntax.s(57) = "SystemDirectory"
Win32_OperatingSystem_class_Syntax.s(58) = "SystemDrive"
Win32_OperatingSystem_class_Syntax.s(59) = "TotalSwapSpaceSize"
Win32_OperatingSystem_class_Syntax.s(60) = "TotalVirtualMemorySize"
Win32_OperatingSystem_class_Syntax.s(61) = "TotalVisibleMemorySize"
Win32_OperatingSystem_class_Syntax.s(62) = "Version"
Win32_OperatingSystem_class_Syntax.s(63) = "WindowsDirectory"
Win32_OperatingSystem_class_Syntax.s(64) = "QuantumLength"
Win32_OperatingSystem_class_Syntax.s(65) = "QuantumType"

Structure sWMI_Class_List
 Class_Name.s
 Array class_Syntax.s(0)
EndStructure

NewList WMI_Class_List.sWMI_Class_List()

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_Process"
CopyArray(Win32_Process_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_SoundDevice"
CopyArray(Win32_SoundDevice_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_Battery"
CopyArray(Win32_Battery_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_BIOS"
CopyArray(Win32_BIOS_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_VideoController"
CopyArray(Win32_VideoController_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_ComputerSystem"
CopyArray(Win32_ComputerSystem_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_Desktop"
CopyArray(Win32_Desktop_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_DiskDrive"
CopyArray(Win32_DiskDrive_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_Keyboard"
CopyArray(Win32_Keyboard_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_PhysicalMemory"
CopyArray(Win32_PhysicalMemory_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_DesktopMonitor"
CopyArray(Win32_DesktopMonitor_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_MotherboardDevice"
CopyArray(Win32_MotherboardDevice_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_PointingDevice"
CopyArray(Win32_PointingDevice_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_NetworkAdapter"
CopyArray(Win32_NetworkAdapter_class_Syntax(),WMI_Class_List()\class_Syntax())

AddElement(WMI_Class_List())
WMI_Class_List()\Class_Name = "Win32_OperatingSystem"
CopyArray(Win32_OperatingSystem_class_Syntax(),WMI_Class_List()\class_Syntax())

Procedure.b WMIGetProperties(*services.IWbemServices,WMIClassName.s,Array WMIclass_Syntax.s(1))
 
 e.IEnumWbemClassObject          
 
 If *services\ExecQuery(@"WQL", @WMIClassName, #WBEM_FLAG_RETURN_IMMEDIATELY | #WBEM_FLAG_FORWARD_ONLY, 0, @e) = #S_OK
  
  Var.VARIANT
  u.l          
  object.IWbemClassObject
  
  While (e\Next(#WBEM_INFINITE, 1, @object, @u) = #S_OK)
   
   For gg=0 To ArraySize(WMIclass_Syntax())
    
    CalssPro.s = WMIclass_Syntax(gg) 
    VariantInit_(@Var)
            
    If object\Get(@CalssPro, 0, @Var, 0, 0) = #S_OK
 
     Select Var\vt
     
      Case #VT_I4
     
       PhraseInfo$ + CalssPro + " = " + Str(Var\lVal) + #CRLF$
     
      Case #VT_DISPATCH
       ;
      Case #VT_BSTR
     
       PhraseInfo$ + CalssPro + " = " + PeekS(Var\bstrVal) + #CRLF$
     
      Case #VT_EMPTY
       ;                  
     EndSelect
     
     VariantClear_(@Var)
     
    EndIf
    
   Next
   
   object\Release()
 
  Wend
 
  e\Release()
  
 EndIf
 
EndProcedure

If CoInitializeEx_(0, #COINIT_MULTITHREADED) = #S_OK
 
 If CoInitializeSecurity_(0, -1, 0, 0, #RPC_C_AUTHN_LEVEL_DEFAULT, #RPC_C_IMP_LEVEL_IMPERSONATE, 0, 0, 0) = #S_OK
  
  locator.IWbemLocator
  
  If CoCreateInstance_(?CLSID_WbemLocator, 0, #CLSCTX_INPROC_SERVER, ?IID_IWbemLocator, @locator) = #S_OK
   
   services.IWbemServices
   
   If locator\ConnectServer(@"ROOT\CIMV2", 0, 0, 0, 0, 0, 0, @services) = #S_OK
    
    CoSetProxyBlanket_(services, #RPC_C_AUTHN_WINNT, #RPC_C_AUTHZ_NONE, 0, #RPC_C_AUTHN_LEVEL_CALL, #RPC_C_IMP_LEVEL_IMPERSONATE, 0, #EOAC_NONE);
        
    ForEach WMI_Class_List()
    
     WMIClass.s = "SELECT * FROM " + WMI_Class_List()\Class_Name
     PhraseInfo$ + "============> WMI Class Name : " + WMI_Class_List()\Class_Name + "==============================================================" + #CRLF$
     WMIGetProperties(services, WMIClass, WMI_Class_List()\class_Syntax())
     PhraseInfo$ + "========================================================================================" + #CRLF$
    
    Next
    
    services\Release()
    
   EndIf
   
   locator\Release()
   
  EndIf
  
 EndIf
 
 CoUninitialize_()
 
EndIf

Debug PhraseInfo$

; Canal = OpenFile(#PB_Any, "c:\Temp\InfosWmiPC.txt", #PB_Ascii)
;  
; If Canal
; 
;  WriteString(Canal, PhraseInfo$, #PB_Ascii)
;  CloseFile(Canal)
;   
; Else
; 
;  MessageRequester("", "Impossible de créer le fichier informations") 
;  
; EndIf
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Ar-S
Messages : 9477
Inscription : dim. 09/oct./2005 16:51
Contact :

Re: Obtenir des informations sur processeur avec "WMI"

Message par Ar-S »

J'avoue que c'est vraiment étrange, même en mettant l'openfile et le wintresting dans la procédure, nib...
Du moment ou l'on appel OpenFile le listing devient muet.
Y'a une couille dans l'gigot.
~~~~Règles du forum ~~~~
⋅.˳˳.⋅ॱ˙˙ॱ⋅.˳Ar-S ˳.⋅ॱ˙˙ॱ⋅.˳˳.⋅
W11x64 PB 6.x
Section HORS SUJET : ICI
LDV MULTIMEDIA : Dépannage informatique & mes Logiciels PB
UPLOAD D'IMAGES : Uploader des images de vos logiciels
Avatar de l’utilisateur
celtic88
Messages : 309
Inscription : sam. 12/sept./2015 14:31
Localisation : Alger

Re: Obtenir des informations sur processeur avec "WMI"

Message par celtic88 »

@Kwai chang caine
assure toi que t'ouvre le programme en mode Unicode et admin

pc, le code marche bien chez moi!
.....i Love Pb :)
Avatar de l’utilisateur
celtic88
Messages : 309
Inscription : sam. 12/sept./2015 14:31
Localisation : Alger

Re: Obtenir des informations sur processeur avec "WMI"

Message par celtic88 »

et si c'était une erreur il me faut plus de detail sur quel appele api sa bug et le code d erreur!!
.....i Love Pb :)
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Obtenir des informations sur processeur avec "WMI"

Message par Kwai chang caine »

Ah bon, merci ars, le sang revient dans mon corps 8)

@Celtic88
Je suis en unicode, puisque je suis en v5.50 :wink:
Et je suis admin, car ton code marche...mais j'ai pas le droit d'enregistrer les informations. ..c'est top secret :lol:

Et le plus drôle c'est que j'ai pas de code d'erreur.

En fait, des qu'on ouvre un fichier, que ce soit avant après, et bien on ne passe plus par aucun des debugs.

A croire que l'ouverture des fichiers bloque l'exécution du wmi
Truc de dingue... 8O
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
Kwai chang caine
Messages : 6962
Inscription : sam. 23/sept./2006 18:32
Localisation : Isere

Re: Obtenir des informations sur processeur avec "WMI"

Message par Kwai chang caine »

Bon...je suis a nouveau devant un PC

Alors si on ouvre un fichier et qu'on rajoute

Code : Tout sélectionner

Debug CoInitializeEx_(0, #COINIT_MULTITHREADED)
Debug "#S_OK = " + #S_OK 
On obtient avec ouverture fichier
-2147417850
#S_OK = 0
et sans ouverture fichier

Code : Tout sélectionner

0
#S_OK = 0
En fait, la condition

Code : Tout sélectionner

If CoInitializeEx_(0, #COINIT_MULTITHREADED) = #S_OK
 Endif
ne se fait pas si un fichier est ouvert :|
ImageLe bonheur est une route...
Pas une destination

PureBasic Forum Officiel - Site PureBasic
Avatar de l’utilisateur
celtic88
Messages : 309
Inscription : sam. 12/sept./2015 14:31
Localisation : Alger

Re: Obtenir des informations sur processeur avec "WMI"

Message par celtic88 »

loool change CoInitializeEx_(0, #COINIT_MULTITHREADED) par CoInitialize_(0)
:idea:
https://msdn.microsoft.com/en-us/librar ... s.85).aspx


Vous devez appeler de Windows :: Foundation :: Initialize pour initialiser le fil au lieu de CoInitializeEx si vous voulez utiliser les API de Windows Runtime ou si vous voulez utiliser à la fois COM et les composants de Windows Runtime. Fenêtres :: Fondation :: Initialize est suffisante pour utiliser des composants COM.


merci google traduction
.....i Love Pb :)
Répondre