IXAudio2 is the interface for the XAudio2 object that manages all audio engine states, the audio processing thread, the voice graph, and so forth.
This is the only XAudio2 interface that is derived from the COM IUnknown interface. It controls the lifetime of the XAudio2 object using two methods derived from IUnknownIXAudio2::AddRef and IXAudio2::Release. No other XAudio2 objects are reference-counted. Their lifetimes are explicitly controlled using create and destroy calls, and are bounded by the lifetime of the XAudio2 object that owns them.
interface IXAudio2 : public IUnknown
Header: Declared in xaudio2.h.
Library: Use xaudio2.lib.