vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
vb@rchiv Offline-Reader - exklusiv auf der vb@rchiv CD Vol.4  
 vb@rchiv Quick-Search: Suche startenErweiterte Suche starten   Impressum  | Datenschutz  | vb@rchiv CD Vol.6  | Shop Copyright ©2000-2024
 
zurück

 Sie sind aktuell nicht angemeldet.Funktionen: Einloggen  |  Neu registrieren  |  Suchen

VB.NET - Ein- und Umsteiger
Floppy LowLevelFormat mit DeviceIoControl (IOCTL_DISK_FORMAT_TRACKS) 
Autor: AlexWirt
Datum: 08.07.12 20:57

Bei mir funktioniert nicht Lowlevelformat. Villeicht kann mir jemand helfen?

       <StructLayout(LayoutKind.Sequential)> _
        Public Structure FORMAT_PARAMETERS
            Public MediaType As DISC_GEOMETRY.MEDIA_TYPE
            Public StartCylinderNumber As ULong
            Public EndCylinderNumber As ULong
            Public StartHeadNumber As ULong
            Public EndHeadNumber As ULong
        End Structure
 
        Declare Function DeviceIoControl Lib "kernel32" Alias "DeviceIoControl" _
          ( _
        <[In]()> ByVal hDevice As SafeFileHandle, _
        <[In]()> ByVal dwIoControlCode As IoCtlControlCode, _
        <[In](), [Out]()> ByVal lpInBuffer As IntPtr, _
        <[In]()> ByVal nInBufferSize As UInteger, _
        <[In](), [Out]()> ByVal lpOutBuffer As IntPtr, _
        <[In]()> ByVal nOutBufferSize As UInteger, _
        <[In]()> ByRef lpBytesReturned As UInteger, _
        <[In]()> ByVal lpOverlapped As IntPtr _
        ) As <MarshalAs(UnmanagedType.Bool)> Boolean
 
        Declare Function DeviceIoControl Lib "kernel32" Alias "DeviceIoControl" _
          ( _
        <[In]()> ByVal hDevice As SafeFileHandle, _
        <[In]()> ByVal dwIoControlCode As IoCtlControlCode, _
        <[In](), [Out]()> ByVal lpInBuffer As FORMAT_PARAMETERS, _
        <[In]()> ByVal nInBufferSize As UInteger, _
        <[In](), [Out]()> ByVal lpOutBuffer As IntPtr, _
        <[In]()> ByVal nOutBufferSize As UInteger, _
        <[In]()> ByRef lpBytesReturned As UInteger, _
        <[In]()> ByVal lpOverlapped As IntPtr _
        ) As <MarshalAs(UnmanagedType.Bool)> Boolean
 
Public Shared Function LowLevelFormat(ByVal hDisk As SafeFileHandle, ByVal _
  lpGeometry As DISK_GEOMETRY) As Boolean
            Dim FormatParameters As FORMAT_PARAMETERS
            Dim ReturnedByteCount As Long
 
            Dim IOCTL_DISK_FORMAT_TRACKS As Integer = &H7C018
            Dim FSCTL_LOCK_VOLUME As UInt32 = &H90018
            Dim FSCTL_UNLOCK_VOLUME As UInt32 = &H9001C
 
 
            FormatParameters.MediaType = lpGeometry.MediaType
            FormatParameters.StartCylinderNumber = 0
            FormatParameters.StartHeadNumber = 0
            FormatParameters.EndCylinderNumber = lpGeometry.Cylinders.QuadPart _
              - 1
            FormatParameters.EndHeadNumber = lpGeometry.TracksPerCylinder - 1
 
 
            Dim ptrSize As Integer = Marshal.SizeOf(GetType(FORMAT_PARAMETERS))
            Dim outBuffer As IntPtr = Marshal.AllocHGlobal(ptrSize)
 
 
            DeviceIoControl(hDisk, FSCTL_LOCK_VOLUME, IntPtr.Zero, &H0, _
              IntPtr.Zero, &H0, ReturnedByteCount, IntPtr.Zero)
 
            DeviceIoControl(hDisk, IOCTL_DISK_FORMAT_TRACKS, FormatParameters, _
              Marshal.SizeOf(FormatParameters), outBuffer, ptrSize, _
              ReturnedByteCount, 0)
 
            DeviceIoControl(hDisk, FSCTL_UNLOCK_VOLUME, IntPtr.Zero, &H0, _
              IntPtr.Zero, &H0, ReturnedByteCount, IntPtr.Zero)
 
            Return True
        End Function
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Floppy LowLevelFormat mit DeviceIoControl (IOCTL_DISK_FORMAT...1.113AlexWirt08.07.12 20:57

Sie sind nicht angemeldet!
Um auf diesen Beitrag zu antworten oder neue Beiträge schreiben zu können, müssen Sie sich zunächst anmelden.

Einloggen  |  Neu registrieren

Funktionen:  Zum Thema  |  GesamtübersichtSuchen 

nach obenzurück
 
   

Copyright ©2000-2024 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