vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Top-Preis! AP-Access-Tools-CD Volume 1  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   RSS-Feeds  | Newsletter  | Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2015
 
zurück
Rubrik: Dateisystem09.05.01
GetVolumeInformation-Funktion

Diese Funktion gibt Informationen über ein bestimmtes Laufwerk zurück, wie z.B. Typ des Dateisystems, Seriennummer, Laufwerksname...

Betriebssystem:  Win95, Win98, WinNT, Win2000, WinMEViews:  7.369 

Summer-Special bei Tools & Components!
Gute Laune Sommer bei Tools & Components
Top Summer-Special - Sparen Sie teilweise über 100,- EUR
Alle sev-Entwicklerkomponenten und Komplettpakete jetzt bis zu 25% reduziert!
zum Beispiel:
  • Developer CD nur 455,- EUR statt 569,- EUR
  • sevDTA 2.0 nur 224,30 EUR statt 299,- EUR
  •  
  • vb@rchiv   Vol.6 nur 18,70 EUR statt 24,95 EUR
  • sevCoolbar 3.0 nur 58,70 EUR statt 69,- EUR
  • - Werbung -Und viele weitere Angebote           Aktionspreise nur für kurze Zeit gültig

    Beschreibung:
    Diese Funktion gibt Informationen über ein bestimmtes Laufwerk zurück, wie z.B. Typ des Dateisystems, Seriennummer, Laufwerksname oder des Mediums, welches sich in dem Laufwerk.

    Deklaration:

    Declare Function GetVolumeInformation Lib "kernel32.dll" _
      Alias "GetVolumeInformationA" ( _
      ByVal lpRootPathName As String, _
      ByVal lpVolumeNameBuffer As String, _
      ByVal nVolumeNameSize As Long, _
      lpVolumeSerialNumber As Long, _
      lpMaximumComponentLength As Long, _
      lpFileSystemFlags As Long, _
      ByVal lpFileSystemNameBuffer As String, _
      ByVal nFileSystemNameSize As String) As Long

    Parameter:
    lpRootPathNameErwartet den Laufwerksbuchstaben, von welchem die Informationen eingeholt werden sollen.
    lpVolumeNameBufferGibt den Laufwerksnamen oder dnm Namen des Mediums im Laufwerk zurück.
    nVolumeNameSizeGröße des Stringbuffers lpVolumeNameBuffer in Bytes.
    lpVolumeSerialNumber(Long) Gibt die Seriennummer des Laufwerks/des Mediums im Laufwerk zurück.
    lpMaximumComponentLength(Long) Gibt die maximale Länge der erlaubten Pfad- und Dateinamen zurück.
    lpFileSystemFlags(Long) erwartet eine "Long" Gibt die Laufwerks-Eigenschaften zurück (siehe nachfolgend lpFileSystemFlags-Konstanten)
    lpFileSystemNameBufferGibt das verwendete Dateisystems zurück (FAT 16, FAT 32, CDFS, NTFS, etc.)
    nFileSystemNameSizeGröße des Stringbuffers lpFileSystemNameBuffer in Bytes

    lpFileSystemFlags Konstanten:

    FS_CASE_IS_PRESERVED
      Dateisystem hält die Groß-/Kleinschreibung strickt ein 
     
    FS_CASE_SENSITIVE
      Das Dateisystem kann bei einer Suche nach Groß-/Kleinschreibung
      unterscheiden
     
    FS_UNICODE_STORED_ON_DISK
      Dateinamen werden als Unicode-Strings gespeichert
     
    FS_PERSISTENT_ACLS
      Das Dateisystem speichern Zugriffskontroll-Listen (ACL)
     
    FS_FILE_COMPRESSION
      Das Dateisystem unterstützt dateibasierendes Komprimieren.
     
    FS_VOLUME_IS_COMPRESSED
      Das Dateisystem ist komprimiert (z.B. mit DoubleSpace)
     
    FILE_NAMED_STREAMS
      Das Dateisystem unterstützt Dateistreams
     
    FILE_SUPPORTS_ENCRYPTION
      Das Dateisystem unterstützt verschlüsselte Dateisysteme (EFS)
     
    FILE_SUPPORTS_OBJECT_IDS
      Das Dateisystem unterstützt Objekte ID's
     
    FILE_SUPPORTS_REPARSE_POINTS
      Das Dateisystem unterstüstzt Reparse-Punkte
     
    FILE_SUPPORTS_SPARSE_FILES
      Das Dateisystem unterstützt Sparse-Dateien
     
    FILE_VOLUME_QUOTAS
      Das Dateisystem unterstützt Laufwerksanteile
     
     
    Konstanten Deklaration:
     
    Const FS_CASE_IS_PRESERVED = &H2
    Const FS_CASE_SENSITIVE = &H1
    Const FS_UNICODE_STORED_ON_DISK = &H4
    Const FS_PERSISTENT_ACLS = &H8
    Const FS_FILE_COMPRESSION = &H10
    Const FS_VOLUME_IS_COMPRESSED = &H8000
    Const FILE_NAMED_STREAMS = &H40000
    Const FILE_SUPPORTS_ENCRYPTION = &H20000
    Const FILE_SUPPORTS_OBJECT_IDS = &H10000
    Const FILE_SUPPORTS_REPARSE_POINTS = &H80
    Const FILE_SUPPORTS_SPARSE_FILES = &H40
    Const FILE_VOLUME_QUOTAS = &H20

    Rückgabewert:
    War der Funktionsaufruf erfolgreich wird ein Wert ungleich 0 zurückgegeben. Tritt ein Fehler auf, ist der Rückgabewert "0". Erweiterte Fehler-Informationen können mit der GetLastError-Funktion abgefragt werden.

    Beispiel:

    Private Declare Function GetVolumeInformation Lib "kernel32.dll" _
      Alias "GetVolumeInformationA" ( _
      ByVal lpRootPathName As String, _
      ByVal lpVolumeNameBuffer As String, _
      ByVal nVolumeNameSize As Long, _
      lpVolumeSerialNumber As Long, _
      lpMaximumComponentLength As Long, _
      lpFileSystemFlags As Long, _
      ByVal lpFileSystemNameBuffer As String, _
      ByVal nFileSystemNameSize As Long) As Long 
     
    Private Const FS_CASE_IS_PRESERVED = &H2
    Private Const FS_CASE_SENSITIVE = &H1
    Private Const FS_UNICODE_STORED_ON_DISK = &H4
    Private Const FS_PERSISTENT_ACLS = &H8
    Private Const FS_FILE_COMPRESSION = &H10
    Private Const FS_VOLUME_IS_COMPRESSED = &H8000
    Private Const FILE_NAMED_STREAMS = &H40000
    Private Const FILE_SUPPORTS_ENCRYPTION = &H20000
    Private Const FILE_SUPPORTS_OBJECT_IDS = &H10000
    Private Const FILE_SUPPORTS_REPARSE_POINTS = &H80
    Private Const FILE_SUPPORTS_SPARSE_FILES = &H40
    Private Const FILE_VOLUME_QUOTAS = &H20
    Private Sub Command1_Click () 
      Dim Retval As Long, PufferFlags As Long 
      Dim PufferMaxFileLen As Long, PufferSerial As Long 
      Dim PufferName As String, PufferFAT As String 
      Dim TmpSN As String 
     
      PufferName = Space(256) 
      PufferFAT = Space(256) 
     
      Retval = GetVolumeInformation("c:", PufferName, 256&, PufferSerial, _
        PufferMaxFileLen, PufferFlags, PufferFAT, 256&) 
     
      If Retval <> 0 Then 
        Debug.Print "Laufwerksinformationen Laufwerk C:" 
        Debug.Print "------------------------------------------------------" 
        Debug.Print "Name: " & Left$(PufferName, InStr(1, PufferName, vbNullChar) - 1) 
        Debug.Print "FAT: " & Left$(PufferFAT, InStr(1, PufferFAT, vbNullChar) - 1) 
        Debug.Print "Max. DateiNamenlänge: " & CStr(PufferMaxFileLen) & " Zeichen" 
     
        ' Seriennummer berechnen
        TmpSN = Trim(Hex(PufferSerial))
        TmpSN = String(8 - Len(TmpSN), "0") & TmpSN 
        TmpSN = Left$(TmpSN, 4) & "-" & Right$(TmpSN, 4) 
        Debug.Print "Seriennummer: " & TmpSN 
     
        ' Systemeigenschaften überprüfen 
        Debug.Print "Das Laufwerk: " 
        If (PufferFlags And FS_VOLUME_IS_COMPRESSED) Then 
          Debug.Print " - ist komprimiert" 
        Else 
          Debug.Print " - ist nicht komprimiert" 
        End If 
        If (PufferFlags And FS_CASE_IS_PRESERVED) Then 
          Debug.Print " - unterscheidet zwischen Groß-/Kleinschreibung " 
        End If 
        If (PufferFlags And FILE_SUPPORTS_ENCRYPTION) Then 
          Debug.Print " - unterstützt Encrypted File System (EFS)" 
        End If 
        ' und so weiter... 
      End If 
    End Sub

    Diese Seite wurde bereits 7.369 mal aufgerufen.

    nach obenzurück
     
       

    Druckansicht Druckansicht Copyright ©2000-2015 vb@rchiv Dieter Otter
    Alle Rechte vorbehalten.
    Microsoft, Windows und Visual Basic sind entweder eingetragene Marken oder Marken der Microsoft Corporation in den USA und/oder anderen Ländern. Weitere auf dieser Homepage aufgeführten Produkt- und Firmennamen können geschützte Marken ihrer jeweiligen Inhaber sein.

    Diese Seiten wurden optimiert für eine Bildschirmauflösung von mind. 1280x1024 Pixel