This enumeration can be used when creating a custom provider to
indicate whether a specific property is required or supported, and
how it should be set. You can use bitwise combinations of the values
in this enumeration. Optional indicates that the
user doesn't need to specify a value for this
property before the data source is initialized, while
Required indicates that it must be set first.
Read and Write indicate whether
the value can be read or modified.