Vista's Sound Mixer in Bluetooth Remote Control

By Jerome at May 26, 2007 12:04 Tags: ,

If you're using Vista, you might have noticed that you can't change the volume using the "Windows Mixer" remote control section.

Actually, the volume do change, but for the application itself. BTRC is not generating any sound, this is particularly not useful. Vista's got a new feature that allows the user to control the volume of applications independently, which is pretty cool from the user point of view.

But from the developer's perspective, this modifies a bit the way for setting the sound volume. The "old" api still works but for the current application; and if you set the application in Windows XP compatibility mode, the behavior will be restored. Since I don't want to set that compatibility mode, I had to add specific support for vista using the new IAudioEndpointVolume, COM interface (COM, when'll that disapear...) that allows getting back the original behavior, which is changing the master volume.

It'll be in the next release.

Unprotecting Protected Processes

By Jerome at April 07, 2007 15:09 Tags: ,

Alex Ionescu's been searching a bit about Protected Processes, and he's managed to get around that protected state.

I'm no expert on that part nor have I read enough documentation on how that works, but since a goal of that particular feature is the "Protected Media Path" (PMP) to prevent anyone from eavesdropping a protected media, this is not good.

Since that implementation is based on a driver, that won't work on Vista 64, well, as long as you don't boot in that particular mode that allows you to load unsigned drivers. That's a good news for malware protection, since a virus shoud not be able to hide itself under normal conditions, but this is not for PMP. It seems that protected processes can check for a "tainted" environment, but how long is it going to take for someone to fool programs into thinking the system is clean... ? As always, that won't prevent evil dvd rippers to copy the media... but that'll piss a legitimate user.

Moreover, since it is easily possible in Vista 32, as alex is pointing it out, it probably won't take long for viruses to hide themselves using this technique and just a bit longer for antiviruses to unprotected any running process.

What a mess :)

Vista's Support for External Displays

By Jerome at April 07, 2007 10:14 Tags:

Among the many hidden new features of vista which belong to the category of "why didn't they do this in the first place", there is the new and improved support for displays and external displays in particular for a laptop.

In Windows XP, when you were attaching a display to your laptop, the resolution (and color depth) used was attached to the physical port, not to the display itself. So if you were moving around a lot with your laptop attaching many displays with many different resolutions, you had to reconfigure each time.

Vista's way is a bit different since the resolution and color depth are now attached to each specific display, and are automatically recalled upon connecting the cable. Now, when you attach a display, you can hear the "device connected" sound, the same used when connecting an USB device or PCMCIA card.

This also goes along with the presentation mode which allows to hide your trolling background when hosting a presentation. This is particularly useful at Epitech :)

Vista Versions and Confusion

By Jerome at January 31, 2007 15:36 Tags:

If you follow the news surrounding Windows Vista, this must not be a surprise for you but, Vista's commercial offer can be quite confusing. Confusing enough for jokes to surface like these two here and there.

Of course, Paul's trying to explain it simple enough by breaking down version features, but I'm not sure that end real end user's going to get it. Plus, if you add the OEM/Retail differenciation, that confuses it a bit more. And I too don't know which version I'm going to get...

Anyway, with "upgraders" the biggest problem for Vista is that there is no "gotta get" feature, but reather a myriad of features that are worth looking into but that are not visible at first sight.

One that is definitely not visible at first sight is SuperFetch, which actually has no UI. This one's tweaking your computer by trying to guess what you'll be doing next and prefetch files that you'll probably need. All that based on your computer usage. Obviously, if it is based on comptuer usage, and you just look at it for 2 hours, you're not going to get the best out of it. And this one's pretty effective.

So, my advice for people in that position, just give it a try and don't tell yourself  "Oh yeah, right... that's Windows XP with a fancy UI, that's all...", that's not the way to go.

Just my two cents...

Vista's Reliability Monitor in year 1970

By Jerome at January 30, 2007 17:56 Tags:

Vista's new reliability monitor is kind of great when you want check on your computer's overall performance. You get an index from 0 to 10 giving an overall performance rating of the system, which seems to be pretty accurate for what I can tell so far. It tracks hardware failures, software failures, windows failures, software (un)installs and some other failures, then gives you an index based on that info.

Actually, on a developer machine, this is a little biaised because any exception you raise from any of your program ends up lowering the index. That should invite you not to let unhandled exceptions exiting your programs... :)

Anyway, a few days ago, I went to look at that index and found that the only history I had was on the 01/01/1970... Rings any bell ? :)

Well, if you ever encounter this particular problem in case vista's not detecting that by itself and resets its database, just go there :

%ProgramData%\Microsoft\RAC

and remove the two directories that should be there. The Reliability monitor should detect it and restart just fine.

About me

My name is Jerome Laban, I am a Software Architect, C# MVP and .NET enthustiast from Montréal, QC. You will find my blog on this site, where I'm adding my thoughts on current events, or the things I'm working on, such as the Remote Control for Windows Phone.