using System;
using System.Runtime.InteropServices;
namespace NAudio.CoreAudioApi.Interfaces
{
///
/// IMMNotificationClient
///
[Guid("7991EEC9-7E89-4D85-8390-6C703CEC60C0"),
InterfaceType(ComInterfaceType.InterfaceIsIUnknown),
ComImport]
public interface IMMNotificationClient
{
///
/// Device State Changed
///
void OnDeviceStateChanged([MarshalAs(UnmanagedType.LPWStr)] string deviceId, [MarshalAs(UnmanagedType.I4)] DeviceState newState);
///
/// Device Added
///
void OnDeviceAdded([MarshalAs(UnmanagedType.LPWStr)] string pwstrDeviceId);
///
/// Device Removed
///
void OnDeviceRemoved([MarshalAs(UnmanagedType.LPWStr)] string deviceId);
///
/// Default Device Changed
///
void OnDefaultDeviceChanged(DataFlow flow, Role role, [MarshalAs(UnmanagedType.LPWStr)] string defaultDeviceId);
///
/// Property Value Changed
///
///
///
void OnPropertyValueChanged([MarshalAs(UnmanagedType.LPWStr)] string pwstrDeviceId, PropertyKey key);
}
}