次の方法で共有


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