waveWriteOut fehler 11 ?



  • hallo leute

    ich bekomme bei waveWriteOut immer den fehler 11 zurueck geliefert.

    scheinbar ist der aber nicht im sdk verzeichnet. hab zumindest nix dazu gefunden.

    weiß jemand was der fehler zubedeuten hat ?

    falls jemand der source interessiert:

    void CALLBACK pWaveInProc(HWAVEIN hwin, UINT uMsg, DWORD Instance,
                              DWORD p1, DWORD p2)
    {
       switch(uMsg)
       {
          case WIM_OPEN :
          {
             Kuchen_backen("220°"};break;
          case WIM_DATA :
          {
             if(tAudio->bBufferIn == false)
             {
                ShowMessage("WIM_DATA");
                if(waveInAddBuffer(hwin,&(tAudio->waveHdrIn2),sizeof(WAVEHDR)))
                   ShowMessage("WaveInAddBuffer fehlgeschlagen");
                memcpy(tAudio->BufferOut1,tAudio->BufferIn1,tAudio->BUFFER_SIZE);
                if(t =waveOutWrite((tAudio->hWaveOut),&(tAudio->waveHdrOut1),tAudio->BUFFER_SIZE))
                   ShowMessage("WaveOutWrite ist fehlgeschlagen : "+IntToStr(t));
                tAudio->bBufferIn = true;
             }
             break;
          }
       }
    }
    

    tAudio->hWaveOut : HWAVEOUT hWaveOut;
    tAudio->waveHdrOut1 : WAVEHDR waveHdrOut1;
    tAudio->BUFFER_SIZE : int BUFFER_SIZE;

    Meep Meep



  • //
    // MessageId: ERROR_BAD_FORMAT
    //
    // MessageText:
    //
    //  An attempt was made to load a program with an incorrect format.
    //
    #define ERROR_BAD_FORMAT                 11L
    

    Visual C++ Fehler-Tool sagt dazu:
    Es wurde versucht, eine Datei mit einem falschen Format zu laden.



  • hallo

    was hat ein dateiformat mit waveOut zutun ?

    ich verwende uebrigens fuer waveIn und waveout die selben daten im WAVEFORMATEX. in einem anderen proggie hab ich das genau so gemacht, da funkt es ganz normal.

    Meep Meep



  • Du gibst an, Du bekämst Fehler 11 zurückgeliefert.

    Ich mache mir die Mühe und poste den betreffenden Ausschnitt aus der WinError.h (denn da drin wird Fehler 11 definiert...)

    Wenn Du alles weißt, bitteschön, spar ich mir meine Mühe und Du hast Deine Ruhe...



  • irgendwie verstehe ich deine reaktionen jetzt nich so richtig.

    das war ja jetzt nix gegen dich. wenn ich alles wuesste, braeuchte ich hier nicht um hilfe bitten.
    mir gings halt nich in den kopf, weshalb da als rueckgabewert etwas kommt, das nich mal in der sdk angegeben ist.

    Meep Meep



  • Was heißt hier nicht mal im SDK angegeben 😕
    Unter GetLastError auf System Error Codes und schon hast du sie alle 🙂



  • flenders schrieb:

    Unter GetLastError auf System Error Codes und schon hast du sie alle 🙂

    GetLastError? Ich würde viel eher in <mmsystem.h> nachschauen wollen:

    #define MMSYSERR_BASE          0
    .
    .
    .
    #define MMSYSERR_INVALPARAM   (MMSYSERR_BASE + 11) /* invalid parameter passed */
    

    Und sobald RockNix das gelesen hat, wird er sicher genauer darauf eingehen. 😉



  • hallo leute

    danke mal fuer eure hilfe.
    hab den fehler nun gefunden. ich depp hab nen falschen parameter benutzt. durfte natuerlich nicht den bufferlaenge angeben, sondern musste die groesse der WAVEHDR struktur angeben. naja bin mal wieder voll auf der leitung gestanden.

    Meep Meep



  • -King- schrieb:

    flenders schrieb:

    Unter GetLastError auf System Error Codes und schon hast du sie alle 🙂

    GetLastError? Ich würde viel eher in <mmsystem.h> nachschauen wollen:

    #define MMSYSERR_BASE          0
    .
    .
    .
    #define MMSYSERR_INVALPARAM   (MMSYSERR_BASE + 11) /* invalid parameter passed */
    

    absolut korrekt. und für diejenigen, die mit den fehlercodes nichts anfangen können -> meistens hilft es, den rückgabewert mal bei "FindInFiles" einzugeben und alle VC++ *.h zu durchsuchen, da wird man immer fündig - da ist denn mal ein wenig phantasie gefragt.

    nehmts mir nicht übel, aber eigentlich müssen solche fragen nicht gepostet werden. denn bis hierhin ...

    #define MMSYSERR_INVALPARAM   (MMSYSERR_BASE + 11) /* invalid parameter passed
    

    hätte jeder selbst kommen können. 🙂


Anmelden zum Antworten