First let me answer a more general question: "how can a kernel streaming driver let Windows know that something has changed?" The answer to this more general question is, "raise a KS event." http://msdn.microsoft.com/en-us/library/ff536195(v=VS.85).aspx For example, if your list of supported formats changes, you would raise a KSEVENT_PINCAPS_FORMATCHANGE event. To answer your more specific question: Windows will (in most cases) use the KSPROPERTY_PIN_NAME property of a streaming pin as the name of the playback or capture device, when creating the audio endpoint. However, once the endpoint is created, the name is fixed, and only the user can change it (via the Sound control panel.) In particular there is no KSEVENT_..._NAMECHANGE event. As you have observed, the KSPROPERTY_PIN_NAME is still used in the Levels tab. You can tear the endpoint down by unregistering the KS interface, and then reregistering it will cause a new endpoint to be created (with the new name) but this will wipe out any settings changes the user has made to the endpoint. ________________________________ From: wdmaudiodev-bounce@xxxxxxxxxxxxx [wdmaudiodev-bounce@xxxxxxxxxxxxx] on behalf of Jeff Pages [jeff@xxxxxxxxxxxxxxxx] Sent: Monday, January 24, 2011 3:29 PM To: wdmaudiodev@xxxxxxxxxxxxx Subject: [wdmaudiodev] IPinName problem I’m trying to use the IPinName interface for dynamic endpoint names in a Windows 7 audio capture device as described in the “Windows 7 Changes Related to Audio Drivers” paper, but without much success. In the debugger I can see Windows calling IPinName::GetPinName and it initially uses the name I return to set the endpoint name, but if I subsequently change the name I return, the endpoint still shows the original name, even after a reboot. The only place the new name shows up is in the Levels panel. Jeff