Under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs\Providers subkey, an ADSI provider must have the following subkeys and values:
ProgIDNamespace = Friendly Name
Under the HKEY_CLASSES_ROOT\CLSID subkey, provider namespace objects must have the following subkeys and values:
ProgIDNamespaceCLSID = FriendlyDisplayName
ProgIDNamespaceCLSID\InProcServer32 = ProviderDLLFilename
ProgIDNamespaceCLSID\InProcServer32\ThreadingModel=Both
ProgIDNamespaceCLSID\ProgID= ProviderNamespaceObjectName
ProgIDNamespaceCLSID\TypeLib=ProviderTypeLibCLSID
ProgIDNamespaceCLSID\Version = ProviderVersionNumber
Under the HKEY_CLASSES_ROOT\CLSID subkey, provider top-level objects must have the following subkeys and values:
ProgIDCLSID = FriendlyDisplayName
ProgIDCLSID\InProcServer32 = ProviderDLLFilename
ProgIDCLSID\InProcServer32\ThreadingModel=Both
ProgIDCLSID\ProgID= ProviderProgIDObjectName
ProgIDCLSID\TypeLib=ProviderTypeLibCLSID
ProgIDCLSID\Version = ProviderVersionNumber
After installing ADSI SDK, the registry contains the following values under HKEY_LOCAL_MACHINE:
SOFTWARE
Microsoft
ADs
Providers
LDAP <No Name>:REG_SZ:LDAPNamespace
NDS <No Name>:REG_SZ:NDSNamespace
NWCOMPAT <No Name>:REG_SZ:NWCOMPATNamespace
WinNT <No Name>:REG_SZ:WinNTNamespace
For a specific example, see Installing the Example Provider Component.