title: How to programmatically change the friendly name of a Windows audio device?
body: <p>What is the proper API call that I should use to rename an audio device on windows? My goal is to change the device name that is shown to the user when they right click the volume icon and select "playback devices." I believe "friendly name" is the property I want to alter. </p>
  
  <p>I've managed to successfully call <a href="http://msdn.microsoft.com/en-us/library/windows/hardware/ff552163(v=vs.85).aspx" rel="nofollow">SetupDiSetDeviceProperty</a>, which returns true. If I subsequently call <a href="http://msdn.microsoft.com/en-us/library/windows/hardware/ff551963(v=vs.85).aspx" rel="nofollow">SetupDiGetDeviceProperty</a>, the recently set value is returned. However, this value seems to only exist within the context of my application - the system setting seems unchanged.</p>
  
  <p>Is there another function call that I should call instead of or in addition to <code>SetupDiSetDeviceProperty</code>?</p>
  
  <p>I have been running my application as an administrator, so permissions shouldn't be an issue.</p>