NTFS Extended Attributes question

Hi all!

I am trying to set my extended attributes for NTFS files and I have two
questions:

  1. When I query non-existing EA, the returned status is STATUS_SUCCESS and
    the returned buffer contains EA name, that was sent and EaValueLength=0.

Is this ok?

  1. Do I have to create cache for my EA values or querying them for each open
    does not change the performance?

Thanks,

Dani

> I am trying to set my extended attributes for NTFS files and I have two
questions:

  1. When I query non-existing EA, the returned status is STATUS_SUCCESS and
    the returned buffer contains EA name, that was sent and EaValueLength=0.
    Is this ok?

Yes, this is correct behavior. Also if you want to delete an extended
attribute you just set a 0-length value.

  1. Do I have to create cache for my EA values or querying them for each open
    does not change the performance?

From my experience NTFS has reasonable performance for operations on extended
attributes. But your question is too general, you should identify performance
bottlenecks of your program yourself, everything depends on use pattern.

Alexei.