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 |