DBPROPFLAGS Enumerated Type

Providers use DBPROPFLAGS values to describe the property, such as the group to which a property belongs and whether the property can be read from or written to. DBPROPFLAGS is used in the DBPROPINFO structure.

The DBPROPFLAGS enumerated type is described in the following table. These flags can be combined except as noted.

Value

Description

DBPROPFLAGS_NOTSUPPORTED

The property is not supported, or the consumer has requested information about properties not in the Initialization property group and the data source object is uninitialized.

If this value is returned, it cannot be combined with any of the other DBPROPFLAGS values.

DBPROPFLAGS_COLUMN

The property belongs to the Column property group.

The following flags are mutually exclusive:

DBPROPFLAGS_COLUMN DBPROPFLAGS_DATASOURCE DBPROPFLAGS_DATASOURCECREATE DBPROPFLAGS_DATASOURCEINFO DBPROPFLAGS_DBINIT, DBPROPFLAGS_INDEX DBPROPFLAGS_ROWSET DBPROPFLAGS_SESSION DBPROPFLAGS_TABLE

For a complete listing and description of the OLE DB property groups, see Properties by Property Groups in Appendix C: OLE DB Properties.

DBPROPFLAGS_DATASOURCE

The property belongs to the Data Source property group.

DBPROPFLAGS_DATASOURCECREATE

The property belongs to the Data Source Creation property group.

DBPROPFLAGS_DATASOURCEINFO

The property belongs to the Data Source Information property group.

DBPROPFLAGS_DBINIT

The property belongs to the Initialization property group.

DBPROPFLAGS_INDEX

The property belongs to the Index property group.

DBPROPFLAGS_ROWSET

The property belongs to the Rowset property group.

DBPROPFLAGS_SESSION

The property belongs to the Session property group.

DBPROPFLAGS_TABLE

The property belongs to the Table property group.

DBPROPFLAGS_COLUMNOK

This flag applies only to properties in the Rowset property group and can be set only when DBPROPFLAGS_ROWSET is set.

If it is set, the property can be applied to all columns in the rowset or to a specific column in the rowset. Whether the property applies to a specific column or to all columns depends on the value of colid in the DBPROP structures used to set or get the property value.

If it is not set, the property applies to all columns in the rowset.

Setting this flag means the provider supports the property on a per-column basis.

DBPROPFLAGS_READ

A method can get the property's value. For a list of methods that get properties, see Getting Property Values.

DBPROPFLAGS_WRITE

A method can set the property's value. For a list of methods that set properties, see Setting Property Values.

DBPROPFLAGS_REQUIRED

The property must be set.

When returned by IDBProperties::GetPropertyInfo, this flag applies only to properties in the Initialization property group and can be set only when DBPROPFLAGS_DBINIT is set.

If this flag is set, the consumer must specify a value for the property before calling IDBInitialize::Initialize to initialize the data source or enumerator.

Whether or not a property is required for a particular provider can vary depending on other properties specified (for example, DBPROP_DATASOURCE) or on other provider-specific factors. Providers should mark as required only those properties that are always required for that instance of the data source object. Consumers should be aware that, depending on other factors, such as the combination of initialization properties specified, additional properties not marked as required may need to be specified.

When returned by IDBDataSourceAdmin::GetCreationProperties, this flag applies to properties in the Data Source Creation and Session property groups and properties in the Initialization property group that can be used in data source object creation. If it is set, the consumer must specify a value for the property when calling IDBDataSourceAdmin::CreateDataSource. If it is not set, the data source object can be created even if the consumer does not specify a value for the property.

DBPROPFLAGS_VIEW

The property belongs to the View property group.

DBPROPFLAGS_STREAM

The property belongs to the Stream property group.