Implemented ExtractIconEx16, added some consts to ExtractIconEx*.
diff --git a/misc/shell.c b/misc/shell.c
index 4947eeb..d306032 100644
--- a/misc/shell.c
+++ b/misc/shell.c
@@ -875,7 +875,38 @@
return ExtractIcon32A( hInstance, lpszExeFileName, nIconIndex );
}
+/*************************************************************************
+ * ExtractIconEx16 (SHELL.40)
+ */
+HICON16 WINAPI ExtractIconEx16(
+ LPCSTR lpszFile, INT16 nIconIndex, HICON16 *phiconLarge,
+ HICON16 *phiconSmall, UINT16 nIcons
+) {
+ HICON32 *ilarge,*ismall;
+ UINT16 ret;
+ int i;
+ if (phiconLarge)
+ ilarge = (HICON32*)HeapAlloc(GetProcessHeap(),0,nIcons*sizeof(HICON32));
+ else
+ ilarge = NULL;
+ if (phiconSmall)
+ ismall = (HICON32*)HeapAlloc(GetProcessHeap(),0,nIcons*sizeof(HICON32));
+ else
+ ismall = NULL;
+ ret = ExtractIconEx32A(lpszFile,nIconIndex,ilarge,ismall,nIcons);
+ if (ilarge) {
+ for (i=0;i<nIcons;i++)
+ phiconLarge[i]=ilarge[i];
+ HeapFree(GetProcessHeap(),0,ilarge);
+ }
+ if (ismall) {
+ for (i=0;i<nIcons;i++)
+ phiconSmall[i]=ismall[i];
+ HeapFree(GetProcessHeap(),0,ismall);
+ }
+ return ret;
+}
/*************************************************************************
* ExtractAssociatedIcon [SHELL.36]