Aggrasso - Do 03.01.13 21:05
Titel: Win32_CDROMDrive
Hi, Ich bin neu hir und hab mal ein kleine Frage zum "Win32_CDROMDrive".
Es gibt gewisse sachen die ich nicht auslesen kann jetzt würde ich gerne wissen ob es an der Hardware (und / oder) Software liegt?
Hardware: HL-DT-ST DVDRAM GH40N
Software: Windows 7 Home Premium 64Bit
Es geht mir darum, wenn es an eine von den beiden liegt bau ich es mit in meine "Class" mit ein, wenn nicht dann lass ich es!
Und zZ ist mein Laptop nicht betriebsbereit.
Das geht nicht:
/*
* --> Convert.ToInt32(MO_CDROMDrive.Properties["
SCSITargetId"]);
* --> MO_CDROMDrive.Properties["
RevisionLevel"].Value.ToString();
* --> MO_CDROMDrive.Properties["
NumberOfMediaSupported"].Value.ToString();
* --> MO_CDROMDrive.Properties["
NeedsCleaning"].Value.ToString();
* --> MO_CDROMDrive.Properties["
PowerManagementSupported"].Value.ToString();
* --> MO_CDROMDrive.Properties["
InstallDate"].Value.ToString();
* --> MO_CDROMDrive.Properties["
MaximumComponentLength"].Value.ToString();
* --> MO_CDROMDrive.Properties["
LastErrorCode"].Value.ToString();
* --> MO_CDROMDrive.Properties["
DefaultBlockSize"].Value.ToString();
* --> MO_CDROMDrive.Properties["
MinBlockSize"].Value.ToString();
* --> MO_CDROMDrive.Properties["
MaxBlockSize"].Value.ToString();
* --> MO_CDROMDrive.Properties["
MaxMediaSize"].Value.ToString();
* --> MO_CDROMDrive.Properties["
PowerManagementCapabilities[]"].Value.ToString()
* --> MO_CDROMDrive.Properties["
ErrorCleared"].Value.ToString();
* --> MO_CDROMDrive.Properties["
ErrorDescription"].Value.ToString();
* --> MO_CDROMDrive.Properties["
ErrorMethodology"].Value.ToString();
* --> MO_CDROMDrive.Properties["
FileSystemFlags"].Value.ToString();
* --> MO_CDROMDrive.Properties["
StatusInfo"].Value.ToString();
* --> MO_CDROMDrive.Properties["
SCSILogicalUnit"].Value.ToString();
* --> MO_CDROMDrive.Properties["
CapabilityDescriptions[]"].Value.ToString();
* --> MO_CDROMDrive.Properties["
Capabilities[]"].Value.ToString();
*/
Und so lese ich es aus:
C#-Quelltext
1: 2: 3: 4: 5: 6: 7: 8: 9: 10: 11: 12: 13: 14: 15: 16: 17: 18: 19: 20: 21: 22: 23: 24: 25: 26: 27: 28: 29: 30: 31: 32: 33:
| private static void M_BackgroundWorker_CDROMDrive_DoWork(object sender, DoWorkEventArgs e) { ManagementClass MC_CDROMDrive = new ManagementClass("Win32_CDROMDrive"); ManagementObjectCollection MOC_CDROMDrive = MC_CDROMDrive.GetInstances(); foreach (ManagementObject MO_CDROMDrive in MOC_CDROMDrive) { try { M_str_CreationClassName = MO_CDROMDrive.Properties["CreationClassName"].Value.ToString(); } catch (Exception Ex) { M_str_CreationClassName = string.Empty; Error(); } try { M_bool_MediaLoaded = Convert.ToBoolean(MO_CDROMDrive.Properties["MediaLoaded"].Value); } catch (Exception Ex) { Error(); } if (M_bool_MediaLoaded == true) { try { M_long_DISC_Size = Convert.ToInt64(MO_CDROMDrive.Properties["Size"].Value); } catch (Exception Ex) { M_long_DISC_Size = 0; Error(); } try { M_Str_VolumeName = MO_CDROMDrive.Properties["VolumeName"].Value.ToString(); } catch (Exception Ex) { M_Str_VolumeName = "???"; Error(); }
} try { M_int_SCSIBus = Convert.ToInt32(MO_CDROMDrive.Properties["SCSIBus"].Value); } catch (Exception Ex) { M_int_SCSIBus = 0; Error(); } try { M_int_SCSIPort = Convert.ToInt32(MO_CDROMDrive.Properties["SCSIPort"].Value); } catch (Exception Ex) { M_int_SCSIPort = 0; Error(); }
} } |
Ich hoff ihr könnt mir eine erleuchtung geben !
MFG Aggrasso
Aggrasso - Do 03.01.13 22:52
@Ralf Jansen
Ich bekomme bei "Capabilities" das:
Zitat: |
System.Management.ManagementException: Nicht gefunden
bei System.Management.ManagementException.ThrowWithExtendedInfo(ManagementStatus errorCode)
bei System.Management.PropertyDataCollection.get_Item(String propertyName)
bei CDROMDrive.Class_CDROMDrive.M_BackgroundWorker_CDROMDrive_DoWork(Object sender, DoWorkEventArgs e) in C:\Users\+++++\Pictures\Documents\Visual Studio 2008\Projects\Temp\Temp\Class_CDROMDrive.cs:Zeile 310. |
Zitat: |
Einfach immer Value.ToString() aufzurufen ist zu einfach gedacht. |
Das mach ich nicht, ich schau schon was es ist. Auf ->
http://msdn.microsoft.com/en-us/library/windows/desktop/aa394081%28v=vs.85%29.aspx
Ich hab es nur zum testen gemacht aber da sowieso ein Exception kommt geh ich davon aus das es da nichts gibt!
Z.b. bei "PhysicalMemory" so hol ich die "SerialNumber" von (BANK0 - BANK5)
C#-Quelltext
1: 2: 3:
| int_Count++; Str_Arry_PhysicalMemoryInfo[6, int_Count] = MO_PhysicalMemory.Properties["SerialNumber"].Value.ToString(); |