Lista winnt@man.lodz.pl
[Lista archiwów] [Inne Listy]

Re: [WINNT] Model dysku

To: winnt@man.lodz.pl
Subject: Re: [WINNT] Model dysku
From: waldek <xswedc@op.pl>
Date: Wed, 13 Jul 2016 03:35:40 +0200
W dniu 2016-07-10 o 21:55, waldek pisze:
Skąd i jak można odczytać model dysku...

Już znalazłem. W Win32.hlp oraz na stronach Microsoft oczywiście nic nie ma. Tzn. na MS jest, ale dla standardowo myślącego człowieka jest to nie do odszukania:
https://msdn.microsoft.com/pl-pl/library/windows/desktop/ff800835(v=vs.85).aspx
Dla ambitnych: proszę spróbować, korzystając wyłącznie z pomocy na stronach MS, odgadnąć, jak to coś się używa. A jeszcze bardziej hardcorowo: jak to w ogóle znaleźć...


Jeśli już ktoś dojdzie do tego, że jest to parametr parametru funkcji DeviceIoControl, to okaże się, że Delphi nie trawi Microsoftowych napisów, lecz jedynie odpowiadające im wartości DWORD... Ratunku, Microsoft ich nie podaje! Na szczęście są dobrzy ludzie, którzy udostępniają te numerki. Znając je można dowiedzieć się już wszystkiego o dysku.

W sieci można oczywiście znaleźć gotowce, kody źródłowe modułów zwracających nr seryjny dysku, albo model, albo pojemność, czy dane partycji. Wszystkie źródła, które znalazłem, opierają się jednak na znajomości przez autora kodu wartości DWORD, odpowiadającej napisowi podanemu w dokumentacji MS.

Pytania:
1. Dlaczego Delphi nie kompiluje tych parametrów DeviceIoControl:

https://msdn.microsoft.com/pl-pl/library/windows/desktop/aa363216(v=vs.85).aspx
    (linki pod koniec, w sekcji Remarks)

2. Dlaczego MS nie podaje wartości DWORD, a jeśli jednak podaje, to do cho... inki gdzie?

3. Czy inne kompilatory, np. C++, trawią te napisy bez problemów?

waldek

P.S. Napisałem i działa, ale ile mnie to kosztowało zdrowia...
Myślałem, że obsługa dysków to standard i takie pytanie na "lang.delphi" lub "winnt" będzie zbyt banalne. A tu pustka, tylko odsyłacze i to mocno nietrafione... Trochę się zawiodłem. Sorry za szczerość...




<Pop. w Wątku] Aktualny Wątek [Nast. w Wątku>