vb@rchiv
VB Classic
VB.NET
ADO.NET
VBA
C#
sevDataGrid - Gönnen Sie Ihrem SQL-Kommando diesen krönenden Abschluß!  
 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: Arne Elster
Datum: 16.06.09 22:00

Wenn das Setzen der neuen Position geglückt ist,
gibt dir SetFilePointer die von dir gewünschte Position zurück,
in dem Fall den Wert deiner Variablen "adress".
Wenn SetFilePointer fehlschlägt, ist der Rückgabewert -1.

Zu dem Sektor 251 könnte ich mir vorstellen,
dass Windows dich nur auf die Partition auf der SD Karte zugreifen lässt,
weil du die diese öffnest mit \\.\X:
Und die fängt halt bei 251 an. Mal als Theorie.

OpenFile brauchst du dir nicht anzugucken,
die wurde von Microsoft als obsolet erklärt,
wird nicht mehr verwendet. CreateFile ist die neue.


Zurück zur 251:
Folgendes ist eine nicht geprüfte mögliche Lösung.
Ich hab das direkt hier ins Antwortfeld reingeschrieben und nicht getestet.
Zunächst mal brauchst du folgenden Code, kopier den in ein Modul:

Private Declare Function DeviceIoControl Lib "kernel32" ( _
                         ByVal hDevice As Long, _
                         ByVal dwIoControlCode As Long, _
                         ByRef lpInBuffer As Any, _
                         ByVal nInBufferSize As Long, _
                         ByRef lpOutBuffer As Any, _
                         ByVal nOutBufferSize As Long, _
                         ByRef lpBytesReturned As Long, _
                         ByRef lpOverlapped As Any) As Long
 
Private Type STORAGE_DEVICE_NUMBER
    DeviceType As Long
    DeviceNumber As Long
    PartitionNumber As Long
End Type
 
Private Const IOCTL_STORAGE_GET_DEVICE_NUMBER As Long = &H2D1080
 
Public Function GetPhysDriveNumber(ByVal hDrv As Long) As Long
    Dim udtSDN As STORAGE_DEVICE_NUMBER
    Dim lngRet As Long
 
    If DeviceIoControl(hDrv, IOCTL_STORAGE_GET_DEVICE_NUMBER, ByVal _
        0&, 0&, udtSDN, Len(udtSDN), lngRet, ByVal 0&) Then
        GetPhysDriveNumber = udtSDN.DeviceNumber
    Else
        GetPhysDriveNumber = -1
    End If
End Function
CreateFile gibt dir ja ein Handle auf die Partition zurück,
damit du mit Read/WriteFile darin rumwursteln kannst.
Windows erlaubt dir aber auch, auf ein Speichermedium komplett zuzugreifen,
wenn du als Dateiname für CreateFile "\\.\PHYSICALDRIVEX" angibst,
wobei X eine Nummer von 0 bis 9 ist.
Das Problem ist, wie man rausfindet, zu welcher Nummer Partition X gehört.

Zunächst öffnest du also X mit CreateFile über "\\.\X:".
Das Handle, das dir CreateFile zurückgibt, benutzt du, um GetPhysDriveNumber aufzurufen.
Wenn du das hast, schließt du das Handle mit CloseHandle,
um jetzt CreateFile mit "\\.\PHYSICALDRIVE" plus der von GetPhyDriveNumber zurückgegebenen Zahl ein weiteres mal anzufeuern.
Und mit dem Handle müsstest du dich nun frei auf der SD Karte bewegen können.
Hoffentlich klappts.
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Sektoren einer SD-Karte beschreiben (ohne Dateisystem)5.477Majuz12.06.09 13:12
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.811Majuz13.06.09 00:28
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.662Majuz14.06.09 00:20
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.502Majuz14.06.09 22:38
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.635Majuz15.06.09 17:35
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.436Majuz16.06.09 20:40
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.530Arne Elster16.06.09 22:00
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.496Arne Elster16.06.09 22:30
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.536Majuz17.06.09 17:54
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.434Majuz18.06.09 08:16
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.424Majuz18.06.09 21:20
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.381Majuz16.06.09 08:22
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.473Agrypnie21.06.09 08:08
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)3.564Majuz21.06.09 10:47
Re: Sektoren einer SD-Karte beschreiben (ohne Dateisystem)2.725NormBot05.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