www.mikrocontroller.net

Forum: Mikrocontroller und Digitale Elektronik Immer noch ungelöste Problem ...


Autor: Andy Prog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
wie kann ich den Harddriver Serial number rausfinden
Folgende Assembler Syntax liefert die CPU Name


char cpuVendor[256];

_asm {
        mov eax,0
            cpuid
            mov DWORD PTR cpuVendor +0,ebx
            mov DWORD PTR cpuVendor +4,edx
            mov DWORD PTR cpuVendor +8,ecx
        mov Byte PTR cpuVendor +12,0
    }
es muss doch so was vergleichbares für "HD Serial number" bzw. "HD 
Model" geben ...

Kann mir jemand weiter helfen?

Habe bei Google gesucht - und habe nichts passendes gefunden bzw. nur 
umfangreiche Projekte mit ganzem Hardware ID's

Prog40

Autor: Marc (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Der Befehl vol auf der DOS-Ebene sollte dir weiterhelfen...

Autor: Andy Prog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
"VOL" Befehl leifert keinen Datenträger Number sondern ID die immer neu 
nach dem Format vergeben wird.

Danke aber das bringt mich nicht weiter.

ich brauche Hersteller ID-Number, mit Assembler muss es doch möglich 
sein die andere Prog.(z.b. Motherboard Tools, und tausend andere) machen 
das doch.

Prog40

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Schau dir mal den ATA-Standard get-drive-id bzw. get-drive-parameters 
an. Doku dazu gibts bei vielen HD-Herstellern als PDF

Autor: Thomas Zepf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Dafür gibt es unter Win zb. API Aufrufe. Es ist also kein Assembler 
notwendig.
Suche mal nach GetVolumeInformation() das sollte die notwendigen 
Informationen liefern

Autor: Andy Prog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Habe doch oben geschrieben "VOL" DOS Befehl bringt hier nichts!!!!!!

Also noch mal die WIN API Funktion "GetVolumeInformation()"
leifert das gleiche wie das "VOL" DOS Befehl (Formatierungs Datum + 
Uhrzeit)

Autor: Thomas Zepf (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Lies doch erst mal die Beschreibung zu GetVolumeInformation
genauer durch die Serial No kommt sehr wohl zurück

ein kleines Beispiel in Pascal

lpVolumeNameBuffer:= NIL;
lpFileSystemNameBuffer:=NIL;
nVolumeNameSize:=0;
nFileSystemNameSize:=0;
lpMaximumComponentLength:=0;
lpFileSystemFlags:=0;
lpRootPathName:='c:\';
if GetVolumeInformation(lpRootPathName,
                       lpVolumeNameBuffer,
                       nVolumeNameSize,
                       @VolumeSerialNumber,
                       lpMaximumComponentLength,
                       lpFileSystemFlags,
                       lpFileSystemNameBuffer,
                       nFileSystemNameSize) then
Begin
// hier steht in VolumeSerial Number der gewünschte wert
End;

Ich mach das schon seit Jahren so und bekomme damit zumindest hier immer 
die Serial No. Google sagt das übrigens auch

Thomas

Autor: Andy Prog (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ok.
dann probiere mal den SerialNumber von A (Diskette 1,44 )zu ermitelln, 
danach farmatiere die, und jetzt kommt:
die Diskette hat nach dem Format endere SerialNumber.
Wenn du mir nicht glaubst versuche es mit der HD ... dann weisst du das 
die WinAPI keine Hersteller ID-Number zurück gibt.
Also noch mal das geht nur mit Assembler.

Prog40

Autor: Johannes Raschke (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
Ich weiß ja nicht, wie das bei Festplatten ist, aber bei Disketten gibt 
es nunmal überhaubt keine Hersteller - Seriennummer. Deshalb kann die 
Seriennummer beim Formatieren immer neu vergeben werden, steht dann halt 
in Sektor 0 oder so.
Bei Festplatten dürfte das anders sein.
Möglicherweise ist es aber nicht möglich, ohne Spezialkenntnisse des 
Herstellers diese Numer auszulesen.


Johannes

Autor: mikki merten (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
@Andy
Über diesen Link dürftest du an die gewünschten Info's kommen:
http://www.epanorama.net/links/pc/storage.html#ide

Autor: Michael Kiausch (Gast)
Datum:

Bewertung
0 lesenswert
nicht lesenswert
ich würd mir mal die sourcen von "hdparm" unter linux anschauen...
http://freshmeat.net/projects/hdparm/?topic_id=146%2C861

Antwort schreiben

Die Angabe einer E-Mail-Adresse ist freiwillig. Wenn Sie automatisch per E-Mail über Antworten auf Ihren Beitrag informiert werden möchten, melden Sie sich bitte an.

Wichtige Regeln - erst lesen, dann posten!

  • Groß- und Kleinschreibung verwenden
  • Längeren Sourcecode nicht im Text einfügen, sondern als Dateianhang

Formatierung (mehr Informationen...)

  • [c]C-Code[/c]
  • [avrasm]AVR-Assembler-Code[/avrasm]
  • [code]Code in anderen Sprachen, ASCII-Zeichnungen[/code]
  • [math]Formel in LaTeX-Syntax[/math]
  • [[Titel]] - Link zu Artikel
  • Verweis auf anderen Beitrag einfügen: Rechtsklick auf Beitragstitel,
    "Adresse kopieren", und in den Text einfügen




Bild automatisch verkleinern, falls nötig
Bitte das JPG-Format nur für Fotos und Scans verwenden!
Zeichnungen und Screenshots im PNG- oder
GIF-Format hochladen. Siehe Bildformate.
Hinweis: der ursprüngliche Beitrag ist mehr als 6 Monate alt.
Bitte hier nur auf die ursprüngliche Frage antworten,
für neue Fragen einen neuen Beitrag erstellen.

Mit dem Abschicken bestätigst du, die Nutzungsbedingungen anzuerkennen.