vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
Brandneu! sevEingabe v3.0 - Das Eingabecontrol der Superlative!  
 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

Visual-Basic Einsteiger
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem) 
Autor: Majuz
Datum: 14.06.09 22:38

und nochmal ich

Ich hab jetzt im Modul folgendes Hinzugefügt:

Declare Function WriteFile Lib "kernel32.dll" (ByVal hFile As Long, ByRef _
  lpBuffer As Any, ByVal nNumberOfBytesToWrite As Long, ByRef _
  lpNumberOfBytesWritten As Long, ByRef lpOverlapped As Long) As Long
 
Sub WriteSectorToDrive(buffer() As Byte)
'schreibt 512 Bytes (1 Sektor) von buffer()
    If CreateFileError Then
        ReadFileError = 1
        Exit Sub
    End If
 
    retwriteFile& = WriteFile(lngFileHandle, buffer(0), 512, BytesWrite&, 0&)
    If retReadFile& = 0 Then
        MsgBox "Readfile returns " & Str$(retReadFile&) & vbCrLf & "Read Error!"
        ReadFileError = 1
        Exit Sub
    End If
End Sub
Außerdem habe ich in der Funktion "GetDriveHandle" eine Zeile so geändert um auch Schreibzugriff zu haben:

lngFileHandle = CreateFile(FileName$, GENERIC_READ Or GENERIC_WRITE, _
  FILE_SHARE_READ Or FILE_SHARE_WRITE, ByVal 0, OPEN_EXISTING, _
  FILE_ATTRIBUTE_NORMAL, ByVal 0)
Außerdem habe ich in der Form noch folgenden Code hinzugefügt um die neue Funktion zu testen:

Private Sub Command6_Click()
Dim i As Integer
For i = 0 To 254
  puffer(i) = i
Next i
WriteSectorToDrive puffer()
End Sub
Leider funktioniert es wieder nur FAST. Wenn ich Command6 drücke schmiert das Programm ab mit der Fehlermeldung: "Visual Basic hat ein Problem festgestellt und muss beendet werden." Wenn ich anschließend mit dem anderen Programm anschließend Sektor 251 anschaue steht dort alles richtig drin. Also hat die Funktion soweit eigentlich funktioniert.

Mit diesen Funktionen kann ich ja aber auch immer nur von vorne her die Sektoren der Reihe nach beschreiben. Gibt es auch eine Möglichkeit, dass ich z.B. sage "Schreibe buffer() in Sektor 1254"? Um die anderen Daten nicht zu löschen müsste ich ja sonst jeden Sektor einlesen und das eingelesene wieder schreiben um "voranzukommen".

Sektor 251 scheint übrigens etwas wichtiges zu sein, denn windows sagt jetzt wenn ich die SD-Karte öffnen will, dass diese nicht formatiert ist.

Gruß
marius
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Sektoren einer SD-Karte beschreiben (ohne Dateisystem)5.478Majuz12.06.09 13:12
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.812Majuz13.06.09 00:28
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.663Majuz14.06.09 00:20
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.504Majuz14.06.09 22:38
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.636Majuz15.06.09 17:35
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.437Majuz16.06.09 20:40
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.531Arne Elster16.06.09 22:00
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.497Arne Elster16.06.09 22:30
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.537Majuz17.06.09 17:54
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.435Majuz18.06.09 08:16
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.425Majuz18.06.09 21:20
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.382Majuz16.06.09 08:22
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.475Agrypnie21.06.09 08:08
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.566Majuz21.06.09 10:47
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)2.727NormBot05.03.13 22:48

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