Freigeben über


ADsSetLastError-Funktion (adshlp.h)

Der ADsSetLastError legt den Codewert des letzten Fehlers für den aufrufenden Thread fest. Verzeichnisdienstanbieter können diese Funktion verwenden, um erweiterte Fehler festzulegen. Die Funktion speichert die Fehlerdaten in einer Datenstruktur pro Thread. ADsSetLastError funktioniert ähnlich wie die SetLastError-Funktion .

Syntax

void ADsSetLastError(
  [in] DWORD   dwErr,
  [in] LPCWSTR pszError,
  [in] LPCWSTR pszProvider
);

Parameter

[in] dwErr

Art: DWORD

Der aufgetretene Fehlercode. Wenn dies ein von Windows definierter Fehler ist, wird pszError ignoriert. Wenn dies ERROR_EXTENDED_ERROR ist, gibt dies an, dass der Anbieter einen netzwerkspezifischen Fehler zu melden hat.

[in] pszError

Typ: LPWSTR

Die mit Null beendete Unicode-Zeichenfolge, die den netzwerkspezifischen Fehler beschreibt.

[in] pszProvider

Typ: LPWSTR

Die mit NULL beendete Unicode-Zeichenfolge, die den ADSI-Anbieter benennt, der den Fehler ausgelöst hat.

Rückgabewert

Keine

Bemerkungen

In einer benutzerdefinierten Implementierung eines ADSI-Anbieters, z. B. einem LDAP-Anbieter, können Sie eine Vorgangsfehlermeldung wie folgt festlegen.

ADsSetLastError(HRESULT_FROM_WIN32(ERROR_DS_OPERATIONS_ERROR),
                L"ERROR_DS_OPERATIONS_ERROR",
                L"LDAP Provider");

Der Benutzer kann das folgende Codebeispiel verwenden, um diesen Vorgangscode zu untersuchen.

DWORD dwLastError;
WCHAR szErrorBuf[MAX_PATH];
WCHAR szNameBuf[MAX_PATH];
// Get extended error value.
HRESULT hr_return =S_OK;
hr_return = ADsGetLastError( &dwLastError,
                               szErrorBuf,
                               MAX_PATH,
                               szNameBuf,
                               MAX_PATH);
if (SUCCEEDED(hr_return))
{
    wprintf(L"Error Code: %d\n Error Text: %ws\n Provider: %ws\n", dwLastError, szErrorBuf, szNameBuf);
}

Im vorherigen Codebeispiel wird die folgende Ausgabe für den oben festgelegten Fehlercode für Vorgänge erzeugt.

Error value: 80072020
Error Text: ERROR_DS_OPERATIONS_ERROR
Provider: LDAP Provider

Wenn Sie ERROR_DS_OPERATIONS_ERROR verwenden, ohne beim Festlegen des Fehlers das makro HRESULT_FROM_WIN32 aufrufen zu müssen, wird die folgende Ausgabe zurückgegeben.

Error value: 2020
Error Text: ERROR_DS_OPERATIONS_ERROR
Provider: LDAP Provider

Anforderungen

Anforderung Wert
Unterstützte Mindestversion (Client) Windows Vista
Unterstützte Mindestversion (Server) Windows Server 2008
Zielplattform Windows
Kopfzeile adshlp.h
Bibliothek Activeds.lib
DLL Activeds.dll

Weitere Informationen

ADSI-Fehlercodes

ADSI-Funktionen

ADsGetLastError

SetLastError