Where appropriate, SQL-DMO member functions that return a reference on a SQLObjectList object are implemented to return a reference on a typed list of objects. For example, the ListIndexedColumns member function, that returns an SQLObjectList object enumerating the columns on which a Microsoft® SQL Server™ index is defined, uses the syntax:
HRESULT ListIndexedColumns(LPSQLDMOCOLUMNLIST* ppList);
That the list object returned contains only SQL-DMO Column objects is visible from the function prototype, and for the C/C++ application developer, the typed list forces a specific type recognition and aids in program readability.
SQL-DMO defines the following object list types.
| Type | SQLObjectList object contains |
|---|---|
| LPSQLDMODBOBJECTLIST | DBObject objects |
| LPSQLDMOPERMISSIONLIST | Permission objects |
| LPSQLDMOCONFIGVALUELIST | ConfigValue objects |
| LPSQLDMOBACKUPDEVICELIST | BackupDevice objects |
| LPSQLDMOCOLUMNLIST | Column objects |
| LPSQLDMOUSERDEFINEDDATATYPELIST | UserDefinedDatatype objects |
| LPSQLDMOSTOREDPROCEDURELIST | StoredProcedure objects |
| LPSQLDMOLOGINLIST | Login objects |
| LPSQLDMOUSERLIST | User objects |
| LPSQLDMODATABASELIST | Database objects |
| LPSQLDMOKEYLIST | Key objects |