次の方法で共有


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*

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

[out, optional] phiconSmall

型: HICON*

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

nIconSize

型: UINT

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

戻り値

型: HRESULT

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

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

備考

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

手記

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

必要条件

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