SHDefExtractIcon function
Provides a default handler to extract an icon from a file.
Syntax
HRESULT SHDefExtractIcon(
_In_ LPCTSTR pszIconFile,
int iIndex,
_In_ UINT uFlags,
_Out_opt_ HICON *phiconLarge,
_Out_opt_ HICON *phiconSmall,
UINT nIconSize
);
Parameters
- pszIconFile [in]
-
Type: LPCTSTR
A pointer to a null-terminated buffer that contains the path and name of the file from which the icon is extracted.
- iIndex
-
Type: int
The location of the icon within the file named in pszIconFile. If this is a positive number, it refers to the zero-based position of the icon in the file. For instance, 0 refers to the 1st icon in the resource file and 2 refers to the 3rd. If this is a negative number, it refers to the icon's resource ID.
- uFlags [in]
-
Type: UINT
A flag that controls the icon extraction.
- phiconLarge [out, optional]
-
Type: HICON*
A pointer to an HICON that, when this function returns successfully, receives the handle of the large version of the icon specified in the LOWORD of nIconSize. This value can be NULL.
- phiconSmall [out, optional]
-
Type: HICON*
A pointer to an HICON that, when this function returns successfully, receives the handle of the small version of the icon specified in the HIWORD of nIconSize.
- nIconSize
-
Type: UINT
A value that contains the large icon size in its LOWORD and the small icon size in its HIWORD. Size is measured in pixels. Pass 0 to specify default large and small sizes.
Return value
Type: HRESULT
This function can return one of these values.
| Return code | Description |
|---|---|
|
Success. |
|
The requested icon is not present. |
|
The file cannot be accessed, or is being accessed through a slow link. |
Remarks
It is the responsibility of the caller to free the icon resources created through this function when they are no longer needed. This can be done through the DestroyIcon function.
Requirements
|
Minimum supported client |
Windows XP [desktop apps only] |
|---|---|
|
Minimum supported server |
Windows Server 2003 [desktop apps only] |
|
Header |
|
|
Library |
|
|
DLL |
|
|
Unicode and ANSI names |
SHDefExtractIconW (Unicode) and SHDefExtractIconA (ANSI) |