FEA2 defines the format for setting the full extended attributes in the file.

typedef struct _FEA2 {
  ULONG      oNextEntryOffset;  /*  Offset to next entry. */
  BYTE       fEA;               /*  Extended attributes flag. */
  BYTE       cbName;            /*  Length of szName, not including NULL. */
  USHORT     cbValue;           /*  Value length. */
  CHAR       szName[1];         /*  Extended attribute name. */
} FEA2;

typedef   FEA2   * PFEA2 ;

Extended attributes (EAs) are non-critical by default. A non-critical EA is one that is not necessary to the functionality of the application. If a non-critical EA is lost, the system continues to operate correctly. For example, losing the icons associated with data files does not generally cause any ill effect other than the inability to show the icon.

A critical extended attribute is one which is necessary for the correct operation of the operating system or of a particular operation. EAs should be marked as critical if their loss would cause the system or program to perform incorrectly. For example, a mail program might store mail headers in EAs. The loss of the header from a message would normally render the mail program unable to further use that message. This would be unacceptable, so the mail program should mark this EA as critical.


[Back] [Next]