// ------------------------------------------------------------------------------
//
// 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;
///
/// IXAudio2EngineCallback
public unsafe partial struct IXAudio2EngineCallback : IXAudio2EngineCallback.Interface
{
public void** lpVtbl;
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(0)]
public void OnProcessingPassStart()
{
((delegate* unmanaged[MemberFunction])(lpVtbl[0]))((IXAudio2EngineCallback*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(1)]
public void OnProcessingPassEnd()
{
((delegate* unmanaged[MemberFunction])(lpVtbl[1]))((IXAudio2EngineCallback*)Unsafe.AsPointer(ref this));
}
///
[MethodImpl(MethodImplOptions.AggressiveInlining)]
[VtblIndex(2)]
public void OnCriticalError(HResult Error)
{
((delegate* unmanaged[MemberFunction])(lpVtbl[2]))((IXAudio2EngineCallback*)Unsafe.AsPointer(ref this), Error);
}
public interface Interface
{
[VtblIndex(0)]
void OnProcessingPassStart();
[VtblIndex(1)]
void OnProcessingPassEnd();
[VtblIndex(2)]
void OnCriticalError(HResult Error);
}
}