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-2025
 
zurück

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

Visual-Basic Einsteiger
Wurde getestet 
Autor: Daniel
Datum: 19.05.02 12:09

Hi Dieter,

ich habe Dein Rat befolgt und es ist etwas besser geworden, aber leider immer noch erstarrt.
Anbei eine Übersicht, damit Du weißt worum es geht: "Make_Image" startet das Auslesen und Store_Image beschreibt das Medium.


Private mySCSI_Info(100) As SCSI_Info_Type
Private amount_of_disk_devices As Long


Private Sub cmdMake_Click()
Dim Index As Integer
Dim Drive As Integer
Dim nUDTPtr As Long

nUDTPtr = VarPtr(mySCSI_Info(0))


On Error GoTo mrkError
Index = lstDevices.ListIndex
If Index = -1 Then
MsgBox "MAKE IMAGE - please choose source drive", vbOKOnly + vbExclamation, Me.Caption
Else

lblWait.Caption = "Please wait... making image number " + CStr(Index) + " in 'c:test.sdi'..."


'----Start Image

DoEvents
Make_Image nUDTPtr, Drive, "c:test.sdi"



lblWait.Caption = "...ready"
End If
GoTo mrkEnde
mrkError: MsgBox "Fehler in cmdMakeImage_Click: " + Err.Description + ", Fehlernummer: " + CStr(Err.Number), vbOKOnly + vbExclamation, Me.Caption
mrkEnde:
End Sub

Private Sub cmdRead_Click()
'---- WNASPI-DLL checken
If Not Init_WNASPI32 Then
MsgBox "WNASPI32.DLL nicht vorhanden" & vbCrLf & _
"oder keinen SCSI Host Adapter gefunden.", _
vbInformation
End
End If
'---- Anzahl/Infos holen
amount_of_disk_devices = Scan_SCSI_Bus(VarPtr(mySCSI_Info(0)), True)
'---- Anzahl checken
If (amount_of_disk_devices = 0) Then
MsgBox "Keine SCSI-Laufwerke gefunden.", _
vbInformation
End
End If

'---- Laufwerke anzeigen
Show_Devices
'End
End Sub

Private Sub Show_Devices()
'Alle gesammelten Laufwerke anzeigen

Dim i As Long, s As String
'
If (amount_of_disk_devices = 0) Then
s = "Es liegen keine SCSI-Laufwerksinfos vor."
Else
For i = 0 To amount_of_disk_devices
With mySCSI_Info(i)
s = s + vbTab & Chr$(48 + .HaId) & ":" & _
Chr$(48 + .Target) & ": " & _
Bytes2String(.bName)

End With
Next
End If

lstDevices.AddItem s

' MsgBox s, vbInformation
End Sub

Private Function Bytes2String(ByRef b() As Byte) As String
'Byte-Array nach String konvertieren
Dim i As Long
'
Bytes2String = ""
For i = 0 To UBound(b())
If (b(i) = 0) Then Exit For 'C-Endekennung
Bytes2String = Bytes2String & Chr$(b(i))
Next
End Function

Private Sub cmdStore_Click()
Dim Index As Integer
Dim Drive As Integer
Dim nUDTPtr As Long

nUDTPtr = VarPtr(mySCSI_Info(0))

On Error GoTo mrkError
Index = lstDevices.ListIndex
If Index = -1 Then
MsgBox "STORE IMAGE - please choose source drive", vbOKOnly + vbExclamation, Me.Caption
Else
lblWait.Caption = "Please wait... storing image number " + CStr(Index) + " in 'c:test.sdi'..."
Me.MousePointer = vbHourglass

Store_Image nUDTPtr, Drive, "C:test.sdi"
Me.MousePointer = vbNormal
lblWait.Caption = "...ready"
End If
GoTo mrkEnde
mrkError: MsgBox "Fehler in cmdStoreImage_Click: " + Err.Description + ", Fehlernummer: " + CStr(Err.Number), vbOKOnly + vbExclamation, Me.Caption
mrkEnde:
End Sub

Hier die Declaration:


Public Type SCSI_Info_Type
HaId As Byte 'Host Adapter ID
Target As Byte 'SCSI Target
bName(63) As Byte 'Name
BlockSize As Long 'Size of one logical Block
Amount_of_Blocks As Long 'Amount of logical Blocks
End Type

Public Declare Function Init_WNASPI32 _
Lib "sddim.dll" () As Boolean

Public Declare Function Scan_SCSI_Bus _
Lib "sddim.dll" _
(ByVal SCSI_Info As Long, _
ByVal Flag As Boolean) As Long

Public Declare Sub SCSI_Prevent_Medium_Removal _
Lib "sddim.dll" _
(ByVal SCSI_Info As Long, _
ByVal Flag As Boolean)

Public Declare Function Store_Image _
Lib "sddim.dll" _
(ByVal SCSI_Info As Long, _
ByVal Drive As Long, _
ByVal Filename As String) As Boolean

Public Declare Sub Make_Image _
Lib "sddim.dll" _
(ByVal SCSI_Info As _
Long, ByVal Drive As _
Long, ByVal Filename As String)
alle Nachrichten anzeigenGesamtübersicht  |  Zum Thema  |  Suchen

 ThemaViews  AutorDatum
Anwendung friert ein...44Daniel19.05.02 01:21
Re: Anwendung friert ein...264ModeratorDieter19.05.02 09:47
Danke für die Antwort33Daniel19.05.02 11:09
Re: Danke für die Antwort228ModeratorDieter19.05.02 11:19
Wurde getestet39Daniel19.05.02 12:09
Re: Wurde getestet257ModeratorDieter19.05.02 12:17
Hm, schade & trotzdem danke31Daniel19.05.02 14:22

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-2025 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