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.

119 lines
2.9 KiB

  1. //
  2. // SHELL.DLL -> SHELL32.DLL thunks
  3. //
  4. // these routines are exported from shell.dll (16) and
  5. // implemented in shell32.dll (32)
  6. //
  7. __foldwin32sstuff __foldwin32sstuff;
  8. //foldstyleinitialization = true;
  9. win31compat = true; //Defers unloading of shell32 until process exit
  10. enablemapdirect1632 = true;
  11. //
  12. // 16 -> 32 thunks
  13. //
  14. // these routines are exported from shell.dll (16) and
  15. // implemented in shell32.dll (32)
  16. //
  17. //
  18. #include "..\types.thk"
  19. typedef HANDLE HINSTANCE;
  20. typedef HANDLE HMODULE;
  21. typedef LPSTR LPCSTR;
  22. int PickIconDlg(HWND hwnd, LPSTR pszIconPath, UINT cbIconPath, LPINT piIconIndex)
  23. {
  24. pszIconPath = inout;
  25. piIconIndex = inout;
  26. }
  27. int RestartDialog(HWND hwnd, LPSTR lpPrompt, DWORD dwReturn)
  28. {
  29. }
  30. // EXTRACT.C
  31. //
  32. HICON ExtractIcon(HINSTANCE hInst, LPSTR lpszExeFileName, int nIconIndex)
  33. {
  34. target = ExtractIconA;
  35. }
  36. UINT ExtractIconExA(LPCSTR lpszExeFileName, int nIconIndex, LPUINT phiconLarge, LPUINT phiconSmall, int nIcons)=
  37. UINT ExtractIconEx(LPCSTR lpszExeFileName, int nIconIndex, LPUINT phiconLarge, LPUINT phiconSmall, int nIcons)
  38. {
  39. phiconLarge = output;
  40. phiconSmall = output;
  41. }
  42. /*
  43. HANDLE InternalExtractIcon(HINSTANCE hInst, LPCSTR lpszExeFileName, int nIconIndex, UINT nIcons)
  44. {
  45. target = InternalExtractIconA;
  46. }
  47. */
  48. HICON ExtractAssociatedIcon(HANDLE hInst, LPSTR lpIconPath, LPINT lpiIcon)
  49. {
  50. target = ExtractAssociatedIconA;
  51. lpIconPath = inout;
  52. lpiIcon = inout;
  53. }
  54. HANDLE ShellExecute( HWND hwnd, LPSTR lpszOp, LPSTR lpszFile, LPSTR lpszParams, LPSTR lpszDir, int wShowCmd)
  55. {
  56. target = ShellExecuteA;
  57. }
  58. INT ShellAbout( HWND hWnd, LPSTR szApp, LPSTR szOtherStuff, HICON hIcon)
  59. {
  60. target = ShellAboutA;
  61. }
  62. /********
  63. BOOL GetFileNameFromBrowse(HWND hwnd, LPSTR szFilePath, UINT cbFilePath, LPSTR szWorkingDir, LPSTR szDefExt, LPSTR szFilters, LPSTR szTitle)
  64. {
  65. szFilePath = inout;
  66. }
  67. *********/
  68. HANDLE FindExecutable(LPSTR lpFile, LPSTR lpDirectory, LPSTR lpResult)
  69. {
  70. target = FindExecutableA;
  71. lpResult = inout;
  72. }
  73. int DriveType(int iDrive)
  74. {
  75. }
  76. //BUGBUG we should fix this structure not to require structure packing.
  77. typedef struct _HFILEINFO
  78. {
  79. HICON hIcon; // out icon
  80. int iIcon; // out icon index
  81. DWORD dwAttributes; // in/out SFGAO_ flags
  82. char szDisplayName[260]; // out display name (or path)
  83. char szTypeName[80]; // out
  84. } SHFILEINFO;
  85. DWORD SHGetFileInfoA(LPSTR pszPath, DWORD dwFileAttributes, SHFILEINFO *psfi, UINT cbFileInfo, UINT uFlags)=
  86. DWORD SHGetFileInfo(LPSTR pszPath, DWORD dwFileAttributes, SHFILEINFO * psfi, UINT cbFileInfo, UINT uFlags)
  87. {
  88. psfi = inout;
  89. }
  90. // Thunk to allow 16 bit code to do device IOCTLS from 32 bit side with
  91. // the win16 mutex being released.
  92. BOOL SH16To32DriveIOCTL(int iDrive, int cmd, LPVOID pv)
  93. {
  94. }
  95. int SH16To32Int2526(int iDrive, int iInt, LPVOID lpbuf, WORD count, DWORD ssector)
  96. {
  97. }