<Return[WXYZ]><Top>

waveInUnprepareHeader

Declare Function Api_waveInUnprepareHeader& Lib "winmm" Alias "waveInUnprepareHeader" (ByVal hwi&, pwh As WAVEHDR, ByVal cbwh&)

Declare Function waveInUnprepareHeader Lib "winmm" Alias "waveInUnprepareHeader" (ByVal hwi As Long, pwh As WAVEHDR, ByVal cbwh As Long) As Long

waveInPrepareHeader 関数で行われた初期化をクリーンアップする。この関数は、デバイスドライバがデータをバッファに入れ、そのバッファをアプリケーションに戻した後に呼び出す必要がある。また、この関数はバッファを解放する前に呼び出さなければならない。

パラメータ
hwi
    ウェーブフォームオーディオ入力デバイスのハンドルを指定する。
pwh
    クリーンアップするバッファを識別する WAVEHDR 構造体のアドレスを指定する。
cbwh
    WAVEHDR 構造体のサイズをバイト単位で指定する。

戻り値
    関数が成功すると、MMSYSERR_NOERROR が返る。関数が失敗すると、エラーが返る。返されるエラー値は次のとおりである。

    値                                             

説明                                                                                                                        

    MMSYSERR_INVALHANDLE

指定されたデバイスハンドルは無効である。

    MMSYSERR_NODRIVER

デバイスドライバが存在しない。

    MMSYSERR_NOMEM

メモリを割り当てられないか、またはロックできない。

    WAVERR_STILLPLAYING

pwh パラメータが指すバッファはまだキューにある。


解説
    この関数は waveInPrepareHeader 関数を補足するものである。この関数は、バッファを解放する前に呼び出す。waveInAddBuffer 関数

    でデバイスドライバにバッファを渡した後、 waveInUnprepareHeader 関数を呼び出す前に、デバイスドライバがバッファでの作業を完了する

    まで待たなければならない。初期化されていないバッファをクリーンアップした場合は何も起こらず、関数は 0 を返す。