OLE DB Simple Provider (OSP) Toolkit

The Microsoft OLE DB Simple Provider (OSP) Toolkit offers a framework that simplifies the task of writing OLE DB providers over simple data and exposing that data to any OLE DB consumer. These consumers include ActiveX Data Objects (ADO) or any OLE DB?compliant application or control. For more information, see Exposing Data Through OLE DB.


This feature will be removed in a future version of Windows. Avoid using this feature in new development work, and plan to modify applications that currently use this feature. Instead, write a fully functional OLE DB provider using the native OLE DB interfaces.

By using the OSP Toolkit, developers can quickly build OLE DB providers over simple data sources, such as in-memory arrays, and can expose OLE DB interfaces without having to build an entire OLE DB provider from scratch. The OSP Toolkit is language neutral, supporting implementations in Microsoft Visual Basic, Microsoft Visual C++, and Microsoft Visual J++.

The OSP Toolkit employs several new Microsoft component technologies, including the following:

  • OLE DB Simple Provider interfaces. Also part of the Microsoft Internet Explorer SDK, this set of easily implemented application programming interfaces (APIs) is used by the OSP Toolkit to map OLE DB requests to simple data (for example, array-like data) and raise notifications on changes to that data.

  • Data source objects that allow clients written in Visual Basic, Visual J++, and Visual C++ to request access to the data for a particular OSP object and receive the associated notifications. For more information, see Notifications (OLE DB).

  • OLE DB Simple Provider DLL. This DLL (Msdaosp.dll) implements and exposes to data consumers the core OLE DB rowset support over an object that has been coded to the OSP interface and object definition.

The general steps to building a simple provider involve writing your OSP data access code (the OSP Language Reference is supplied with the Toolkit), implementing the OSP data source object (which requests an OSP implementation), and registering the OLE DB Simple Provider DLL and OSP implementation DLL. For a more detailed description of these steps, see Building a Simple Provider.

Because the OLE DB Simple Provider Toolkit is designed to quickly build OLE DB providers over simple data, the providers built with the Toolkit are less functional than a full OLE DB provider written using the native OLE DB interfaces. You might want to read about some known issues before using the Toolkit. For more information, see Limitations (OLE DB).

For more information about developing a full OLE DB provider, see "Using the OLE DB Provider Templates" in the Visual C++ documentation.

See Also

Other Resources

Microsoft OLE DB