sl23 wrote: ↑April 25th, 2022, 4:09 pm
Maybe you're right and it needs time to release the memory? But the update rate doesn't stop the leak when set to 1s, it slows it right down. You can see this by setting it to 50ms and slowly increase the time. You'll notice with each increase the update in Task Manager shows it accordingly.
You don't see the 1 s update leak by changing the update back to 50 ms - they are different situations, and different conclusions. Point is, if the update is set to 1 s, the leak, while it may exist technically, is kept under control and the memory usage doesn't go past a certain value (63 K in my case, might be different for you). So you're right that the leak exists and has to be reported, but setting the update to 1 s acts as a damage control, so to speak. So far, it's the best solution you got, if you're ok with keeping the DLL / PS session / measure active.
sl23 wrote: ↑April 25th, 2022, 4:09 pm
Well, I tried using the "friendly names" but still I get the error:
When you say "friendly name" do you mean for example:
Microphone (Realtek(R) Audio) or just
Microphone? Do I need to keep the
** around the name?
The friendly name is the complete humanly readable name of that device, probably
Microphone (Realtek(R) Audio) in your case (if it's the entire string corresponding to your microphone, that is). The
* are just wildcards, so
*Microphone* can mean
SomePrefixHere Microphone or
Microphone SomeSuffixHere, or just plain
Microphone without any pre- or post- additional characters. It's the simpler equivalent of
.* from regex, basically.
You'd have to test your devices and see which one is it, or disabling / enabling which one produces the effect you want. I didn't go to great lengths in my case since I don't have your system, but as an example, some stuff works, some doesn't - you just have to find which device is the one you need to disable / enable:
DisableEnableMicArray.jpg
Now, I'm pretty sure this is not exactly what I wanted (e.g. disable the mic from my headset), but maybe it comes close to it, if it's a child of the mic array. Didn't test to see the effect, but keep experimenting and you'll find the solution eventually. I'm not sure if I couldn't set the mic from my headset because the headset wasn't plugged in at that time or because its status was "Unknown", but you get the idea. You can try running
Get-PnpDevice -PresentOnly -Status ERROR before disabling your mic manually from Settings, then compare that list with the one you get after running the command a second time,
after disabling it, in order to identify which device exactly is Windows disabling when you do it manually. Then, you should be able to use
Get-PnpDevice | Where-Object {$_.FriendlyName -like 'TheDeviceYouJustIdentified'} | Enable-PnpDevice -Confirm:$false or its disable equivalent and get the desired effect. This is based on the fact that for me, the Status of my mic array after disabling is "ERROR" (this is also the status of my printer which wasn't plugged in at the time, by the way), so it's clear that this status can be an indication of the device being disabled. Of course, it might just happen to not be able to enable a device if it isn't plugged in, as you progress with the procedure, but that's another story.
You do not have the required permissions to view the files attached to this post.