After installing the ADSI SDK, and starting from the installation directory, move to samples\activeds\sampprov\setup. Run install.bat as described in the README.TXT instructions.
For registry settings, under the HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\ADs\Providers subkey, the ADSI example provider component has the following subkeys and values:
ProgIDNamespace = SampleNamespace
Under the HKEY_CLASSES_ROOT\CLSID subkey, provider namespace objects must have the following subkeys and values:
SampleNamespaceCLSID= Sample Namespace Object
SampleNamespaceCLSID\InProcServer32 = adssmp.dll
SampleNamespaceCLSID\InProcServer32\ThreadingModel=Both
SampleNamespaceCLSID\ProgID= Sample
SampleNamespaceCLSID\TypeLib=ProviderTypeLibCLSID
SampleNamespaceCLSID\Version = 0.0
Under the HKEY_CLASSES_ROOT\CLSID subkey, provider top-level objects must have the following subkeys and values:
SampleCLSID = Sample Provider Object
SampleCLSID\InProcServer32 = adssmp.dll
SampleCLSID\InProcServer32\ThreadingModel=Both
SampleCLSID\ProgID= Sample
SampleCLSID\TypeLib=ProviderTypeLibCLSID
SampleCLSID\Version = 0.0
For the specific example of the example provider component dll, the following registry entries are needed:
HKEY_LOCAL_MACHINE
SOFTWARE
+CLSID
Sample
Clsid <No Name>:REG_SZ{323991f0-…}
SampleNAMESPACE
Clsid <No Name>:REG_SZ{51d11c90--…}
Other entries in the registry under concerning the example provider component exist because the example provider component happened to implement its directory hierarchy in the registry. This in no way implies other providers would want to or should do the same.