Condividi tramite


Funzione ADsSetLastError (adshlp.h)

ADsSetLastError imposta il valore del codice di ultimo errore per il thread chiamante. I provider di servizi directory possono usare questa funzione per impostare errori estesi. La funzione salva i dati di errore in una struttura di dati per thread. ADsSetLastError funziona in modo simile alla funzione SetLastError .

Sintassi

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

Parametri

[in] dwErr

Tipo: DWORD

Codice di errore che si è verificato. Se si tratta di un errore definito da Windows, pszError viene ignorato. Se si tratta di ERROR_EXTENDED_ERROR, indica che il provider ha un errore specifico della rete per segnalare.

[in] pszError

Tipo: LPWSTR

Stringa Unicode con terminazione null che descrive l'errore specifico della rete.

[in] pszProvider

Tipo: LPWSTR

Stringa Unicode con terminazione null che nomi il provider ADSI che ha generato l'errore.

Valore restituito

nessuno

Osservazioni

In un'implementazione personalizzata di un provider ADSI, ad esempio, un provider LDAP, è possibile impostare un messaggio di errore dell'operazione come indicato di seguito.

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

L'utente può usare l'esempio di codice seguente per esaminare il codice dell'operazione.

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'esempio di codice precedente genera l'output seguente per il codice di errore delle operazioni impostato sopra.

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

Se si usa ERROR_DS_OPERATIONS_ERROR senza richiamare la macro HRESULT_FROM_WIN32 quando si imposta l'errore, viene restituito l'output seguente.

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

Requisiti

Requisito Valore
Client minimo supportato Windows Vista
Server minimo supportato Windows Server 2008
Piattaforma di destinazione Windows
Intestazione adshlp.h
Libreria Activeds.lib
DLL Activeds.dll

Vedi anche

Codici di errore ADSI

Funzioni ADSI

ADsGetLastError

SetLastError