ADsSetLastError 函数 (adshlp.h)
ADsSetLastError 为调用线程设置最后一个错误代码值。 目录服务提供程序可以使用此函数来设置扩展错误。 函数将错误数据保存在每线程数据结构中。 ADsSetLastError 的操作类似于 SetLastError 函数。
语法
void ADsSetLastError(
[in] DWORD dwErr,
[in] LPCWSTR pszError,
[in] LPCWSTR pszProvider
);
参数
[in] dwErr
类型:DWORD
发生的错误代码。 如果这是 Windows 定义的错误,则忽略 pszError 。 如果这是ERROR_EXTENDED_ERROR,则表示提供程序有一个特定于网络的错误要报告。
[in] pszError
类型: LPWSTR
以 null 结尾的 Unicode 字符串,用于描述特定于网络的错误。
[in] pszProvider
类型: LPWSTR
以 null 结尾的 Unicode 字符串,用于命名引发错误的 ADSI 提供程序。
返回值
无
备注
在 ADSI 提供程序(例如 LDAP 提供程序)的自定义实现中,可以按如下所示设置操作错误消息。
ADsSetLastError(HRESULT_FROM_WIN32(ERROR_DS_OPERATIONS_ERROR),
L"ERROR_DS_OPERATIONS_ERROR",
L"LDAP Provider");
用户可以使用以下代码示例来检查此操作代码。
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);
}
前面的代码示例为上面设置的操作错误代码生成以下输出。
Error value: 80072020
Error Text: ERROR_DS_OPERATIONS_ERROR
Provider: LDAP Provider
如果在设置错误时使用 ERROR_DS_OPERATIONS_ERROR 而不调用 HRESULT_FROM_WIN32 宏,则返回以下输出。
Error value: 2020
Error Text: ERROR_DS_OPERATIONS_ERROR
Provider: LDAP Provider
要求
要求 | 值 |
---|---|
最低受支持的客户端 | Windows Vista |
最低受支持的服务器 | Windows Server 2008 |
目标平台 | Windows |
标头 | adshlp.h |
Library | Activeds.lib |
DLL | Activeds.dll |