Test for IStream_IMETHODS before defining APIs that need the IStream
interface (like on Windows).

diff --git a/include/commctrl.h b/include/commctrl.h
index a714b0b..46e74a7 100644
--- a/include/commctrl.h
+++ b/include/commctrl.h
@@ -544,7 +544,7 @@
                                          COLORREF,UINT,UINT);
 #define    ImageList_LoadImage WINELIB_NAME_AW(ImageList_LoadImage)
 HIMAGELIST WINAPI ImageList_Merge(HIMAGELIST,INT,HIMAGELIST,INT,INT,INT);
-#ifdef __IStream_INTREFACE_DEFINED__
+#ifdef IStream_IMETHODS
 HIMAGELIST WINAPI ImageList_Read(LPSTREAM);
 #endif
 BOOL     WINAPI ImageList_Remove(HIMAGELIST,INT);
@@ -556,7 +556,7 @@
 BOOL     WINAPI ImageList_SetIconSize(HIMAGELIST,INT,INT);
 BOOL     WINAPI ImageList_SetImageCount(HIMAGELIST,INT);
 BOOL     WINAPI ImageList_SetOverlayImage(HIMAGELIST,INT,INT);
-#ifdef __IStream_INTREFACE_DEFINED__
+#ifdef IStream_IMETHODS
 BOOL     WINAPI ImageList_Write(HIMAGELIST, LPSTREAM);
 #endif
 
diff --git a/include/shlwapi.h b/include/shlwapi.h
index 6826404..cfd84c7 100644
--- a/include/shlwapi.h
+++ b/include/shlwapi.h
@@ -691,7 +691,7 @@
 
 
 /* Stream functions */
-#ifndef NO_SHLWAPI_STREAM
+#if !defined(NO_SHLWAPI_STREAM) && defined(IStream_IMETHODS)
 
 IStream * WINAPI SHOpenRegStreamA(HKEY,LPCSTR,LPCSTR,DWORD);
 IStream * WINAPI SHOpenRegStreamW(HKEY,LPCWSTR,LPCWSTR,DWORD);