OSP Language Reference

The Microsoft? OLE DB Simple Provider (OSP) Toolkit is a set of Microsoft Internet Explorer APIs that includes a limited number of COM interfaces and associated methods. It is designed to let you easily expose simple data (such as in-memory arrays of string and Variant data types) to data-binding controls in HTML pages, Internet Explorer HTML forms, and consumer applications.

Important note Important

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.

The OSP API interfaces and methods documented here are also described in the Internet Explorer SDK. However, this version of the OSP Toolkit documentation includes additional information specific to the usage of OSP.

The OSP Toolkit uses the OSP API as an integral part of its OLE DB provider architecture. Think of it as using OSP as a building block by which OLE DB functionality is exposed over your simple data. As a provider writer using this toolkit, you use OSP methods to accomplish the following:

  • Expose a data source. You must implement a separate OSP for each data source you want to expose.

  • Build OSP Data Objects. These data objects do the following:

    • Encapsulate one or more OSPs.

    • Expose the correct OSP instance to the OLE DB Simple Provider DLL (using either the IDataSource interface or the msDataSourceObject method).

    • Send notifications to the OLE DB Simple Provider DLL.

OSP defines two interfaces:

The OSP methods you can implement with the OSP Toolkit can be categorized as described in the following table.




Obtain basic metadata information about the underlying rows and columns.

Data access via Variants

Retrieve and set Variant values in the data set.


Insert/delete rows and columns into the data set.


Implement basic search functionality across the data.


Implement functionality for data conversions based on country/region.

Event handler

Register (and unregister) an event handler, which can be notified of changes to cells, rows, and columns.

Asynchronous data population

Allow data to populate a target application or control asynchronously.


Notify, through an event handler, changes to cells, rows, and columns.

This topic is a part of: