Fungsi ADsGetLastError (adshlp.h)
Fungsi ADsGetLastError mengambil nilai kode kesalahan terakhir utas panggilan.
Sintaks
HRESULT ADsGetLastError(
[out] LPDWORD lpError,
[out] LPWSTR lpErrorBuf,
[in] DWORD dwErrorBufLen,
[out] LPWSTR lpNameBuf,
[in] DWORD dwNameBufLen
);
Parameter
[out] lpError
Jenis: LPDWORD
Arahkan ke lokasi yang menerima kode kesalahan.
[out] lpErrorBuf
Jenis: LPWSTR
Penunjuk ke lokasi yang menerima string Unicode yang dihentikan null yang menjelaskan kesalahan.
[in] dwErrorBufLen
Jenis: DWORD
Ukuran, dalam karakter, dari buffer lpErrorBuf . Jika buffer terlalu kecil untuk menerima string kesalahan, string dipotok, tetapi masih dihentikan null. Buffer, setidaknya 256 byte, disarankan.
[out] lpNameBuf
Jenis: LPWSTR
Penunjuk ke lokasi yang menerima string Unicode yang dihentikan null yang menjelaskan nama penyedia yang memunculkan kesalahan.
[in] dwNameBufLen
Jenis: DWORD
Ukuran, dalam karakter, dari buffer lpNameBuf . Jika buffer terlalu kecil untuk menerima nama penyedia, string dipotok, tetapi masih dihentikan null.
Menampilkan nilai
Jenis: HRESULT
Metode ini mendukung nilai pengembalian standar, serta yang berikut ini.
Keterangan
Kesalahan ADSI termasuk dalam dua jenis sesuai dengan nilai kode fasilitasnya. Kode kesalahan ADSI standar memiliki nilai kode fasilitas 0x5 dan kode kesalahan ADSI yang diperluas mengasumsikan bahwa dari FACILITY_WIN32. Nilai kesalahan dari kode kesalahan ADSI standar dan diperpanjang masing-masing adalah bentuk 0x80005xxx dan 0x8007xxxx. Gunakan makro HRESULT_FACILITY(jam) untuk menentukan jenis kesalahan ADSI.
if (FAILED(hr))
{
wprintf(L"An error occurred.\n HRESULT: %x\n",hr);
// If facility is Win32, get the Win32 error
if (HRESULT_FACILITY(hr)==FACILITY_WIN32)
{
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);
}
}
}
Jika hr 80071392, contoh kode mengembalikan yang berikut.
An error occurred.
HRESULT: 80071392
Error Code: 8305
Error Text: 00002071: UpdErr: DSID-030502F1, problem 6005 (ENTRY_EXISTS), data 0
Provider: LDAP Provider
Persyaratan
Persyaratan | Nilai |
---|---|
Klien minimum yang didukung | Windows Vista |
Server minimum yang didukung | Windows Server 2008 |
Target Platform | Windows |
Header | adshlp.h |
Pustaka | Activeds.lib |
DLL | Activeds.dll; AdsLdpc.dll |