Add some missing prototypes, fix AssocIsDangerous.
Implement StrRetToBSTR, delay-import oleaut32.

diff --git a/include/shlwapi.h b/include/shlwapi.h
index 209db2f..9c9102f 100644
--- a/include/shlwapi.h
+++ b/include/shlwapi.h
@@ -22,6 +22,7 @@
 #define __WINE_SHLWAPI_H
 
 #include <objbase.h>
+#include <shtypes.h>
 
 #ifdef __cplusplus
 extern "C" {
@@ -279,6 +280,8 @@
 HRESULT WINAPI AssocQueryKeyW(ASSOCF,ASSOCKEY,LPCWSTR,LPCWSTR,PHKEY);
 #define AssocQueryKey WINELIB_NAME_AW(AssocQueryKey)
 
+BOOL WINAPI AssocIsDangerous(LPCWSTR);
+
 #endif /* NO_SHLWAPI_REG */
 
 
@@ -819,18 +822,16 @@
 #define IntlStrEqNIW(s1,s2,n) IntlStrEqWorkerW(FALSE,s1,s2,n)
 #define IntlStrEqNI WINELIB_NAME_AW(IntlStrEqNI)
 
-/* Undocumented */
-struct _STRRET;
-struct _ITEMIDLIST;
-
-HRESULT WINAPI StrRetToStrA(struct _STRRET*,const struct _ITEMIDLIST*,LPSTR*);
-HRESULT WINAPI StrRetToStrW(struct _STRRET*,const struct _ITEMIDLIST*,LPWSTR*);
+HRESULT WINAPI StrRetToStrA(STRRET*,LPCITEMIDLIST,LPSTR*);
+HRESULT WINAPI StrRetToStrW(STRRET*,LPCITEMIDLIST,LPWSTR*);
 #define StrRetToStr WINELIB_NAME_AW(StrRetToStr)
 
-HRESULT WINAPI StrRetToBufA(struct _STRRET*,const struct _ITEMIDLIST*,LPSTR,UINT);
-HRESULT WINAPI StrRetToBufW(struct _STRRET*,const struct _ITEMIDLIST*,LPWSTR,UINT);
+HRESULT WINAPI StrRetToBufA(STRRET*,LPCITEMIDLIST,LPSTR,UINT);
+HRESULT WINAPI StrRetToBufW(STRRET*,LPCITEMIDLIST,LPWSTR,UINT);
 #define StrRetToBuf WINELIB_NAME_AW(StrRetToBuf)
 
+HRESULT WINAPI StrRetToBSTR(STRRET*,LPCITEMIDLIST,BSTR*);
+
 #endif /* NO_SHLWAPI_STRFCNS */