Image::GetPropertyIdList メソッド (gdiplusheaders.h)

Image::GetPropertyIdList メソッドは、この Image オブジェクトのメタデータで使用されるプロパティ識別子の一覧を取得します。

構文

Status GetPropertyIdList(
  [in]  UINT   numOfProperty,
  [out] PROPID *list
);

パラメーター

[in] numOfProperty

型: UINT

リスト配列内の要素の数を指定する整数。 この番号を確認するには、 Image::GetPropertyCount メソッドを呼び出します。

[out] list

型: PROPID*

プロパティ識別子を受け取る配列へのポインター。

戻り値

種類: 状態

メソッドが成功した場合は、 Status 列挙の要素である Ok を返します。

メソッドが失敗した場合は、 Status 列挙体の他の要素のいずれかを返します。

注釈

Image::GetPropertyIdList メソッドは PROPIDの配列を返します。 Image::GetPropertyIdList を呼び出す前に、その配列を受け取るのに十分な大きさのバッファーを割り当てる必要があります。 Image オブジェクトの Image::GetPropertyCount メソッドを呼び出して、必要なバッファーのサイズを決定できます。 バッファーのサイズは、 Image::GetPropertyCountsizeof( PROPID) を乗算した戻り値にする必要があります。

次の例では、JPEG ファイルに基づいて Image オブジェクトを作成します。 このコードでは、その Image オブジェクトの Image::GetPropertyIdList メソッドを呼び出して、イメージに格納されているメタデータの種類を確認します。

#include <windows.h>
#include <gdiplus.h>
#include <stdio.h>
using namespace Gdiplus;

INT main()
{
   GdiplusStartupInput gdiplusStartupInput;
   ULONG_PTR gdiplusToken;
   GdiplusStartup(&gdiplusToken, &gdiplusStartupInput, NULL);

   UINT count = 0; 
   Image* image = new Image(L"FakePhoto.jpg");

   // How many types of metadata are in the image?
   count = image->GetPropertyCount();
   if(count == 0)
      return 0;

   // Allocate a buffer to receive an array of PROPIDs.
   PROPID* propIDs = new PROPID[count];

   image->GetPropertyIdList(count, propIDs);

   // List the retrieved IDs.
   for(UINT j = 0; j < count; ++j)
      printf("%x\n", propIDs[j]);

   delete [] propIDs;
   delete image;   
  
   GdiplusShutdown(gdiplusToken);
   return 0;
}

上記のコードは、特定のファイルと共に FakePhoto.jpg、次の出力を生成しました。

320
10f
110
9003
829a
5090
5091

上記の出力は、各プロパティ識別子の 16 進数の値を示しています。 Gdiplusimaging.h でこれらの数値を調べて、次のプロパティ タグを表していることを確認できます。

16 進数値 プロパティ タグ
0x0320 PropertyTagImageTitle
0x010f PropertyTagEquipMake
0x0110 PropertyTagEquipModel
0x9003 PropertyTagExifDTOriginal
0x829a PropertyTagExifExposureTime
0x5090 PropertyTagLuminanceTable
0x5091 PropertyTagChrominanceTable
 

要件

要件
サポートされている最小のクライアント Windows XP、Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー gdiplusheaders.h (Gdiplus.h を含む)
Library Gdiplus.lib
[DLL] Gdiplus.dll

こちらもご覧ください

Image

Image::GetAllPropertyItems

Image::GetPropertyCount

Image::GetPropertyItem

Image::GetPropertyItemSize

Image::GetPropertySize

Image::RemovePropertyItem

Image::SetPropertyItem

PropertyItem

メタデータの読み取りと書き込み