ManagementObjectCollection in Array kopieren

MrPHP

Mitglied
Hallo!

Ich frage die Laufwerke mittels WMI ab und speicher das Ergebnis in einer ManagementObjectCollection. Um die Liste später bequemer zu nutzen (und einen Index zu haben) möchte ich die Liste in ein mehrdimensionales Array kopieren. Allerdings bricht das Proogramm immer mit der Fehlermeldung "Wert darf nicht Null sein ab.

Code:

Dim DrivesTemp As System.Management.ManagementObjectCollection
Dim searcher As New System.Management.ManagementObjectSearcher("SELECT Name, VolumeName FROM Win32_LogicalDisk")
DrivesTemp = searcher.Get()
DrivesTemp.CopyTo(localDrives, 0)
searcher.Dispose()

In der Kursiv gestellten Zeile tritt der Fehler auf. Die Variable "localDrives" ist das Array und wird ausserhalb deklariert.

Meine Frage jetzt: Wieso kann ich die Collection in das Array kopieren?

Und was mir auch aufgefallen ist (mich jetzt aber nicht weiter stört, wäre jetzt nur interessehalber), ManagementObjectCollection stellt die Eigenschaft "Count" zur Verfügung, wenn ich diese aber abrufen will, bekomm' ich die Fehlermeldung "nicht Unterstützt", auch in der Überwachung. Weiss jemand weshalb?
 
Hast Dir schon mal genauer angesehen welche Einträge in der DrivesTemp drinnen sind? (Debugmodus). Vielleicht hilft es dir bei der Fehlerfindung, wenn du weißt, was in der Collection drinnen steht.

Wie deklarierst Du dein Array?
 
Zurück