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.

79 lines
3.9 KiB

  1. #ifndef _WINNETWK_
  2. #include <winnetwk.h>
  3. #endif // _WINNETWK_
  4. // NOTE: these values can never change. they define the format of IDLIST that
  5. // may be persisted in .lnk files and elsewhere.
  6. #define SHID_JUNCTION 0x80
  7. #define SHID_GROUPMASK 0x70
  8. #define SHID_TYPEMASK 0x7f
  9. #define SHID_INGROUPMASK 0x0f
  10. #define SHID_ROOT 0x10
  11. #define SHID_ROOT_REGITEM 0x1f // MyDocuments, Internet, etc
  12. #if ((DRIVE_REMOVABLE|DRIVE_FIXED|DRIVE_REMOTE|DRIVE_CDROM|DRIVE_RAMDISK) != 0x07)
  13. #error Definitions of DRIVE_* are changed!
  14. #endif
  15. #define SHID_COMPUTER 0x20
  16. #define SHID_COMPUTER_1 0x21 // free
  17. #define SHID_COMPUTER_REMOVABLE (0x20 | DRIVE_REMOVABLE) // 2
  18. #define SHID_COMPUTER_FIXED (0x20 | DRIVE_FIXED) // 3
  19. #define SHID_COMPUTER_REMOTE (0x20 | DRIVE_REMOTE) // 4
  20. #define SHID_COMPUTER_CDROM (0x20 | DRIVE_CDROM) // 5
  21. #define SHID_COMPUTER_RAMDISK (0x20 | DRIVE_RAMDISK) // 6
  22. #define SHID_COMPUTER_7 0x27 // free
  23. #define SHID_COMPUTER_DRIVE525 0x28 // 5.25 inch floppy disk drive
  24. #define SHID_COMPUTER_DRIVE35 0x29 // 3.5 inch floppy disk drive
  25. #define SHID_COMPUTER_NETDRIVE 0x2a // Network drive
  26. #define SHID_COMPUTER_NETUNAVAIL 0x2b // Network drive that is not restored.
  27. #define SHID_COMPUTER_C 0x2c // free
  28. #define SHID_COMPUTER_D 0x2d // free
  29. #define SHID_COMPUTER_REGITEM 0x2e // Controls, Printers, ...
  30. #define SHID_COMPUTER_MISC 0x2f // Unknown drive type
  31. #define SHID_FS 0x30 // base simple IDList, we don't generate these anymore
  32. #define SHID_FS_TYPEMASK 0x37
  33. #define SHID_FS_DIRECTORY 0x31 // WINDOWS (a folder)
  34. #define SHID_FS_FILE 0x32 // FOO.TXT (a file)
  35. #define SHID_FS_UNICODE 0x34 // unicode (this is a bitmask)
  36. #define SHID_FS_DIRUNICODE 0x35 // Folder with a unicode name
  37. #define SHID_FS_FILEUNICODE 0x36 // File with a unicode name
  38. #define SHID_FS_COMMONITEM 0x38 // Common item ("8" is the bit)
  39. #define SHID_FS_COMMONDIRECTORY 0x39 // Common directory (ansi)
  40. #define SHID_FS_COMMONFILE 0x3a // Common file (ansi)
  41. #define SHID_FS_COMMONDIRUNICODE 0x3d // Common folder with a unicode name
  42. #define SHID_FS_COMMONFILEUNICODE 0x3e // Common file with a unicode name
  43. #define SHID_NET 0x40
  44. #define SHID_NET_DOMAIN (SHID_NET | RESOURCEDISPLAYTYPE_DOMAIN) // 0x41
  45. #define SHID_NET_SERVER (SHID_NET | RESOURCEDISPLAYTYPE_SERVER) // 0x42
  46. #define SHID_NET_SHARE (SHID_NET | RESOURCEDISPLAYTYPE_SHARE) // 0x43
  47. #define SHID_NET_FILE (SHID_NET | RESOURCEDISPLAYTYPE_FILE) // 0x44
  48. #define SHID_NET_GROUP (SHID_NET | RESOURCEDISPLAYTYPE_GROUP) // 0x45
  49. #define SHID_NET_NETWORK (SHID_NET | RESOURCEDISPLAYTYPE_NETWORK) // 0x46
  50. #define SHID_NET_RESTOFNET (SHID_NET | RESOURCEDISPLAYTYPE_ROOT) // 0x47
  51. #define SHID_NET_SHAREADMIN (SHID_NET | RESOURCEDISPLAYTYPE_SHAREADMIN) // 0x48
  52. #define SHID_NET_DIRECTORY (SHID_NET | RESOURCEDISPLAYTYPE_DIRECTORY) // 0x49
  53. #define SHID_NET_TREE (SHID_NET | RESOURCEDISPLAYTYPE_TREE) // 0x4A
  54. #define SHID_NET_NDSCONTAINER (SHID_NET | RESOURCEDISPLAYTYPE_NDSCONTAINER) // 0x4B
  55. #define SHID_NET_REGITEM 0x4d // RegItem in either Entire Net, or the Root
  56. #define SHID_NET_REMOTEREGITEM 0x4e // Remote Computer items
  57. #define SHID_NET_PRINTER 0x4f // \\PYREX\LASER1
  58. #ifndef SHID_LOC
  59. // this group is for location items.
  60. // they are defined in inc\shellp.h
  61. #define SHID_LOC 0x50
  62. #define SHID_LOC_TYPEMASK 0x5F
  63. #endif
  64. #define SHID_CONTROLPANEL_REGITEM 0x70
  65. #define SHID_CONTROLPANEL_REGITEM_EX 0x71
  66. #define SIL_GetType(pidl) (ILIsEmpty(pidl) ? 0 : (pidl)->mkid.abID[0])