Because SQLDataSources is implemented in the Driver Manager, it is supported for all drivers regardless of a particular driver's standards compliance.
An application can call SQLDataSources multiple times to retrieve all data source names. The Driver Manager retrieves this information from the system information. When there are no more data source names, the Driver Manager returns SQL_NO_DATA. If SQLDataSources is called with SQL_FETCH_NEXT immediately after it returns SQL_NO_DATA, it will return the first data source name. For information about how an application uses the information returned by SQLDataSources, see Choosing a Data Source or Driver.
If SQL_FETCH_NEXT is passed to SQLDataSources the very first time it is called, it will return the first data source name.
The driver determines how data source names are mapped to actual data sources.