In C# System.IO.DriveInfo
hat die Eigenschaft DriveType
.Welche Art von Laufwerk ist "NoRootDirectory" (System.IO.DriveType.NoRootDirectory)?
System.IO.DriveType
ist eine Enumeration:
public enum DriveType
{
Unknown = 0,
//
// Summary:
// The drive does not have a root directory.
NoRootDirectory = 1,
Removable = 2,
Fixed = 3,
Network = 4,
CDRom = 5,
Ram = 6,
}
Ich vermute, dass dies ein Volumen ohne Laufwerksbuchstaben. Aber mit:
System.IO.DriveInfo.GetDrives();
nicht mein Volumen ohne Laufwerksbuchstabe.
Wird NoRootDirectory
für jede andere Art von Volumes/Laufwerken verwendet oder zeigt System.IO.DriveInfo.GetDrives()
sie einfach nicht?
Ich weiß, dass es für nicht zugewiesene Laufwerksbuchstaben verwendet wird. Sie werden sie natürlich nicht durch 'GetDrives' bringen, aber versuchen' 'neues System.IO.DriveInfo (" B: "). DriveType' oder ähnliches. Es könnte auch für unformatierte Partitionen (oder unbekannte Dateisysteme) verwendet werden, aber ich bin mir nicht ganz sicher (Sie müssten testen, ob Sie in diesem Fall "Unbekannt" oder "NoRootDirectory" erhalten). Der Vollständigkeit halber könnten Sie auch Müll-Laufwerke erstellen, indem Sie zu 'HKEY_LOCAL_MACHINE \ SYSTEM \ CurrentControlSet \ Control \ Session Manager \ DOS Devices' gehen und ein Laufwerk' X: 'erstellen, das zum Beispiel auf' \ Device \ Null 'zeigt und Sie sehen, was Sie bekommen für diejenigen. – CherryDT
Eigentlich ist die [Dokumentation für die zugrunde liegende WinAPI-Funktion 'GetDriveType'] (https://msdn.microsoft.com/en-us/library/windows/desktop/aa364939 (v = vs.85) .aspx) ein bisschen klarer. Darin heißt es: "Der Root-Pfad ist ungültig; es wird beispielsweise kein Volume am angegebenen Pfad bereitgestellt." – CherryDT
Ich würde übersetzen "der Root-Pfad ist ungültig" als "Der Kernel-Pfad' \ DosDevices \ X: 'nicht auflösen/verknüpfen mit einem gültigen Dateisystem-Verzeichnis-Objekt in der Lage, eine Anfrage für den Pfad' \ 'zu lösen." - Wahrscheinlich wurde der Satz von jemandem mit Windows-Kernel-Wissen geschrieben. In diesem Fall würde ich annehmen, dass meine "Müll-Laufwerke" von oben Ihnen auch diesen Wert sowie alle nicht zugewiesenen Laufwerksbuchstaben geben würden. – CherryDT