<Return[G]><Top>

GetEnhMetaFileDescription

Declare Function Api_GetEnhMetaFileDescription& Lib "gdi32" Alias "GetEnhMetaFileDescriptionA" (ByVal hEmf&, ByVal DescSize&, ByVal Descrption$)

Declare Function GetEnhMetaFileDescription Lib "gdi32" Alias "GetEnhMetaFileDescriptionA" (ByVal hEmf As Long, ByVal DescSize As Long, ByVal Descrption As String) As Long

拡張形式メタファイルからそのメタファイルを説明するテキストを取り出し、指定されたバッファに格納する。このテキストは存在しない場合がある。

パラメータ
hemf
    拡張形式メタファイルのハンドルを指定する。
cchBuffer
    データを受け取るバッファのサイズを文字数で指定する。ここで指定した数の文字だけがコピーされる。
lpszDescription
    説明のテキストを受け取るバッファへのポインタを指定する。


戻り値
    lpszDescription に NULL を指定した場合、説明のテキストが存在するときは、その文字列の文字数が返る。
    lpszDescription に有効なポインタを指定した場合、説明のテキストが存在するときは、バッファにコピーされた文字数が返る。
    説明のテキストが存在しないときは、0 が返る。
    関数が失敗すると、GDI_ERROR が返る。
    Windows NT/2000: 拡張エラー情報を取得するには、GetLastError 関数を使う。

解説
    説明のテキストには2つの文字列が含まれる。

    最初の文字列は拡張形式メタファイルを作成したアプリケーション、2番目の文字列はメタファイルに入っているピクチャを識別する。

    この2つの文字列は1つの NULL 文字で区切られ、2つの NULL 文字で終わる。

    たとえば、"XYZ Graphics Editor\0Bald Eagle\0\0"(\0 は NULL 文字を表す)のようになる。
    テキスト引数に Unicode 文字を使う必要がある場合は、この関数をワイド文字関数として使う。

    テキスト引数に Windows 文字セットの文字を使う必要がある場合は、この関数を ANSI 関数として使う。
    Windows 95/98:拡張形式メタファイルを説明するテキストの長さは 16,384 バイトに制限されている。