<Return[A]><Top>

acmStreamUnprepareHeader

Declare Function Api_acmStreamUnprepareHeader& Lib "msacm32" Alias "acmStreamUnprepareHeader" (ByVal has&, ByRef pash As ACMSTREAMHEADER, ByVal fdwUnprepare&)

Declare Function acmStreamUnprepareHeader Lib "msacm32" (ByVal has As Long, ByRef pash As ACMSTREAMHEADER, ByVal fdwUnprepare As Long) As Long

acmStreamPrepareHeader 関数が ACM ストリーム変換のために行った準備をクリーンアップする。この関数は、ACM が指定されたバッファの処理を終了した後で、呼び出されなければならない。アプリケーションは、変換元および変換先バッファを解放する前にこの関数を呼び出さなければならない。

パラメータ

has
    変換ストリームのハンドルを指定する。
pash
    準備のクリーンアップを実行する変換元および変換先バッファを識別する 構造体のアドレスを指定する。
fdwUnprepare
    予約されている。0 を指定する。

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

    値                                               

説明                                                           

    ACMERR_BUSY

pash パラメータで指定されたストリームヘッダは現在使用中のため、準備をクリーンアップできない。

    MMSYSERR_INVALFLAG

少なくとも 1 つのフラグが無効である。

    MMSYSERR_INVALHANDLE

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

    MMSYSERR_INVALPARAM

少なくとも 1 つのパラメータが無効である。

 

解説
    すでに準備がクリーンアップされているストリームヘッダを再びクリーンアップすると、エラーになる。アプリケーションは、対応する

    acmStreamPrepareHeader 関数で使った変換元および変換先バッファの長さ(cbSrcLength および cbDstLength)を指定しなければならな

    い。これらのメンバ値のリセットに失敗すると、acmStreamUnprepareHeader 関数は MMSYSERR_INVALPARAM エラーを返して失敗す

    る。
    ACM はエラーから回復できる場合もある。ACM は 0 以外の値を返すが、ストリームヘッダの準備は適切にクリーンアップされる。アプリケ

    ーションは ACMSTREAMHEADER_STATUSF_PREPARED フラグを調べて、ストリームヘッダの準備が実際にクリーンアップされたかどう

    かを確認することができる。acmStreamUnprepareHeader 関数が 0 を返す場合は、常にヘッダの準備がクリーンアップされている。