/// <summary> /// Creates a new Audio endpoint volume /// </summary> /// <param name="realEndpointVolume">IAudioEndpointVolume COM interface</param> internal AudioEndpointVolume(IAudioEndpointVolume realEndpointVolume) { uint HardwareSupp; _AudioEndPointVolume = realEndpointVolume; _Channels = new AudioEndpointVolumeChannels(_AudioEndPointVolume); _StepInformation = new AudioEndpointVolumeStepInformation(_AudioEndPointVolume); Marshal.ThrowExceptionForHR(_AudioEndPointVolume.QueryHardwareSupport(out HardwareSupp)); _HardwareSupport = (EEndpointHardwareSupport)HardwareSupp; _VolumeRange = new AudioEndpointVolumeVolumeRange(_AudioEndPointVolume); _CallBack = new AudioEndpointVolumeCallback(this); Marshal.ThrowExceptionForHR(_AudioEndPointVolume.RegisterControlChangeNotify(_CallBack)); }
/// <summary> /// Creates a new Audio endpoint volume /// </summary> /// <param name="realEndpointVolume">IAudioEndpointVolume COM interface</param> internal AudioEndpointVolume(IAudioEndpointVolume realEndpointVolume) { uint hardwareSupp; audioEndPointVolume = realEndpointVolume; channels = new AudioEndpointVolumeChannels(audioEndPointVolume); stepInformation = new AudioEndpointVolumeStepInformation(audioEndPointVolume); Marshal.ThrowExceptionForHR(audioEndPointVolume.QueryHardwareSupport(out hardwareSupp)); hardwareSupport = (EEndpointHardwareSupport)hardwareSupp; volumeRange = new AudioEndpointVolumeVolumeRange(audioEndPointVolume); callBack = new AudioEndpointVolumeCallback(this); Marshal.ThrowExceptionForHR(audioEndPointVolume.RegisterControlChangeNotify(callBack)); }