共用方式為


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

另請參閱

ADSI 錯誤碼

ADSI 函式

ADsGetLastError

SetLastError