MIXER_DATA_ITEM

typedef struct _MIXER_DATA_ITEM {
    LIST_ENTRY    Entry;
    LARGE_INTEGER LastSet;
    USHORT        Message;
    USHORT        Id;
} MIXER_DATA_ITEM, *PMIXER_DATA_ITEM;
 

The MIXER_DATA_ITEM structure, defined in mixer.h, is used to represent a data item for either a mixer line or a mixer control. The structure is initialized by calling SoundInitDataItem and is modified by SoundMixerChangedItem.

Members
Entry
Internal only. Contains FLINK and BLINK list pointers. Set by SoundInitDataItem.
LastSet
Internal only. Contains relative time of last change. Set by SoundInitDataItem and SoundMixerChangedItem.
Message
Internal only. Set by SoundInitDataItem. Contains type of notification message to send to client. Can be either MM_MIXM_LINE_CHANGE or MM_MIXM_CONTROL_CHANGE.
Id
Internal only. Set by SoundInitDataItem. Contains either a line ID or a control ID.
Comments

Drivers allocate one of these structures for each line and control that can change. The structure must be globally allocated, because soundlib.lib does not copy it. Instead, soundlib.lib modifies the structure’s Entry element to determine the structure’s location within a linked list.