EAOP

An EAOP structure has the following format:
 * fpGEAList (PGEALIST): Address of GEAList. GEAList is a packed array of variable length "get EA" structures, each containing an EA name and the length of the name.
 * fpFEAList (PFEALIST): Address of FEAList. FEAList is a packed array of variable length "full EA" structures, each containing an EA name and its corresponding value, as well as the lengths of the name and the value.
 * oError (ULONG): Offset into structure where error has occurred.

On input, the fpGEAList field and oError fields are ignored. The EA setting operation is performed on the information contained in FEAList. If extended attributes are not to be defined or modified, then EABuf must be set to null. Following is the FEAList format:
 * cbList (ULONG): Length of the FEA list, including the length itself.
 * list (FEA): List of FEA structures. An FEA structure has the following format:
 * Flags (BYTE): Bit indicator describing the characteristics of the EA being defined.
 * 7 - Critical EA.
 * 6-0 - Reserved and must be set to zero.
 * If bit 7 is set to 1, this indicates a critical EA. If bit 7 is 0, this means the EA is noncritical; that is, the EA is not essential to the intended use by an application of the file with which it is associated.
 * cbName (BYTE): Length of EA ASCIIZ name, which does not include the null character.
 * cbValue (USHORT): Length of EA value, which cannot exceed 64KB.
 * szName (PSZ): Address of the ASCIIZ name of EA.
 * aValue (PSZ): Address of the free-format value of EA.
 * Note: The szName and aValue fields are not included as part of header or include files. Because of their variable lengths, these entries must be built manually.

On output, fpGEAList is unchanged. fpFEAList is unchanged as is the area pointed to by fpFEAList. If an error occurred during the set, oError is the offset of the FEA where the error occurred. The API return code is the error code corresponding to the condition generating the error. If no error occurred, oError is undefined. If EABuf is 0x00000000, then no extended attributes are defined for the directory.