What Device Class is a TV or Projector? - windows

I am trying to figure out what class and GUID a TV or Projector belongs to in Windows OS?
Theres over 20 of them and I'm not sure which one a TV or Projector is part of. Here is the complete list
I suspect its one of the following HIDClass, Monitor, Media, etc.
DONT CLOSE THIS: I need to know this because knowing what class a TV is will tell me what GUID I need to use for the function SetupDiGetClassDevs(). This a relevant programming question!!

Here are the differences between HID and USB device APIs:
API Namespace Access type
USB Windows.Devices.Usb exclusive read & exclusive write
HID Windows.Devices.HumanInterfaceDevice shared read & exclusive write
Here are some CLSIDs for Device specific toolbars:
CLSID Device
{29c93b94-45ef-44b3-8ad5-5ec104e0f9c6} NEC LCD Projectors Toolbar
{b686afa8-7ca2-4c19-b9a8-ed364f126907} AOL Television Toolbar
References
Windows Store device apps for internal devices
Windows Media SDK, How to determine a device is a media center device?
Multimedia Streaming on Microsoft Windows CE 3.0
CLSID List: Television

Related

Microsoft SysVAD Virtual Audio Device Driver (SYSVAD) cannot work

This driver (https://github.com/Microsoft/Windows-driver-samples/tree/master/audio/sysvad) is provided by Microsoft. And in its README, the last part, it says:
Locate an MP3 or other audio file on the target computer and
double-click to play it. Then in the Sound dialog box, verify that
there is activity in the volume level indicator associated with the
SYSVAD (with APO Extensions) driver.
But in my target computer, the volume level indicator associated with the SYSVAD (with APO Extensions) driver does not change at all. And the target computer does not make any sound.
The same case to the mic, when set default mic to any of the sysvad mic array, the mic volume level will not change at all.
In my understanding, sysvad driver is virtual driver. So it will not really work. But why Microsoft README says: there is activity in the volume level indicator associated with the SYSVAD (with APO Extensions) driver.
The SYSVAD documentation leaves a lot to be desired. You won't see any activity in the volume level indicator, and you won't hear anything, since the only thing the rendering endpoints do is save a copy of the audio output to file (look for C:\STREAM_HOST_*.wav files).
The capture endpoints (including the "loopback" pins) generate constant sine-wave signals, which you can see if you use an app to record them, and then view them in a sound editor/viewer or play them back out to a real device.
I am working on SysVad too and sure it works, for Mic you can test with vlc player
Try to open the virtual mic from VLC and then you will hear sound, it's a sin wave generated by driver itself

locate media source of playing medie wp

does Anybody know if it is possible to capture the media you are playing on windows phone, so you can stream it to another source,
Just like apple does with airplay
No, it is not possible to write a 3rd party app that can capture audio or video from other apps and stream it somewhere else.
Airplay on iOS is a system level service that apps can use.
The closest thing Windows Phone has is Play To, which allows you to pick existing media on the phone (pictures, music, video, etc) and share it to a compatible device. Currently, this technology isn't available to developers.

Hide Audio device using codeless kext

I am developing a audio driver to do some custom audio processing using audio reflector driver sample code from Apple. Output from audio reflector driver is passed to real USB audio hardware device using core audio application. Now I want to hide USB audio hardware device from the system preferences so that user is not able to select the USB audio hardware output device as the default output device. Using the "SampleUSBAudioOverrideDriver" codeless kext I am able to change the name of output interface but not hide it. Any idea on how I will be able to hide USB audio hardware output device.
Thanks in advance.
Vin Pai
After a lof of R&D on this topic, I found that codeless kext provided in the sample code, SampleUSBAudioOverrideDriver doesn't use the property set to hide the device interface.

Hide USB Audio device on MAC OS X using custom kext

I am developing an application which does custom audio processing and sends the processed audio to the USB headset. My requirement is that the USB headset should not be visible to the user in the list of Audio output devices in System Preferences. Using "SampleUSBAudioOverrideDriver" code-less kext sample code from Apple, I'm able to change the interface name but I really need to hide it.
Is subclassing AppleUSBAudioDevice an option?
The recommended way to do pre-processing of a USB audio device's input and output streams in kernel space is to use the AppleUSBAudioPlugin API. This kext does not appear in the list of devices because it isn't an instance of IOAudioEngine, so there is no "hiding" involved.

Can Windows be set up to automatically launch an application when an HID-compliant USB device is plugged in?

I have a custom HID-compliant USB device. I would like to set up Windows to launch an application when this device is plugged in. Is this possible through a configuration setting? Or do I need to write an application (for example, one that resides in the system tray on Windows startup) that detects when the device is inserted?
I know that my Canon camera and my Nokia phone can start applications or AutoPlay when they are plugged in, but they are not HID devices.
You should be able to achieve this by monitoring for a WMI Win32_DeviceChangeEvent, or RegisterDeviceNotification.
Win32_DeviceChangeEvent: http://msdn.microsoft.com/en-us/library/aa394124(VS.85).aspx
RegisterDeviceNotification: http://msdn.microsoft.com/en-us/library/aa363431(VS.85).aspx

Resources