// ------------------------------------------------------------------------------ // // This code was generated by a tool. // // Changes to this file may cause incorrect behavior and will be lost if // the code is regenerated. // // ------------------------------------------------------------------------------ namespace Win32.Media.Audio.XAudio2; /// /// IXAudio2Voice public unsafe partial struct IXAudio2Voice : IXAudio2Voice.Interface { public void** lpVtbl; /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(0)] public void GetVoiceDetails(VoiceDetails* pVoiceDetails) { #if NET6_0_OR_GREATER ((delegate* unmanaged)(lpVtbl[0]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pVoiceDetails); #else ((delegate* unmanaged[Stdcall])(lpVtbl[0]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pVoiceDetails); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(1)] public HResult SetOutputVoices(VoiceSends* pSendList) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[1]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pSendList); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[1]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pSendList); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(2)] public HResult SetEffectChain(EffectChain* pEffectChain) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[2]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pEffectChain); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[2]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pEffectChain); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(3)] public HResult EnableEffect(uint EffectIndex, uint OperationSet) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[3]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, OperationSet); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[3]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, OperationSet); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(4)] public HResult DisableEffect(uint EffectIndex, uint OperationSet) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[4]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, OperationSet); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[4]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, OperationSet); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(5)] public void GetEffectState(uint EffectIndex, Bool32* pEnabled) { #if NET6_0_OR_GREATER ((delegate* unmanaged)(lpVtbl[5]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, pEnabled); #else ((delegate* unmanaged[Stdcall])(lpVtbl[5]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, pEnabled); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(6)] public HResult SetEffectParameters(uint EffectIndex, void* pParameters, uint ParametersByteSize, uint OperationSet) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[6]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, pParameters, ParametersByteSize, OperationSet); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[6]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, pParameters, ParametersByteSize, OperationSet); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(7)] public HResult GetEffectParameters(uint EffectIndex, void* pParameters, uint ParametersByteSize) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[7]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, pParameters, ParametersByteSize); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[7]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), EffectIndex, pParameters, ParametersByteSize); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(8)] public HResult SetFilterParameters(FilterParameters* pParameters, uint OperationSet) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[8]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pParameters, OperationSet); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[8]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pParameters, OperationSet); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(9)] public void GetFilterParameters(FilterParameters* pParameters) { #if NET6_0_OR_GREATER ((delegate* unmanaged)(lpVtbl[9]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pParameters); #else ((delegate* unmanaged[Stdcall])(lpVtbl[9]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pParameters); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(10)] public HResult SetOutputFilterParameters(IXAudio2Voice* pDestinationVoice, FilterParameters* pParameters, uint OperationSet) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[10]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pDestinationVoice, pParameters, OperationSet); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[10]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pDestinationVoice, pParameters, OperationSet); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(11)] public void GetOutputFilterParameters(IXAudio2Voice* pDestinationVoice, FilterParameters* pParameters) { #if NET6_0_OR_GREATER ((delegate* unmanaged)(lpVtbl[11]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pDestinationVoice, pParameters); #else ((delegate* unmanaged[Stdcall])(lpVtbl[11]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pDestinationVoice, pParameters); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(12)] public HResult SetVolume(float Volume, uint OperationSet) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[12]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), Volume, OperationSet); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[12]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), Volume, OperationSet); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(13)] public void GetVolume(float* pVolume) { #if NET6_0_OR_GREATER ((delegate* unmanaged)(lpVtbl[13]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pVolume); #else ((delegate* unmanaged[Stdcall])(lpVtbl[13]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pVolume); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(14)] public HResult SetChannelVolumes(uint Channels, float* pVolumes, uint OperationSet) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[14]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), Channels, pVolumes, OperationSet); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[14]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), Channels, pVolumes, OperationSet); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(15)] public void GetChannelVolumes(uint Channels, float* pVolumes) { #if NET6_0_OR_GREATER ((delegate* unmanaged)(lpVtbl[15]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), Channels, pVolumes); #else ((delegate* unmanaged[Stdcall])(lpVtbl[15]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), Channels, pVolumes); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(16)] public HResult SetOutputMatrix(IXAudio2Voice* pDestinationVoice, uint SourceChannels, uint DestinationChannels, float* pLevelMatrix, uint OperationSet) { #if NET6_0_OR_GREATER return ((delegate* unmanaged)(lpVtbl[16]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix, OperationSet); #else return ((delegate* unmanaged[Stdcall])(lpVtbl[16]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix, OperationSet); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(17)] public void GetOutputMatrix(IXAudio2Voice* pDestinationVoice, uint SourceChannels, uint DestinationChannels, float* pLevelMatrix) { #if NET6_0_OR_GREATER ((delegate* unmanaged)(lpVtbl[17]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix); #else ((delegate* unmanaged[Stdcall])(lpVtbl[17]))((IXAudio2Voice*)Unsafe.AsPointer(ref this), pDestinationVoice, SourceChannels, DestinationChannels, pLevelMatrix); #endif } /// [MethodImpl(MethodImplOptions.AggressiveInlining)] [VtblIndex(18)] public void DestroyVoice() { #if NET6_0_OR_GREATER ((delegate* unmanaged)(lpVtbl[18]))((IXAudio2Voice*)Unsafe.AsPointer(ref this)); #else ((delegate* unmanaged[Stdcall])(lpVtbl[18]))((IXAudio2Voice*)Unsafe.AsPointer(ref this)); #endif } public interface Interface { [VtblIndex(0)] void GetVoiceDetails(VoiceDetails* pVoiceDetails); [VtblIndex(1)] HResult SetOutputVoices(VoiceSends* pSendList); [VtblIndex(2)] HResult SetEffectChain(EffectChain* pEffectChain); [VtblIndex(3)] HResult EnableEffect(uint EffectIndex, uint OperationSet); [VtblIndex(4)] HResult DisableEffect(uint EffectIndex, uint OperationSet); [VtblIndex(5)] void GetEffectState(uint EffectIndex, Bool32* pEnabled); [VtblIndex(6)] HResult SetEffectParameters(uint EffectIndex, void* pParameters, uint ParametersByteSize, uint OperationSet); [VtblIndex(7)] HResult GetEffectParameters(uint EffectIndex, void* pParameters, uint ParametersByteSize); [VtblIndex(8)] HResult SetFilterParameters(FilterParameters* pParameters, uint OperationSet); [VtblIndex(9)] void GetFilterParameters(FilterParameters* pParameters); [VtblIndex(10)] HResult SetOutputFilterParameters(IXAudio2Voice* pDestinationVoice, FilterParameters* pParameters, uint OperationSet); [VtblIndex(11)] void GetOutputFilterParameters(IXAudio2Voice* pDestinationVoice, FilterParameters* pParameters); [VtblIndex(12)] HResult SetVolume(float Volume, uint OperationSet); [VtblIndex(13)] void GetVolume(float* pVolume); [VtblIndex(14)] HResult SetChannelVolumes(uint Channels, float* pVolumes, uint OperationSet); [VtblIndex(15)] void GetChannelVolumes(uint Channels, float* pVolumes); [VtblIndex(16)] HResult SetOutputMatrix(IXAudio2Voice* pDestinationVoice, uint SourceChannels, uint DestinationChannels, float* pLevelMatrix, uint OperationSet); [VtblIndex(17)] void GetOutputMatrix(IXAudio2Voice* pDestinationVoice, uint SourceChannels, uint DestinationChannels, float* pLevelMatrix); [VtblIndex(18)] void DestroyVoice(); } }