I don't know Tracy. I don't deal with HDD manufacturer's number though (no use for me). In old good days of DOS a little assembly was doing the job, under windows when I first asked on C forums how would I get driver interrupt vectors all answer I got was "Are you for real" - my English was worse then but still I couldn't decipher this reply and surrendered:)
Cetin
>It returns:
>
>\\.\PHYSICALDRIVE0 .null.
>
>for me but I have a raid system, so perhaps that is the problem? The code I posted returns my two hard drives though.
>
>
>>Metin,
>>It works under winXP SP2.
>>
>>clear
>>loWMI = GetObject("winmgmts:\\.\root\cimv2")
>>oItems = loWMI.ExecQuery("select * from Win32_PhysicalMedia")
>>
>>
>>For each oItem in oItems
>>? oItem.Tag, oItem.SerialNumber
>>EndFor
>>return
>>
Cetin
>>
>>>I have windows XP PRO SP2. It didn't work me too.
>>>
>>>>Somesh,
>>>>
>>>>Unfortunately the solution will not work for any Windows version earlier than XP, as you can see in the requirements here:
http://msdn.microsoft.com/library/default.asp?url=/library/en-us/wmisdk/wmi/win32_physicalmedia.asp>>>>
>>>>
>>>>Client Requires Windows Vista or Windows XP.
>>>>Server Requires Windows Server "Longhorn" or Windows Server 2003.
>>>>