Record and play audio from microphone at the same time with core audio api microsoft on windows c++

Hi everyone!
I have a code can Record and play audio at the same time with Naudio in c#, this is code:
`public partial class MainWindow : Window
{
private WaveIn recorder;
private BufferedWaveProvider bufferedWaveProvider;
private SavingWaveProvider savingWaveProvider;
private WaveOut player;

public MainWindow()
{
    InitializeComponent();
}

private void OnStartRecordingClick(object sender, RoutedEventArgs e)
{
    // set up the recorder
    recorder = new WaveIn();
    recorder.DataAvailable += RecorderOnDataAvailable;

    // set up our signal chain
    bufferedWaveProvider = new BufferedWaveProvider(recorder.WaveFormat);

    // set up playback
    player = new WaveOut();
    player.Init(bufferedWaveProvider );

    // begin playback & record
    player.Play();
    recorder.StartRecording();
}

private void RecorderOnDataAvailable(object sender, WaveInEventArgs waveInEventArgs)
{
    bufferedWaveProvider.AddSamples(waveInEventArgs.Buffer,0, waveInEventArgs.BytesRecorded);
}

private void OnStopRecordingClick(object sender, RoutedEventArgs e)
{
    // stop recording
    recorder.StopRecording();
    // stop playback
    player.Stop();
    // finalise the WAV file
    savingWaveProvider.Dispose();
}

}`
And with core api microsoft how to do that. Thanks you for help!