title: Is PNPDeviceID of video card adapter unique?
body: <p>I need to get a unique id of video card adapter. When searching in the properties of the device (using Device Manager of Windows), I notice that there is a property named <code>Hardware Ids</code> as shown in image bellow.</p>
  
  <p><a href="https://i.stack.imgur.com/ZGOtx.jpg" rel="nofollow noreferrer"><img src="https://i.stack.imgur.com/ZGOtx.jpg" alt="Hardware Ids of video card adapter"></a></p>
  
  <p>I tried to get these Ids in my winform application. I found this method:</p>
  
  <pre><code>string VideoCardInfoID()
  {
    ManagementObjectSearcher objvide = new ManagementObjectSearcher("select * from Win32_VideoController");
    string output = string.Empty;
    foreach (ManagementObject obj in objvide.Get())
    {
      output += (obj["PNPDeviceID"] + "\n");             
    }
    return output;
  }
  </code></pre>
  
  <p>The output of this code is:</p>
  
  <pre><code>PCI\VEN_10DE&amp;DEV_1055&amp;SUBSYS_908A104D&amp;REV_A1\4&amp;F7451F8&amp;0&amp;0008
  </code></pre>
  
  <p>I have two questions:</p>
  
  <ol>
  <li><p>Is PNPDeviceID of video card adapter unique across all machines? does it change when new fresh Windows installed? I know there some similar questions in stack overflow, but they does not contain a clear answers, such as this <a href="https://stackoverflow.com/questions/8983327/is-plug-and-play-id-pnpid-unique-for-each-device">question</a> and this <a href="https://stackoverflow.com/questions/11810046/is-the-pnpdeviceid-unique">question</a>.</p></li>
  <li><p>Why there is additional characters in the output of the <code>c#</code> function (<code>\4&amp;F7451F8&amp;0&amp;0008</code>)?</p></li>
  </ol>
  
  <p><strong>Update:</strong> I try install new fresh Windows and the Hardware Ids and PNPDeviceID  still the same, But I still don't know if PNPDeviceID unique across all machines (I mean the same as MAC address).</p>