<Return[I]><Top>

ICDraw

Declare Function Api_ICDraw& Lib "msvfw32" Alias "ICDraw" (ByVal hic&, ByVal dwFlags&, lpFormat As Any, lpData As Any, ByVal cbData&, ByVal lTime&)

Declare Function ICDraw Lib "msvfw32" (ByVal hic As Long, ByVal dwFlags As Long, lpFormat As Any, lpData As Any, ByVal cbData As Long, ByVal lTime As Long) As Long

イメージを描画のために解凍する。

パラメータ
hic
    デコンプレッサ(圧縮解凍処理)のハンドルを指定する。
dwFlags
    解凍フラグを指定する。次の値が定義されている。
    ICDRAW_HURRYUP
        データはバッファに送られますが、画面には描画されない。このフラグは高速な解凍処理に使いる。
    ICDRAW_NOTKEYFRAME
        現在のフレームはキーフレームではある。
    ICDRAW_NULLFRAME
        現在のフレームにはデータが含まれていないため、前のフレームは再描画されない。
    ICDRAW_PREROLL
        ビデオの現在のフレームは、再生開始よりも前に処理される。たとえば、再生がフレーム 10 で始まり、一番近い以前のキーフレームが

        フレーム 0 である場合、ICDRAW_PREROLL の値がセットされていると、0〜9 のフレームがドライバに送信される。フレーム 10 を正しく

        再生するために、ドライバではこのデータが必要である。
    ICDRAW_UPDATE
        あらかじめ受信されたデータに基づいて画面を更新する。このフラグを使うときは、lpData パラメータを NULL に設定する。
lpFormat
    データの入力形式が入った BITMAPINFOHEADER 構造体のアドレスを指定する。
lpData
    入力データのアドレスを指定する。
cbData
    入力データのサイズをバイト単位で指定する。
lTime
    このフレームを描画する時間をサンプル単位で指定する。ビデオデータの単位はフレームである。

戻り値
    関数が成功すると、ICERR_OK が返る。関数が失敗すると、エラーが返る。

解説
    ICM_DRAW_START メッセージを送信すると(または ICDrawStart マクロを使うと)、フレームの描画を開始することができる。アプリケーショ

    ンは、描画が開始される前に必要な数のフレームをバッファに送らなければならない。この値を取得するには、

    KM_GETBUFFERSWANTED メッセージを送信する(または ICGetBuffersWanted マクロを使う)。