Audio: Welcome XAudio2 support.

This commit is contained in:
Amer Koleci
2023-04-06 14:40:17 +02:00
parent 84ace9b66b
commit 8bc4462157
32 changed files with 7950 additions and 4 deletions

View File

@@ -0,0 +1,66 @@
// ------------------------------------------------------------------------------
// <auto-generated>
// This code was generated by a tool.
//
// Changes to this file may cause incorrect behavior and will be lost if
// the code is regenerated.
// </auto-generated>
// ------------------------------------------------------------------------------
namespace Win32.Media.Audio.XAudio2;
/// <include file='../XAudio2.xml' path='doc/member[@name="IXAudio2EngineCallback"]/*' />
/// <unmanaged>IXAudio2EngineCallback</unmanaged>
public unsafe partial struct IXAudio2EngineCallback : IXAudio2EngineCallback.Interface
{
public void** lpVtbl;
/// <include file='../XAudio2.xml' path='doc/member[@name="IXAudio2EngineCallback::OnProcessingPassStart"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public void OnProcessingPassStart()
{
#if NET6_0_OR_GREATER
((delegate* unmanaged<IXAudio2EngineCallback*, void>)(lpVtbl[0]))((IXAudio2EngineCallback*)Unsafe.AsPointer(ref this));
#else
((delegate* unmanaged[Stdcall]<IXAudio2EngineCallback*, void>)(lpVtbl[0]))((IXAudio2EngineCallback*)Unsafe.AsPointer(ref this));
#endif
}
/// <include file='../XAudio2.xml' path='doc/member[@name="IXAudio2EngineCallback::OnProcessingPassEnd"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
public void OnProcessingPassEnd()
{
#if NET6_0_OR_GREATER
((delegate* unmanaged<IXAudio2EngineCallback*, void>)(lpVtbl[1]))((IXAudio2EngineCallback*)Unsafe.AsPointer(ref this));
#else
((delegate* unmanaged[Stdcall]<IXAudio2EngineCallback*, void>)(lpVtbl[1]))((IXAudio2EngineCallback*)Unsafe.AsPointer(ref this));
#endif
}
/// <include file='../XAudio2.xml' path='doc/member[@name="IXAudio2EngineCallback::OnCriticalError"]/*' />
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
public void OnCriticalError(HResult Error)
{
#if NET6_0_OR_GREATER
((delegate* unmanaged<IXAudio2EngineCallback*, HResult, void>)(lpVtbl[2]))((IXAudio2EngineCallback*)Unsafe.AsPointer(ref this), Error);
#else
((delegate* unmanaged[Stdcall]<IXAudio2EngineCallback*, HResult, void>)(lpVtbl[2]))((IXAudio2EngineCallback*)Unsafe.AsPointer(ref this), Error);
#endif
}
public interface Interface
{
[VtblIndex(0)]
void OnProcessingPassStart();
[VtblIndex(1)]
void OnProcessingPassEnd();
[VtblIndex(2)]
void OnCriticalError(HResult Error);
}
}