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

  1. 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.
  2. Löschen Sie den 0x8007 Teil den Rest erzeugen.
  3. Konvertieren Sie den Rest in eine Dezimalzahl.
  4. Suchen Sie den dezimalen Rest in Winerror.h.
  5. 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: