Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

114 lines
4.3 KiB

  1. // no wrappers are needed on non-x86 since this is only for win9x interop
  2. #ifdef _X86_
  3. #define _SHELL32_
  4. #define PathCleanupSpec _AorW_PathCleanupSpec
  5. #define SHCLSIDFromString _use_GUIDFromString_instead
  6. #define SHCLSIDFromStringA _use_GUIDFromStringA_instead
  7. #define SHILCreateFromPath _AorW_SHILCreateFromPath
  8. #define SHSimpleIDListFromPath _AorW_SHSimpleIDListFromPath
  9. #define GetFileNameFromBrowse _AorW_GetFileNameFromBrowse
  10. #define PathQualify _AorW_PathQualify
  11. #define PathProcessCommand _AorW_PathProcessCommand
  12. #define Win32DeleteFile _AorW_Win32DeleteFile
  13. #define PathYetAnotherMakeUniqueName _AorW_PathYetAnotherMakeUniqueName
  14. #define PathResolve _AorW_PathResolve
  15. #define Shell_GetCachedImageIndex _AorW_Shell_GetCachedImageIndex
  16. #define SHRunControlPanel _AorW_SHRunControlPanel
  17. #define PickIconDlg _AorW_PickIconDlg
  18. #define SHCreateDirectory _AorW_SHCreateDirectory
  19. // The following functions were originally only TCHAR versions
  20. // in Win95, but now have A/W versions. Since we still need to
  21. // run on Win95, we need to treat them as TCHAR versions and
  22. // undo the A/W #define
  23. #ifdef ILCreateFromPath
  24. #undef ILCreateFromPath
  25. #endif
  26. #define ILCreateFromPath _AorW_ILCreateFromPath
  27. #ifdef SHGetSpecialFolderPath
  28. #undef SHGetSpecialFolderPath
  29. #endif
  30. #define SHGetSpecialFolderPath _AorW_SHGetSpecialFolderPath
  31. #ifdef IsLFNDrive
  32. #undef IsLFNDrive
  33. #endif
  34. #define IsLFNDrive _AorW_IsLFNDrive
  35. #ifdef UNICODE // Wrapper needed only on UNICODE build
  36. #undef ShellAbout
  37. #define ShellAbout _AorW_ShellAbout
  38. #endif
  39. // Define the prototypes for each of these forwarders...
  40. #ifdef __cplusplus
  41. extern "C" { /* Assume C declarations for C++ */
  42. #endif /* __cplusplus */
  43. extern int _WorA_Shell_GetCachedImageIndex(LPCWSTR pszIconPath, int iIconIndex, UINT uIconFlags);
  44. extern int _AorW_Shell_GetCachedImageIndex(LPCTSTR pszIconPath, int iIconIndex, UINT uIconFlags);
  45. extern int _AorW_SHRunControlPanel(LPCTSTR pszOrig_cmdline, HWND errwnd);
  46. extern LPITEMIDLIST _AorW_ILCreateFromPath(LPCTSTR pszPath);
  47. extern int _AorW_PathCleanupSpec(LPCTSTR pszDir, LPTSTR pszSpec);
  48. extern void _AorW_PathQualify(LPTSTR pszDir);
  49. extern LONG WINAPI _AorW_PathProcessCommand(LPCTSTR lpSrc, LPTSTR lpDest, int iDestMax, DWORD dwFlags);
  50. extern BOOL _AorW_SHGetSpecialFolderPath(HWND hwndOwner, LPTSTR pszPath, int nFolder, BOOL fCreate);
  51. extern HRESULT _AorW_SHILCreateFromPath(LPCTSTR pszPath, LPITEMIDLIST *ppidl, DWORD *rgfInOut);
  52. extern LPITEMIDLIST _AorW_SHSimpleIDListFromPath(LPCTSTR pszPath);
  53. extern BOOL WINAPI _AorW_GetFileNameFromBrowse(HWND hwnd, LPTSTR szFilePath, UINT cchFilePath,
  54. LPCTSTR szWorkingDir, LPCTSTR szDefExt, LPCTSTR szFilters, LPCTSTR szTitle);
  55. extern BOOL _AorW_Win32DeleteFile(LPCTSTR lpszFileName);
  56. extern BOOL _AorW_PathYetAnotherMakeUniqueName(LPTSTR pszUniqueName,
  57. LPCTSTR pszPath,
  58. LPCTSTR pszShort,
  59. LPCTSTR pszFileSpec);
  60. extern BOOL _AorW_PathResolve(LPTSTR lpszPath, LPCTSTR dirs[], UINT fFlags);
  61. extern BOOL _AorW_IsLFNDrive(LPTSTR lpszPath);
  62. extern int _AorW_PickIconDlg(HWND hwnd, LPTSTR pszIconPath, UINT cchIconPath, int * piIconIndex);
  63. extern int _AorW_SHCreateDirectory(HWND hwnd, LPCTSTR pszPath);
  64. extern int _AorW_ShellAbout(HWND hWnd, LPCTSTR szApp, LPCTSTR szOtherStuff, HICON hIcon);
  65. //
  66. // This is the "RunOn95" section, which thunks UNICODE functions
  67. // back down to ANSI so we can run on Win95 in browser-only mode.
  68. //
  69. #ifdef UNICODE
  70. #define ILCreateFromPathA _ILCreateFromPathA
  71. #define ILCreateFromPathW ILCreateFromPath
  72. extern LPITEMIDLIST _ILCreateFromPathA(LPCSTR pszPath);
  73. #else
  74. #define ILCreateFromPathA ILCreateFromPath
  75. #define ILCreateFromPathW _ILCreateFromPathW
  76. extern LPITEMIDLIST _ILCreateFromPathW(LPCWSTR pszPath);
  77. #endif
  78. #define OpenRegStream SHOpenRegStream // shlwapi.dll
  79. //
  80. // Miracle of miracles - We don't need to wrap SHStartNetConnectionDialogW
  81. // because Win9x/IE4 actually implements the thunk!
  82. //
  83. //
  84. // You cannot send these messages because Win95 doesn't understand them.
  85. //
  86. #undef BFFM_SETSELECTIONW
  87. #undef BFFM_SETSTATUSTEXTW
  88. #ifdef __cplusplus
  89. }
  90. #endif /* __cplusplus */
  91. #endif // _X86_