IMPORTANT: This article contains information about modifying the registry. Before you
modify the registry, make sure to back it up and make sure that you understand how to restore
the registry if a problem occurs. For information about how to back up, restore, and edit the
registry, click the following article number to view the article in the Microsoft Knowledge Base:
256986 Description of the Microsoft Windows Registry
SYMPTOMS
When you are using Microsoft Management Console (MMC) with the Active Directory Sites and Services snap-in, you may receive an application error message such as the following one:
The instruction at 0x71d80a80 referenced memory at 0x00000000 The memory could not be read. Click on Ok to Terminate the program.
Note: The First hexadecimal number may change.
Instead of the error message, you may notice that the program quits unexpectedly.
If you attach a debugger tool, such as Windbg, to the process or look at a user dump file created by Dr. Watson and have the proper symbols installed,
the stack will look like the following text:
ChildEBP RetAddr Args to Child
0289fda0 71d73d6f 0289fde8 0289fe00 00bf4428 dsadmin!StripADsIPath+0x41
0289fe10 71d6ca61 00bf4428 00000000 00000000 dsadmin!CDSSearch__SetCookieFromData+0x90
0289fea4 71d6c92b 00bf4428 00bfe6a8 00bfe168 dsadmin!CDSDirect__CreateRootChild+0xf7
0289fec8 71d689ff 00bfe6a8 00bfe168 71d8b357 dsadmin!CDSDirect__EnumerateRootContainer+0x57
0289fed4 71d8b357 00bf9fd0 00bfe6a8 00bfe168 dsadmin!CDSComponentData__QueryFromWorkerThread+0x2e
0289ff14 7700ca3b 00230178 00bf2668 00bf2668 dsadmin!CWorkerThread__Run+0x69
0289ff80 7800a3c0 0206fe48 00230178 00230178 MFC42u!Ordinal6105+0xb9
0289ffb4 77e8758a 00bf2668 00230178 00230178 MSVCRT!_threadstartex+0x5f
0289ffec 00000000 7800a361 00bf2668 00000000 KERNEL32!BaseThreadStart+0x52
In addition, if you unassemble a few instructions before EIP, the following text is displayed with the faulting instruction displayed immediately after the call to __GetPathCracker (in this case, 71d80a80):
71d80a7b e886fffdff call dsadmin!CDsAdminModule__GetPathCracker (71d60a06)
71d80a80 8b08 mov ecx,[eax]
71d80a82 8d55f0 lea edx,[ebp-0x10]
For example, if you use the letter "r" to obtain the registers
0:005> r
eax=00000000 ebx=023dfe00 ecx=00000000 edx=800401e4 esi=71da4160 edi=00000000
eip=71d80a80 esp=023dfd7c ebp=023dfda0 iopl=0 nv up ei ng nz na po nc
cs=001b ss=0023 ds=0023 es=0023 fs=0038 gs=0000 efl=00010286
dsadmin!StripADsIPath+41:
71d80a80 8b08 mov ecx,[eax] ds:0023:00000000=????????
and then type the following text to unassemble around EIP:
u 71d80a80-0x10 71d80a80+0x5
In this case, 71d80a80 was obtained by examining the EIP= register from above.
CAUSE
This error can occur when either of the following registry keys is missing or corrupted:
HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}
HKEY_CLASSES_ROOT\LDAP
The second key that is listed may be missing or corrupt or may not contain the value:
{228D9A81-C302-11cf-9AA4-00AA004A5691}
RESOLUTION
WARNING: If you use Registry Editor incorrectly, you may cause serious problems that may
require you to reinstall your operating system. Microsoft cannot guarantee that you can solve
problems that result from using Registry Editor incorrectly. Use Registry Editor at your own
risk.
NOTE: If your registry keys contain values rather than being blank or missing, you should first back up the keys by using the Export Registry Key feature in Regedit.exe. You should then examine the entries for differences and merge them if you need to.
If the
HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc} key is missing or damaged, add the following lines to a text file, rename it with a .reg extension, and then import it to your registry.
On a Windows 2000-based domain controller use the following text:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}]
@="ADs LDAP Pathname Descriptor Object"
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\InprocServer32]@="activeds.dll"
"ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\ProgID]
@="Pathname"
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\TypeLib]
@="{97d25db0-0363-11cf-abc4-02608c9e7553}"
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\Version]
@="0.0"
On a Windows 2000-based domain member computer use the following text:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}]
@="ADs Pathname Object"
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\InprocServer32]@="activeds.dll"
"ThreadingModel"="Both"
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\ProgID]
@="Pathname"
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\TypeLib]
@="{97d25db0-0363-11cf-abc4-02608c9e7553}"
[HKEY_CLASSES_ROOT\CLSID\{080d0d78-f421-11d0-a36e-00c04fb950dc}\Version]
@="0.0"
If the HKEY_CLASSES_ROOT\LDAP key is missing, or damaged, use the following text:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\LDAP]
@="URL:LDAP Protocol"
"EditFlags"=hex:02,00,00,00
"URL Protocol"=""
[HKEY_CLASSES_ROOT\LDAP\Clsid]
@="{228D9A81-C302-11cf-9AA4-00AA004A5691}"
[HKEY_CLASSES_ROOT\LDAP\shell]
[HKEY_CLASSES_ROOT\LDAP\shell\open]
[HKEY_CLASSES_ROOT\LDAP\shell\open\command]
@="\"D:\\Program Files\\Outlook Express\\wab.exe\" /ldap:%1"