When you want to use a mixer device, you can either simply begin using it or you can explicitly open the device before using it. Explicitly opening a mixer device offers two main benefits:
You can use the mixerOpen function to explicitly open a mixer device. This function takes as parameters a device identifier, a pointer to a memory location, and other values unique to each type of device. The memory location is filled with a device handle. Use this device handle to identify the open mixer device when calling other audio mixer functions. As long as a handle of a mixer device exists, the device continues to exist in the system. If a configuration change occurs to the mixer device and it hasn't been explicitly opened, your application might suddenly be unable to access it.
Note The difference between device identifiers and device handles is important. Device handles are returned when you open a device driver by using mixerOpen. Device identifiers are determined implicitly from the number of devices present in a system; this number is obtained by using the mixerGetNumDevs function.
You can use the mixerClose function to close a mixer device. You should close the device after you finish using it.