waveOutOpen gibt MMSYSERR_INVALPARAM zurück - warum?



  • Hallo!

    Wenn ich

    waveOutOpen( &hwo, 0, &wfx, 0, waveOutProc, CALLBACK_FUNCTION );
    

    aufrufe, bekomme ich ein MMSYSERR_INVALPARAM zurück. Es ist also
    angeblich ein ungültiger Parameter übergeben worden.

    Ändere ich die Parameter um und rufe

    waveOutOpen( &hwo, 0, &wfx, 0, NULL, CALLBACK_NULL );
    

    auf, so wird das Gerät geöffnet und nach weiteren Vorbereitungen
    spielt die Funktion waveOutWrite den Sound auch tatsächlich ab.

    Der Fehlermeldung nach sollte es also am Parameter
    waveOutProc oder am Parameter CALLBACK_FUNCTION liegen.

    Meine Callbackfunktion sieht so aus:

    void CALLBACK myWaveOutProc( HWAVEOUT hwo, UINT uMsg, DWORD dwInstance,
    								DWORD dwParam1, DWORD dwParam2 )
    		{
    			return;
    		}
    

    Was geht da schief?

    MfG L.i.E.



  • Sorry!
    Fehler gefunden, habe die Reihenfolge der Parameter falsch gesetzt, muss natürlich so aussehen:

    waveOutOpen( &hwo,0, &wfx, myWaveOutProc, 0,
    		CALLBACK_FUNCTION );
    

    MfG,
    E.L.i.E.


Anmelden zum Antworten