Codes d’erreur Win32 pour ADSI
Les codes d’erreur Win32 standard sont également utilisés pour renvoyer des messages d’erreur ADSI. Plus précisément, le fournisseur LDAP ADSI mappe tous les codes d’erreur LDAP aux codes d’erreur Win32. Les valeurs HRESULT de ces codes d’erreur sont au format 0x8007XXXX, où les quatre derniers chiffres hexadécimaux, XXXX, correspondent aux valeurs DWORD du code d’erreur Win32 approprié. Par exemple, la valeur d’erreur ADSI 0x80072020 donne la valeur d’erreur Win32 de 0x2020 en hexadécimal ou 8224 en décimal.
Pour convertir la valeur HRESULT d’un code d’erreur ADSI, retourné par votre application, en la valeur DWORD d’erreur Win32 correspondante, comme défini dans les fichiers d’en-tête ci-dessus, utilisez la procédure suivante.
La plupart des codes d’erreur Win32 pour ADSI sont définis dans Winerror.h ou Lmerr.h. Les valeurs d’erreur sont répertoriées sous forme de valeurs décimales dans ces fichiers.
Pour convertir la valeur HRESULT d’un code d’erreur ADSI en la valeur DWORD d’erreur Win32 correspondante
- Convertissez la valeur HRESULT en nombre hexadécimal si vous commencez par une valeur décimale, comme vous pouvez l’obtenir à partir d’une application Visual Basic.
- Supprimez la partie 0x8007 produire le reste.
- Convertissez le reste en nombre décimal.
- Recherchez le reste décimal dans Winerror.h.
- S’il est introuvable dans Winerror.h, soustrayez 2100 du reste décimal et recherchez le résultat dans Lmerr.h.
ADSI 2.0 mappe les codes d’erreur LDAP à un ensemble de codes d’erreur Win32 différents de ceux utilisés dans ADSI pour Windows 2000 et client DS. Les différences sont répertoriées dans :