Leaked source code of windows server 2003
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
3.6 KiB

  1. /*****************************************************************************\
  2. * *
  3. * wfext.h - Windows File Manager Extensions definitions *
  4. * *
  5. * Version 3.10 *
  6. * *
  7. * Copyright (c) 1991-1994, Microsoft Corp. All rights reserved. *
  8. * *
  9. *******************************************************************************/
  10. #ifndef _INC_WFEXT
  11. #define _INC_WFEXT /* #defined if wfext.h has been included */
  12. #ifndef RC_INVOKED
  13. #pragma pack(1) /* Assume byte packing throughout */
  14. #endif /* RC_INVOKED */
  15. #ifdef __cplusplus
  16. extern "C" { /* Assume C declarations for C++ */
  17. #endif /* __cplusplus */
  18. #define MENU_TEXT_LEN 40
  19. #define FMMENU_FIRST 1
  20. #define FMMENU_LAST 99
  21. #define FMEVENT_LOAD 100
  22. #define FMEVENT_UNLOAD 101
  23. #define FMEVENT_INITMENU 102
  24. #define FMEVENT_USER_REFRESH 103
  25. #define FMEVENT_SELCHANGE 104
  26. #define FMEVENT_TOOLBARLOAD 105
  27. #define FMEVENT_HELPSTRING 106
  28. #define FMFOCUS_DIR 1
  29. #define FMFOCUS_TREE 2
  30. #define FMFOCUS_DRIVES 3
  31. #define FMFOCUS_SEARCH 4
  32. #define FM_GETFOCUS (WM_USER + 0x0200)
  33. #define FM_GETDRIVEINFO (WM_USER + 0x0201)
  34. #define FM_GETSELCOUNT (WM_USER + 0x0202)
  35. #define FM_GETSELCOUNTLFN (WM_USER + 0x0203) /* LFN versions are odd */
  36. #define FM_GETFILESEL (WM_USER + 0x0204)
  37. #define FM_GETFILESELLFN (WM_USER + 0x0205) /* LFN versions are odd */
  38. #define FM_REFRESH_WINDOWS (WM_USER + 0x0206)
  39. #define FM_RELOAD_EXTENSIONS (WM_USER + 0x0207)
  40. typedef struct tagFMS_GETFILESEL
  41. {
  42. UINT wTime;
  43. UINT wDate;
  44. DWORD dwSize;
  45. BYTE bAttr;
  46. char szName[260]; /* always fully qualified */
  47. } FMS_GETFILESEL, FAR *LPFMS_GETFILESEL;
  48. typedef struct tagFMS_GETDRIVEINFO /* for drive */
  49. {
  50. DWORD dwTotalSpace;
  51. DWORD dwFreeSpace;
  52. char szPath[260]; /* current directory */
  53. char szVolume[14]; /* volume label */
  54. char szShare[128]; /* if this is a net drive */
  55. } FMS_GETDRIVEINFO, FAR *LPFMS_GETDRIVEINFO;
  56. typedef struct tagFMS_LOAD
  57. {
  58. DWORD dwSize; /* for version checks */
  59. char szMenuName[MENU_TEXT_LEN]; /* output */
  60. HMENU hMenu; /* output */
  61. UINT wMenuDelta; /* input */
  62. } FMS_LOAD, FAR *LPFMS_LOAD;
  63. typedef struct tagEXT_BUTTON
  64. {
  65. WORD idCommand; /* menu command to trigger */
  66. WORD idsHelp; /* help string ID */
  67. WORD fsStyle; /* button style */
  68. } EXT_BUTTON, FAR *LPEXT_BUTTON;
  69. #define FMTB_BUTTON 0x00
  70. #define FMTB_SEP 0x01
  71. typedef struct tagFMS_TOOLBARLOAD
  72. {
  73. DWORD dwSize; /* for version checks */
  74. LPEXT_BUTTON lpButtons; /* output */
  75. WORD cButtons; /* output, 0==>no buttons */
  76. WORD cBitmaps; /* number of non-sep buttons */
  77. WORD idBitmap; /* output */
  78. HBITMAP hBitmap; /* output if idBitmap==0 */
  79. } FMS_TOOLBARLOAD, FAR *LPFMS_TOOLBARLOAD;
  80. typedef struct tagFMS_HELPSTRING
  81. {
  82. int idCommand; /* input, -1==>the menu was selected */
  83. HMENU hMenu; /* input, the extensions menu */
  84. char szHelp[128]; /* output, the help string */
  85. } FMS_HELPSTRING, FAR *LPFMS_HELPSTRING;
  86. typedef DWORD (CALLBACK *FM_EXT_PROC)(HWND, UINT, LONG);
  87. typedef DWORD (CALLBACK *FM_UNDELETE_PROC)(HWND, LPSTR);
  88. #ifndef RC_INVOKED
  89. #pragma pack() /* Revert to default packing */
  90. #endif /* RC_INVOKED */
  91. #ifdef __cplusplus
  92. } /* End of extern "C" { */
  93. #endif /* __cplusplus */
  94. #endif /* _INC_WFEXT */