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.

107 lines
2.2 KiB

  1. /*
  2. * History
  3. * Date email id comment
  4. * 26 Dec 96 neerajm Changed the INPTYPE #DEFINEs
  5. *
  6. *
  7. *
  8. *
  9. *
  10. *
  11. *
  12. *
  13. */
  14. #ifndef WALK_H
  15. #define WALK_H
  16. #ifdef __cplusplus
  17. extern "C" {
  18. #endif
  19. /* definitions */
  20. #define MAX_DESC 500
  21. #define MAX_PRODNAME 500
  22. #define MAX_COMPNAME 500
  23. #define RESOLVEWAIT 500 //msec
  24. #define INPTYPE_STARTMENU 0x0001
  25. #define INPTYPE_DESKTOP 0x0002
  26. #define INPTYPE_ANYFOLDER 0x0004
  27. #define INPTYPE_WININIRUN 0x0008
  28. //#define INPTYPE_SYSINIRUN 0x0010
  29. //#define INPTYPE_ANYINIRUN 0x0020
  30. #define INPTYPE_REGRUN 0x0040
  31. #define INPTYPE_REGRUNSERVICES 0x0080
  32. #define INPTYPE_REGRUNONCE 0x0100
  33. #define INPTYPE_REGRUNSERVICESONCE 0x0200
  34. #define INPFLAG_SKIPFILES 0x80000000
  35. #define INPFLAG_AGGRESSION 0x40000000
  36. #define APPCOMPATIBLE 1
  37. #define APPINCOMPATIBLE 0
  38. #define APPCOMPATUNKNOWN -1
  39. /* ERRORS */
  40. #define ERR_WINPATH -1
  41. #define ERR_SETCURRENTDIR -2
  42. #define ERR_NOMEMORY -6
  43. #define ERR_UNKNOWN -999
  44. #define ERR_NOTANEXE -11
  45. #define ERR_SUCCESS 0
  46. #define ERR_RESOLVEFAIL -7
  47. #define ERR_FILEVERSIONFAIL -12
  48. #define ERR_LADSETFAILED -13
  49. #define ERR_CURRDIR -3
  50. #define ERR_MOREFILESTOCOME 1
  51. #define ERR_NOSTARTMENU -14
  52. #define ERR_NODESKTOP -15
  53. #define ERR_NOSHELLFOLDERS -16
  54. #define ERR_NOCURRENTVERSION -17
  55. #define ERR_BADFLAG -18
  56. #define ERR_FILENOTFOUND -19
  57. typedef struct
  58. {
  59. TCHAR szLnkName[MAX_PATH];
  60. TCHAR szLnkPath[MAX_PATH];
  61. TCHAR szExeName[MAX_PATH];
  62. TCHAR szExePath[MAX_PATH];
  63. TCHAR tszArguments[MAX_PATH];
  64. FILETIME ftExeLAD;
  65. TCHAR szExeVersionInfo[MAX_PATH];
  66. DWORD dwExeVerMS;
  67. DWORD dwExeVerLS;
  68. TCHAR szExeDesc[MAX_DESC];
  69. TCHAR szExeProdName[MAX_PRODNAME];
  70. TCHAR szExeCompName[MAX_COMPNAME];
  71. TCHAR szFlags[4];
  72. DWORD dwHelpId;
  73. INT iAppCompat;
  74. } LINKINFO, *LPLINKINFO;
  75. typedef HANDLE HWALK;
  76. typedef INT ERR;
  77. /* procedure definitions */
  78. HWALK GetFirstFileLnkInfo(LPLINKINFO lpLnkInfo, DWORD dwWalkFlags,
  79. LPTSTR lpszFolder, ERR *RetErr);
  80. ERR GetNextFileLnkInfo(HWALK hWalk, LPLINKINFO lpLnkInfo);
  81. void CloseWalk(HWALK hWalk);
  82. ERR GetExeVersion(LPLINKINFO lpLnkInfo);
  83. BOOL GetFileLAD(LPLINKINFO lpLnkInfo);
  84. #ifdef __cplusplus
  85. }
  86. #endif
  87. #endif /* !WALK_H */