Compartir a través de


Función ADsSetLastError (adshlp.h)

ADsSetLastError establece el último valor de código de error para el subproceso que llama. Los proveedores de servicios de directorio pueden usar esta función para establecer errores extendidos. La función guarda los datos de error en una estructura de datos por subproceso. ADsSetLastError funciona de forma similar a la función SetLastError .

Sintaxis

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

Parámetros

[in] dwErr

Tipo: DWORD

Código de error que se produjo. Si se trata de un error definido por Windows, se omite pszError . Si se ERROR_EXTENDED_ERROR, indica que el proveedor tiene un error específico de la red que se va a notificar.

[in] pszError

Tipo: LPWSTR

Cadena Unicode terminada en null que describe el error específico de la red.

[in] pszProvider

Tipo: LPWSTR

Cadena Unicode terminada en null que asigna el nombre al proveedor ADSI que generó el error.

Valor devuelto

None

Observaciones

En una implementación personalizada de un proveedor ADSI, por ejemplo, un proveedor LDAP, puede establecer un mensaje de error de operación como se indica a continuación.

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

El usuario puede usar el siguiente ejemplo de código para examinar este código de operación.

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

El ejemplo de código anterior genera la siguiente salida para el código de error de operaciones establecido anteriormente.

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

Si usa ERROR_DS_OPERATIONS_ERROR sin invocar la macro HRESULT_FROM_WIN32 al establecer el error, se devuelve la siguiente salida.

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

Requisitos

Requisito Value
Cliente mínimo compatible Windows Vista
Servidor mínimo compatible Windows Server 2008
Plataforma de destino Windows
Encabezado adshlp.h
Library Activeds.lib
Archivo DLL Activeds.dll

Consulte también

Códigos de error adsi

Funciones ADSI

ADsGetLastError

SetLastError