WinAPI: waveInUnprepareHeader - waveInPrepareHeader로 완료된 준비 제거

1208 단어 header
팁:
장치가 버퍼를 가득 써서 프로그램에 되돌려준 후 이 함수를 호출해야 합니다.
(GlobalFree) 버퍼를 풀기 전에 이 함수를 호출해야 합니다.
준비되지 않은 버퍼를 취소하면 무효지만 함수는 0을 되돌려줍니다


//  :

waveInUnprepareHeader(

  hWaveIn: HWAVEIN;      {    }

  lpWaveInHdr: PWaveHdr; {TWaveHdr      }

  uSize: UINT            {TWaveHdr     }

): MMRESULT;             {     0;         :}



MMSYSERR_INVALHANDLE = 5;  {      }

MMSYSERR_HANDLEBUSY  = 12; {          }

WAVERR_STILLPLAYING  = 33; {        }



//TWaveHdr   wavehdr_tag       

wavehdr_tag = record

  lpData: PChar;          {         }

  dwBufferLength: DWORD;  {          }

  dwBytesRecorded: DWORD; {       ,           }

  dwUser: DWORD;          {     32   }

  dwFlags: DWORD;         {     }

  dwLoops: DWORD;         {      ,         }

  lpNext: PWaveHdr;       {  }

  reserved: DWORD;        {  }

end;



//TWaveHdr    dwFlags     :

WHDR_DONE      = $00000001; {         ,       }

WHDR_PREPARED  = $00000002; {waveInPrepareHeader   waveOutPrepareHeader         }

WHDR_BEGINLOOP = $00000004; {              ,      }

WHDR_ENDLOOP   = $00000008; {               ,      }

WHDR_INQUEUE   = $00000010; { reserved for driver }


 
   
// :

좋은 웹페이지 즐겨찾기