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.

108 lines
2.1 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. PSTR pszFile,
  43. int* pnCount);
  44. VOID
  45. CleanupFileManager(
  46. HANDLE hFileMgr);
  47. DWORD
  48. GetAttrId(
  49. int nAttrInd);
  50. BOOL
  51. IsAttrAvailable(
  52. HANDLE hFileMgr,
  53. int nAttrInd);
  54. PSTR
  55. GetAttrName(
  56. int nAttrInd);
  57. PSTR
  58. GetAttrNameXML(
  59. int nAttrInd);
  60. PSTR
  61. GetAttrValue(
  62. HANDLE hFileMgr,
  63. int nAttrInd);
  64. BOOL
  65. SelectAttr(
  66. HANDLE hFileMgr,
  67. int nAttrInd,
  68. BOOL bSelect);
  69. BOOL
  70. IsAttrSelected(
  71. HANDLE hFileMgr,
  72. int nAttrInd);
  73. int
  74. Dump(
  75. HANDLE hFileMgr,
  76. int nAttrInd,
  77. BYTE* pBlob);
  78. BOOL
  79. BlobToString(
  80. BYTE* pBlob,
  81. DWORD cbSize,
  82. char* pszBuff);
  83. #ifdef __cplusplus
  84. }
  85. #endif
  86. LPVOID Alloc(SIZE_T cbSize);
  87. BOOL Free(LPVOID p);
  88. #endif // _ACFILEATTR_H