OutputBuffer is of type FILE_FULL_EA_INFORMATION as described in [MS-FSCC] 2.4.15.<139>

Pseudocode for the operation is as follows:

  • The object store MUST initialize OutputBuffer to zero.

  • If Open.GrantedAccess does not contain FILE_READ_EA, the operation MUST be failed with STATUS_ACCESS_DENIED.

  • If Open.File.ExtendedAttributes is not empty:

    • OutputBuffer is filled with as many complete FILE_FULL_EA_INFORMATION entries from Open.File.ExtendedAttributes, starting with Open.NextEaEntry, as can be contained in OutputBufferSize bytes.

    • Open.NextEaEntry is set to point to the entry after the last entry returned, if any.

  • Endif

  • Upon successful completion of the operation, the object store MUST return:

    • ByteCount set to the size, in bytes, of all FILE_FULL_EA_INFORMATION entries returned.

    • Status set to:

      • STATUS_NO_EAS_ON_FILE if there were no entries to return in Open.File.ExtendedAttributes.

      • STATUS_BUFFER_TOO_SMALL if OutputBufferSize is too small to hold Open.NextEaEntry. No entries are returned.

      • STATUS_BUFFER_OVERFLOW if at least one entry was returned in OutputBuffer but there are still additional entries to return.

      • STATUS_SUCCESS when one or more entries were returned from Open.File.ExtendedAttributes and there are no more entries to return.