Códigos de error de Win32 para ADSI
Los códigos de error Win32 estándar también se usan para devolver mensajes de error ADSI. En concreto, el proveedor LDAP ADSI asigna todos los códigos de error LDAP a los códigos de error win32. Los valores HRESULT de estos códigos de error son del formato 0x8007XXXX, donde los últimos cuatro dígitos hexadecimales, XXXX, corresponden a los valores DWORD del código de error win32 adecuado. Por ejemplo, el valor de error ADSI 0x80072020 proporciona el valor de error win32 de 0x2020 en hexadecimal o 8224 en decimal.
Para convertir el valor HRESULT de un código de error ADSI, devuelto por la aplicación, al valor DWORD del error Win32 correspondiente, tal como se define en los archivos de encabezado anteriores, use el procedimiento siguiente.
La mayoría de los códigos de error de Win32 para ADSI se definen en Winerror.h o Lmerr.h. Los valores de error se enumeran como valores decimales en estos archivos.
Para convertir el valor HRESULT de un código de error ADSI en el valor DWORD del error Win32 correspondiente
- Convierta el valor HRESULT en un número hexadecimal si comienza con un valor decimal, ya que puede obtener de una aplicación de Visual Basic.
- Quite la parte 0x8007 genere el resto.
- Convierta el resto en un número decimal.
- Busque el resto decimal en Winerror.h.
- Si no se encuentra en Winerror.h, resta 2100 del resto decimal y busque el resultado en Lmerr.h.
ADSI 2.0 asigna los códigos de error LDAP a un conjunto de códigos de error win32 que son diferentes de los usados en ADSI para Windows 2000 y DS Client. Las diferencias se enumeran en: