Hello,
I have written a piece of code to retrieve the hardware id of the netdcu in c#, and i was wondering, will this number be unique for every NETDCU8? I have the following number from my NETDCU
0065004E-0074-0044-0043-00.
Greetings to ya all,
Kelkafa
to clarrify i have included the piece of code:
Code
- private static string GetDeviceID()
- {
- byte[] OutputBuffer = new byte[256];
- Int32 OutputBufferSize, BytesReturned;
- OutputBufferSize = OutputBuffer.Length;
- BytesReturned = 0;
- // Call KernelIoControl passing the previously defined
- // IOCTL_HAL_GET_DEVICEID parameter
- // We donÂ’t need to pass any input buffers to this call
- // so InputBuffer and InputBufferSize are set to their null
- // values
- bool retVal = KernelIoControl(IOCTL_HAL_GET_DEVICEID, IntPtr.Zero, 0, OutputBuffer, OutputBufferSize, ref BytesReturned);
- // If the request failed, exit the method now
- if (retVal == false)
- {
- return null;
- }
- // Examine the OutputBuffer byte array to find the start of the
- // Preset ID and Platform ID, as well as the size of the
- // PlatformID.
- // PresetIDOffset – The number of bytes the preset ID is offset
- // from the beginning of the structure
- // PlatformIDOffset - The number of bytes the platform ID is
- // offset from the beginning of the structure
- // PlatformIDSize - The number of bytes used to store the
- // platform ID
- // Use BitConverter.ToInt32() to convert from byte[] to int
- Int32 PresetIDOffset = BitConverter.ToInt32(OutputBuffer, 4);
- Int32 PlatformIDOffset = BitConverter.ToInt32(OutputBuffer, 0xc);
- Int32 PlatformIDSize = BitConverter.ToInt32(OutputBuffer, 0x10);
- // Convert the Preset ID segments into a string so they can be
- // displayed easily.
- StringBuilder sb = new StringBuilder();
- sb.Append(String.Format("{0:X8}-{1:X4}-{2:X4}-{3:X4}-",
- BitConverter.ToInt32(OutputBuffer, PresetIDOffset),
- BitConverter.ToInt16(OutputBuffer, PresetIDOffset + 4),
- BitConverter.ToInt16(OutputBuffer, PresetIDOffset + 6),
- BitConverter.ToInt16(OutputBuffer, PresetIDOffset + 8)));
- // Break the Platform ID down into 2-digit hexadecimal numbers
- // and append them to the Preset ID. This will result in a
- // string-formatted Device ID
- for (int i = PlatformIDOffset;
- i < PlatformIDOffset + PlatformIDSize;
- i++)
- {
- sb.Append(String.Format("{0:X2}", OutputBuffer[i]));
- }
- // return the Device ID string
- return sb.ToString();
- }