Partager via


Fonction ADsSetLastError (adshlp.h)

ADsSetLastError définit la valeur de code de dernière erreur pour le thread appelant. Les fournisseurs de services d’annuaire peuvent utiliser cette fonction pour définir des erreurs étendues. La fonction enregistre les données d’erreur dans une structure de données par thread. ADsSetLastError fonctionne comme la fonction SetLastError .

Syntaxe

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

Paramètres

[in] dwErr

Type : DWORD

Code d’erreur qui s’est produit. S’il s’agit d’une erreur définie par Windows, pszError est ignoré. S’il s’agit de ERROR_EXTENDED_ERROR, cela indique que le fournisseur a une erreur propre au réseau à signaler.

[in] pszError

Type : LPWSTR

Chaîne Unicode terminée par null qui décrit l’erreur spécifique au réseau.

[in] pszProvider

Type : LPWSTR

Chaîne Unicode terminée par null qui nomme le fournisseur ADSI qui a déclenché l’erreur.

Valeur de retour

None

Remarques

Dans une implémentation personnalisée d’un fournisseur ADSI, par exemple, un fournisseur LDAP, vous pouvez définir un message d’erreur d’opération comme suit.

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

L’utilisateur peut utiliser l’exemple de code suivant pour examiner ce code d’opération.

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);
}

L’exemple de code précédent génère la sortie suivante pour le code d’erreur d’opération défini ci-dessus.

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

Si vous utilisez ERROR_DS_OPERATIONS_ERROR sans appeler la macro HRESULT_FROM_WIN32 lors de la définition de l’erreur, la sortie suivante est retournée.

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

Configuration requise

Condition requise Valeur
Client minimal pris en charge Windows Vista
Serveur minimal pris en charge Windows Server 2008
Plateforme cible Windows
En-tête adshlp.h
Bibliothèque Activeds.lib
DLL Activeds.dll

Voir aussi

Codes d’erreur ADSI

Fonctions ADSI

ADsGetLastError

SetLastError