<Return[G]><Top>

GetEnhMetaFileBits

Declare Function Api_GetEnhMetaFileBits& Lib "gdi32" Alias "GetEnhMetaFileBits" (ByVal hemf&, ByVal cbBuffer&, lpbBuffer As Byte)

Declare Function GetEnhMetaFileBits Lib "gdi32" Alias "GetEnhMetaFileBits" (ByVal hemf As Long, ByVal cbBuffer As Long, lpbBuffer As Byte) As Long

拡張形式メタファイルの内容を取り出し、バッファにコピーする。

パラメータ
hemf
    拡張形式メタファイルのハンドルを指定する。
cbBuffer
    データを受け取るバッファのサイズをバイト数で指定する。
lpbBuffer
    メタファイルのデータを受け取るバッファへのポインタを指定する。このバッファは、データを格納できる十分な大きさを持っていなければならな

    い。lpbBuffer に NULL を指定すると、データを格納するのに必要なサイズが返る。

戻り値
    cbBuffer に NULL を指定し、関数が成功すると、拡張形式メタファイルのサイズ(バイト数)が返る。
    cbBuffer に指定したポインタが有効で、関数が成功すると、バッファにコピーされたバイト数が返る。
    関数が失敗すると、0 が返る。
    Windows NT/2000:拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    拡張形式メタファイルのビットを取得した後、SetEnhMetaFileBits 関数を使ってこのビットからメモリ上にメタファイルを作成できる。
    GetEnhMetaFileBit 関数は、拡張形式メタファイルのハンドルを無効にしない。ハンドルが不要になったときは、DeleteEnhMetaFile 関数

    を使って削除する。
    この関数で取得するメタファイルの内容は、拡張形式になる。メタファイルの内容を Windows 形式で取得するには、GetWinMetaFileBits

    関数を使う。