IBackgroundCopyManager::GetErrorDescription 方法 (bits.h)

检索指定错误代码的说明。

语法

HRESULT GetErrorDescription(
  [in]  HRESULT hResult,
  [in]  DWORD   LanguageId,
  [out] LPWSTR  *pErrorDescription
);

参数

[in] hResult

以前调用 BITS 方法时出现错误代码。

[in] LanguageId

标识用于生成说明的语言标识符。 若要创建语言标识符,请使用 MAKELANGID 宏。 例如,若要指定美国英语,请使用以下代码示例。

MAKELANGID(LANG_ENGLISH, SUBLANG_ENGLISH_US)

若要检索系统的默认用户语言标识符,请使用以下调用。

LANGIDFROMLCID(GetThreadLocale())

[out] pErrorDescription

包含错误说明的以 Null 结尾的字符串。 完成后,调用 CoTaskMemFree 函数以释放 ppErrorDescription

返回值

此方法返回以下 HRESULT 值以及其他值。

返回代码 说明
S_OK
已成功检索错误代码说明。
HRESULT_FROM_WIN32 (ERROR_RESOURCE_LANG_NOT_FOUND)
没有可用于区域设置的字符串。

注解

HTTP 错误的说明已本地化。

Windows XP/2000: 不会本地化 HTTP 错误的说明。

示例

以下示例演示如何检索与错误代码关联的说明。 示例中g_XferManager变量是 IBackgroundCopyManager 接口指针。 有关创建 IBackgroundCopyManager 接口指针的详细信息,请参阅 连接到 BITS 服务

HRESULT hr = 0;
IBackgroundCopyJob* pJob = NULL;
WCHAR* pszDescription = NULL;

//Call fails because the third parameter is NULL.
hr = g_XferManager->CreateJob(L"DummyJob", BG_JOB_TYPE_DOWNLOAD, NULL, &pJob);
if (FAILED(hr))
{
  hr = g_XferManager->GetErrorDescription(hr, LANGIDFROMLCID(GetThreadLocale()), &pszDescription);
  if (SUCCEEDED(hr))
  {
    //Do something with pszDescription.
    CoTaskMemFree(pszDescription);
  }
}

要求

要求
最低受支持的客户端 Windows XP
最低受支持的服务器 Windows Server 2003
目标平台 Windows
标头 bits.h
Library Bits.lib
DLL QmgrPrxy.dll

另请参阅

处理错误

IBackgroundCopyError

IBackgroundCopyJob::GetError