SHDefExtractIconA 関数 (shlobj_core.h)

ファイルからアイコンを抽出する既定のハンドラーを提供します。

構文

SHSTDAPI SHDefExtractIconA(
  [in]            LPCSTR pszIconFile,
                  int    iIndex,
  [in]            UINT   uFlags,
  [out, optional] HICON  *phiconLarge,
  [out, optional] HICON  *phiconSmall,
                  UINT   nIconSize
);

パラメーター

[in] pszIconFile

型: LPCTSTR

アイコンの抽出元のファイルのパスと名前を含む null で終わるバッファーへのポインター。

iIndex

型: int

pszIconFile という名前のファイル内のアイコンの場所。 正の数値の場合は、ファイル内のアイコンの 0 から始まる位置を参照します。 たとえば、0 はリソース ファイルの 1 番目のアイコンを参照し、2 は 3 番目を参照します。 負の数の場合は、アイコンのリソース ID を参照します。

[in] uFlags

型: UINT

アイコンの抽出を制御するフラグ。

GIL_SIMULATEDOC

抽出したアイコンを既定のドキュメント アイコンにオーバーレイして、最終的なアイコンを作成します。 このアイコンは、これ以上適切なアイコンが見つからない場合や取得できない場合に使用できます。

[out, optional] phiconLarge

種類: HICON*

この関数が正常に返されると、nIconSizeLOWORD で指定されたアイコンの大きなバージョンのハンドルを受け取る HICON へのポインター。 この値は NULL にすることができます

[out, optional] phiconSmall

種類: HICON*

この関数が正常に返されると、nIconSize の HIWORD で指定されたアイコンの小さいバージョンのハンドルを受け取る HICON へのポインター。

nIconSize

型: UINT

LOWORD の大きなアイコン サイズと HIWORD の小さなアイコン サイズを含む値。 サイズはピクセル単位で測定されます。 既定の大小のサイズを指定するには、0 を渡します。

戻り値

種類: HRESULT

この関数は、これらの値のいずれかを返すことができます。

リターン コード 説明
S_OK
成功しました。
S_FALSE
要求されたアイコンが存在しません。
E_FAIL
ファイルにアクセスできないか、低速リンクを介してアクセスされています。

解説

呼び出し元は、不要になった場合に、この関数によって作成されたアイコン リソースを解放する必要があります。 これは DestroyIcon 関数を使用して実行できます。

注意

shlobj_core.h ヘッダーは、UNICODE プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして SHDefExtractIcon を定義します。 encoding-neutral エイリアスの使用を encoding-neutral ではないコードと混在すると、コンパイル エラーまたはランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「 関数プロトタイプの規則」を参照してください。

要件

   
サポートされている最小のクライアント Windows XP (デスクトップ アプリのみ)
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー shlobj_core.h (Shlobj.h、Shlobj_core.h を含む)
Library Shell32.lib
[DLL] Shell32.dll (バージョン 6.0 以降)
API セット ext-ms-win-shell-shell32-l1-2-1 (Windows 10 バージョン 10.0.10240 で導入)