Providers are identified in the registry by the OLE DB Provider subkey under the class ID of the provider. Under HKEY_CLASSES_ROOT, providers must have the following subkeys and values for the extension of persisted data source object files and for the programmatic identifier :
| Keys and Subkeys | Values | |||||
| HKEY_CLASSES_ROOT | ||||||
| ProviderProgID | PersistedFilenameExtension | |||||
| CLSID | ProviderCLSID | |||||
| ProviderCLSID | FriendlyDisplayName | |||||
| ProgID | ProviderProgID | |||||
| VersionIndependentProgID | VersionIndependentProgID | |||||
| InprocServer32 | ProviderDLLFilename | |||||
| ThreadingModel | Apartment|Free|Both | |||||
| OLE DB Provider | Description | |||||
When an instance of the object is first created, providers return an interface pointer on a data source object. For more information about data source objects, see "Data Source Objects" in Chapter 2.