-HRESULT WINAPI SHCreateStdEnumFmtEtc(UINT,const FORMATETC *,IEnumFORMATETC**);
-void WINAPI SHDestroyPropSheetExtArray(HPSXA);
-BOOL WINAPI SHFindFiles(LPCITEMIDLIST,LPCITEMIDLIST);
-DWORD WINAPI SHFormatDrive(HWND,UINT,UINT,UINT);
-void WINAPI SHFree(LPVOID);
-BOOL WINAPI GetFileNameFromBrowse(HWND,LPWSTR,UINT,LPCWSTR,LPCWSTR,LPCWSTR,LPCWSTR);
-HRESULT WINAPI SHGetInstanceExplorer(IUnknown**);
-VOID WINAPI SHSetInstanceExplorer (IUnknown*);
-HRESULT WINAPI SHGetFolderPathAndSubDirA(HWND,int,HANDLE,DWORD,LPCSTR,LPSTR);
-HRESULT WINAPI SHGetFolderPathAndSubDirW(HWND,int,HANDLE,DWORD,LPCWSTR,LPWSTR);
-#define SHGetFolderPathAndSubDir WINELIB_NAME_AW(SHGetFolderPathAndSubDir);
-BOOL WINAPI SHGetPathFromIDListA(LPCITEMIDLIST,LPSTR);
-BOOL WINAPI SHGetPathFromIDListW(LPCITEMIDLIST,LPWSTR);
-#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
-INT WINAPI SHHandleUpdateImage(LPCITEMIDLIST);
-HRESULT WINAPI SHILCreateFromPath(LPCWSTR,LPITEMIDLIST*,DWORD*);
+
+HRESULT
+WINAPI
+SHCreateStdEnumFmtEtc(
+ _In_ UINT cfmt,
+ _In_reads_(cfmt) const FORMATETC *,
+ _Outptr_ IEnumFORMATETC**);
+
+void WINAPI SHDestroyPropSheetExtArray(_In_ HPSXA);
+BOOL WINAPI SHFindFiles(_In_opt_ LPCITEMIDLIST, _In_opt_ LPCITEMIDLIST);
+DWORD WINAPI SHFormatDrive(_In_ HWND, UINT, UINT, UINT);
+void WINAPI SHFree(_In_opt_ LPVOID);
+
+BOOL
+WINAPI
+GetFileNameFromBrowse(
+ _In_opt_ HWND,
+ _Inout_updates_(cchFilePath) LPWSTR,
+ UINT cchFilePath,
+ _In_opt_ LPCWSTR,
+ _In_ LPCWSTR,
+ _In_opt_ LPCWSTR,
+ _In_opt_ LPCWSTR);
+
+_Check_return_ HRESULT WINAPI SHGetInstanceExplorer(_Outptr_ IUnknown**);
+
+VOID WINAPI SHSetInstanceExplorer(_In_opt_ IUnknown*);
+
+HRESULT
+WINAPI
+SHGetFolderPathAndSubDirA(
+ _Reserved_ HWND,
+ _In_ int,
+ _In_opt_ HANDLE,
+ _In_ DWORD,
+ _In_opt_ LPCSTR, _Out_writes_(MAX_PATH) LPSTR);
+
+HRESULT
+WINAPI
+SHGetFolderPathAndSubDirW(
+ _Reserved_ HWND,
+ _In_ int,
+ _In_opt_ HANDLE,
+ _In_ DWORD,
+ _In_opt_ LPCWSTR,
+ _Out_writes_(MAX_PATH) LPWSTR);
+
+#define SHGetFolderPathAndSubDir WINELIB_NAME_AW(SHGetFolderPathAndSubDir);
+
+_Success_(return != 0)
+BOOL
+WINAPI
+SHGetPathFromIDListA(
+ _In_ LPCITEMIDLIST,
+ _Out_writes_(MAX_PATH) LPSTR);
+
+_Success_(return != 0)
+BOOL
+WINAPI
+SHGetPathFromIDListW(
+ _In_ LPCITEMIDLIST,
+ _Out_writes_(MAX_PATH) LPWSTR);
+
+#define SHGetPathFromIDList WINELIB_NAME_AW(SHGetPathFromIDList)
+
+INT WINAPI SHHandleUpdateImage(_In_ LPCITEMIDLIST);
+
+HRESULT
+WINAPI
+SHILCreateFromPath(
+ _In_ LPCWSTR,
+ _Outptr_ LPITEMIDLIST*,
+ _Inout_opt_ DWORD*);
+