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.

112 lines
2.3 KiB

  1. #ifndef _ACFILEATTR_H
  2. #define _ACFILEATTR_H
  3. #include "windows.h"
  4. //
  5. // These are the attribute IDs for all the attributes
  6. //
  7. // Do not change any values in this enum. You can only add new values
  8. // immediately above VTID_LASTID
  9. //
  10. typedef enum {
  11. VTID_BAD_VTID = 0, // do not use or change !!!
  12. VTID_REQFILE = 1, // this should never change !!!
  13. VTID_FILESIZE = VTID_REQFILE + 1,
  14. VTID_EXETYPE = VTID_REQFILE + 2,
  15. VTID_BINFILEVER = VTID_REQFILE + 3,
  16. VTID_BINPRODUCTVER = VTID_REQFILE + 4,
  17. VTID_FILEDATEHI = VTID_REQFILE + 5,
  18. VTID_FILEDATELO = VTID_REQFILE + 6,
  19. VTID_FILEVEROS = VTID_REQFILE + 7,
  20. VTID_FILEVERTYPE = VTID_REQFILE + 8,
  21. VTID_CHECKSUM = VTID_REQFILE + 9,
  22. VTID_PECHECKSUM = VTID_REQFILE +10,
  23. VTID_COMPANYNAME = VTID_REQFILE +11,
  24. VTID_PRODUCTVERSION = VTID_REQFILE +12,
  25. VTID_PRODUCTNAME = VTID_REQFILE +13,
  26. VTID_FILEDESCRIPTION = VTID_REQFILE +14,
  27. VTID_FILEVERSION = VTID_REQFILE +15,
  28. VTID_ORIGINALFILENAME = VTID_REQFILE +16,
  29. VTID_INTERNALNAME = VTID_REQFILE +17,
  30. VTID_LEGALCOPYRIGHT = VTID_REQFILE +18,
  31. VTID_16BITDESCRIPTION = VTID_REQFILE +19,
  32. VTID_UPTOBINPRODUCTVER = VTID_REQFILE +20,
  33. // add new versions here
  34. VTID_LASTID
  35. };
  36. #ifdef __cplusplus
  37. extern "C"
  38. {
  39. #endif
  40. HANDLE
  41. ReadFileAttributes(
  42. LPCSTR pszFile,
  43. int* pnCount);
  44. VOID
  45. CleanupFileManager(
  46. HANDLE hFileMgr);
  47. int
  48. GetAttrIndex(
  49. DWORD Id);
  50. DWORD
  51. GetAttrId(
  52. int nAttrInd);
  53. BOOL
  54. IsAttrAvailable(
  55. HANDLE hFileMgr,
  56. int nAttrInd);
  57. PSTR
  58. GetAttrName(
  59. int nAttrInd);
  60. PSTR
  61. GetAttrNameXML(
  62. int nAttrInd);
  63. PSTR
  64. GetAttrValue(
  65. HANDLE hFileMgr,
  66. int nAttrInd);
  67. BOOL
  68. SelectAttr(
  69. HANDLE hFileMgr,
  70. int nAttrInd,
  71. BOOL bSelect);
  72. BOOL
  73. IsAttrSelected(
  74. HANDLE hFileMgr,
  75. int nAttrInd);
  76. int
  77. Dump(
  78. HANDLE hFileMgr,
  79. int nAttrInd,
  80. BYTE* pBlob);
  81. BOOL
  82. BlobToString(
  83. BYTE* pBlob,
  84. DWORD cbSize,
  85. char* pszBuff);
  86. #ifdef __cplusplus
  87. }
  88. #endif
  89. LPVOID Alloc(SIZE_T cbSize);
  90. BOOL Free(LPVOID p);
  91. #endif // _ACFILEATTR_H