This error shows up in various places and depends greatly on what operation we were trying to perform. As such, specific recommendations are difficult.
Our general guidance here is to look at what you were doing when the error occurred and refer to the appropriate chapters. For example, if the error occurred during an initial bind operation, Chapter 3 would be the place to start. Chapter 8 is a good second place to look in case the binding error might be related to a security problem. The stack trace produced by .NET in COMException will show what SDS was doing when the failure occurred, so use that for context clues.
If you were searching the directory, Chapters 4 and 5 are the best place to start. If you were reading or writing LDAP data values, Chapter 6 is the place to go.
Part I: Fundamentals
Introduction to LDAP and Active Directory
Introduction to .NET Directory Services Programming
Binding and CRUD Operations with DirectoryEntry
Searching with the DirectorySearcher
Advanced LDAP Searches
Reading and Writing LDAP Attributes
Active Directory and ADAM Schema
Security in Directory Services Programming
Introduction to the ActiveDirectory Namespace
Part II: Practical Applications
Part III: Appendixes
Appendix A. Three Approaches to COM Interop with ADSI
Appendix B. LDAP Tools for Programmers
Appendix C. Troubleshooting and Help