IShellIcon::GetIconOf メソッド (shobjidl_core.h)
特定のフォルダー内のオブジェクトのアイコンを取得します。
構文
HRESULT GetIconOf(
PCUITEMID_CHILD pidl,
UINT flags,
int *pIconIndex
);
パラメーター
pidl
型: LPCITEMIDLIST
フォルダーの相対位置を指定する ITEMIDLIST 構造体のアドレス。
flags
型: UINT
アイコンの表示方法を指定するフラグ。 このパラメーターには、0 または次のいずれかの値を指定できます。
GIL_FORSHELL
アイコンはシェル フォルダーに表示されます。
GIL_OPENICON
開いている状態と閉じた状態の両方のイメージが使用可能な場合、アイコンは開いている状態である必要があります。 このフラグを指定しない場合、アイコンは閉じた状態である必要があります。 通常、このフラグはフォルダー オブジェクトに使用されます。
pIconIndex
型: LPINT
システム イメージリスト内のアイコンのインデックスのアドレス。 次の標準イメージ リスト インデックスを返すことができます。
0
ドキュメント (空白ページ、関連付けられていない)
1
ドキュメント (ページ上のデータを含む)
2
アプリケーション (ファイル名拡張子は、.exe、.com、または .bat である必要があります)
3
フォルダー (プレーン)
4
フォルダー (開く)
戻り値
種類: HRESULT
lpIconIndex に正しいシステム イメージ リスト インデックスが含まれている場合はS_OK、このオブジェクトのアイコンを取得できない場合はS_FALSEを返します。
注釈
GetIconOf を使用してこのオブジェクトのアイコンを取得できない場合は、GetUIObjectOf メソッドを使用して Extract メソッドをサポートするオブジェクトを取得します。
CoInitialize が最初に呼び出されない場合、IShellIcon::GetIconOf は失敗します。
アプリケーションの呼び出しに関するメモ
返されるインデックスは、システム イメージの一覧から取得されます。実装者への注意
使用するアイコン インデックスが一覧表示されている標準イメージの 1 つでない場合は、システム イメージ リストにイメージを追加し、 lpIconIndex パラメーターにインデックスを配置する実装者の責任です。 システム イメージ リストが大きくなりすぎないようにするには、各イメージを 1 回だけ追加する必要があります。要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows XP (デスクトップ アプリのみ) |
サポートされている最小のサーバー | Windows 2000 Server [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | shobjidl_core.h (Shobjidl.h を含む) |
[DLL] | Shell32.dll (バージョン 4.0 以降) |