Win32-Fehlercodes für ADSI
Standardmäßige Win32-Fehlercodes werden auch verwendet, um ADSI-Fehlermeldungen zurückzugeben. Insbesondere ordnet der ADSI LDAP-Anbieter alle LDAP-Fehlercodes Win32-Fehlercodes zu. Die HRESULT-Werte dieser Fehlercodes haben das Format 0x8007XXXXXX, wobei die letzten vier Hexadezimalstellen, XXXX, den DWORD-Werten des entsprechenden Win32-Fehlercodes entsprechen. Beispielsweise gibt der ADSI-Fehlerwert 0x80072020 den Win32-Fehlerwert 0x2020 im Hexadezimalwert oder 8224 im Dezimalzeichen an.
Um den HRESULT-Wert eines ADSI-Fehlercodes, der von Ihrer Anwendung zurückgegeben wird, in den entsprechenden Win32-Fehler-DWORD-Wert zu konvertieren, wie in den Headerdateien oben definiert, führen Sie das folgende Verfahren aus.
Die meisten Win32-Fehlercodes für ADSI sind in Winerror.h oder Lmerr.h definiert. Die Fehlerwerte werden in diesen Dateien als Dezimalwerte aufgeführt.
So konvertieren Sie den HRESULT-Wert eines ADSI-Fehlercodes in den entsprechenden Win32-Fehler-DWORD-Wert
- Konvertieren Sie den HRESULT-Wert in eine Hexadezimalzahl, wenn Sie mit einem Dezimalwert beginnen, wie Sie es von einer Visual Basic-Anwendung erhalten können.
- Löschen Sie den 0x8007 Teil den Rest erzeugen.
- Konvertieren Sie den Rest in eine Dezimalzahl.
- Suchen Sie den dezimalen Rest in Winerror.h.
- Wenn sie in Winerror.h nicht gefunden werden, subtrahieren Sie 2100 vom Dezimalwert, und suchen Sie das Ergebnis in Lmerr.h.
ADSI 2.0 ordnet die LDAP-Fehlercodes einer Reihe von Win32-Fehlercodes zu, die sich von denen unterscheiden, die in ADSI für Windows 2000 und DS-Client verwendet werden. Die Unterschiede sind aufgeführt in: