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
目标平台 窗户
标头 bits.h
Bits.lib
DLL QmgrPrxy.dll

另请参阅

处理错误

IBackgroundCopyError

IBackgroundCopyJob::GetError