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 提供者的自定義實作中,您可以設定作業錯誤訊息,如下所示。
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
如果您在設定錯誤時不使用叫用HRESULT_FROM_WIN32宏 ERROR_DS_OPERATIONS_ERROR ,則會傳回下列輸出。
Error value: 2020
Error Text: ERROR_DS_OPERATIONS_ERROR
Provider: LDAP Provider
規格需求
需求 | 值 |
---|---|
最低支援的用戶端 | Windows Vista |
最低支援的伺服器 | Windows Server 2008 |
目標平台 | Windows |
標頭 | adshlp.h |
程式庫 | Activeds.lib |
Dll | Activeds.dll |