Click to See Complete Forum and Search --> : How to get a HDD serial number?


Mart
March 10th, 2005, 01:51 AM
Hi there :). I'm trying to get a HDD serial number using
DeviceIoControl (
handlePhysicalDrive,
IOCTL_STORAGE_GET_MEDIA_SERIAL_NUMBER, //0x00074080
IntPtr.Zero,
0,
ref mediaData,
(uint)Marshal.SizeOf(mediaData),
ref l_nBytesReturned,
System.IntPtr.Zero);

I cant correctly translate the C struct to C#
//C struct
typedef struct _MEDIA_SERIAL_NUMBER_DATA {
ULONG SerialNumberLength;
ULONG Result;
ULONG Reserved[2];
UCHAR SerialNumberData[];
} ;
//my translation
[StructLayout(LayoutKind.Sequential)]
public struct MEDIA_SERIAL_NUMBER_DATA{
public ulong SerialNumberLength;
public ulong Result;
public ulong Reserved;
public string SerialNumberData;
}

Please, can somebody help me?