Função ADsSetLastError (adshlp.h)
O ADsSetLastError define o valor do código do último erro para o thread de chamada. Os provedores de serviços de diretório podem usar essa função para definir erros estendidos. A função salva os dados de erro em uma estrutura de dados por thread. ADsSetLastError opera semelhante à função SetLastError .
Sintaxe
void ADsSetLastError(
[in] DWORD dwErr,
[in] LPCWSTR pszError,
[in] LPCWSTR pszProvider
);
Parâmetros
[in] dwErr
Tipo: DWORD
O código de erro que ocorreu. Se esse for um erro definido pelo Windows, pszError será ignorado. Se for ERROR_EXTENDED_ERROR, isso indicará que o provedor tem um erro específico de rede para relatar.
[in] pszError
Tipo: LPWSTR
A cadeia de caracteres Unicode terminada em nulo que descreve o erro específico da rede.
[in] pszProvider
Tipo: LPWSTR
A cadeia de caracteres Unicode terminada em nulo que nomeia o provedor ADSI que gerou o erro.
Retornar valor
Nenhum
Comentários
Em uma implementação personalizada de um provedor ADSI, por exemplo, um provedor LDAP, você pode definir uma mensagem de erro de operação da seguinte maneira.
ADsSetLastError(HRESULT_FROM_WIN32(ERROR_DS_OPERATIONS_ERROR),
L"ERROR_DS_OPERATIONS_ERROR",
L"LDAP Provider");
O usuário pode usar o exemplo de código a seguir para examinar esse código de operação.
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);
}
O exemplo de código anterior produz a saída a seguir para o código de erro de operações definido acima.
Error value: 80072020
Error Text: ERROR_DS_OPERATIONS_ERROR
Provider: LDAP Provider
Se você usar ERROR_DS_OPERATIONS_ERROR sem invocar a macro HRESULT_FROM_WIN32 ao definir o erro, a saída a seguir será retornada.
Error value: 2020
Error Text: ERROR_DS_OPERATIONS_ERROR
Provider: LDAP Provider
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows Vista |
Servidor mínimo com suporte | Windows Server 2008 |
Plataforma de Destino | Windows |
Cabeçalho | adshlp.h |
Biblioteca | Activeds.lib |
DLL | Activeds.dll |