The MMDeviceBase type exposes the following members.
All devices should be given a name, but it does not have to be unique
Notifications to the GUI on how it should behave. This is very important for those devices that are virtual, (especially scripts.)
Some device properties are not saved from one session to the next This gives a list of those properties that the user defined as needing to be saved