次の方法で共有


IAccessible::get_accDescription メソッド (oleacc.h)

IAccessible::get_accDescription メソッドは、指定したオブジェクトの視覚的な外観を表す文字列を取得します。 説明が用意されていないオブジェクトもあります。

メモDescription プロパティは誤って使用されることが多く、Microsoft UI オートメーションではサポートされていません。 Microsoft Active Accessibility サーバー開発者は、このプロパティを使用しないでください。 アクセシビリティと自動化のシナリオに関する詳細情報が必要な場合は、UI オートメーション要素とコントロール パターンでサポートされているプロパティを使用します。
 

構文

HRESULT get_accDescription(
  [in]          VARIANT varChild,
  [out, retval] BSTR    *pszDescription
);

パラメーター

[in] varChild

型: VARIANT

取得した説明がオブジェクトに属するか、オブジェクトの子要素のいずれかに属するかを指定します。 このパラメーターは、CHILDID_SELF (オブジェクトに関する情報を取得する場合) または子 ID (オブジェクトの子要素に関する情報を取得する場合) のいずれかです。 VARIANT 構造体の初期化の詳細については、「子 ID をパラメーターで使用する方法」を参照してください。

[out, retval] pszDescription

種類: BSTR*

指定したオブジェクトを記述するローカライズされた文字列を受け取る BSTR のアドレス。このオブジェクトに説明がない場合は NULL

戻り値

種類: HRESULT

成功した場合は、S_OK を返します。

成功しなかった場合は、次のテーブルの値の 1 つ、または別の標準 COM エラー コードを返します。 サーバーはこれらの値を返しますが、クライアントは常に出力パラメーターをチェックして、有効な値が含まれていることを確認する必要があります。 詳細については、「 IAccessible 戻り値の確認」を参照してください。

リターン コード 説明
S_FALSE
指定されたオブジェクトには説明がありません。
E_INVALIDARG
引数が有効ではありません。
DISP_E_MEMBERNOTFOUND
指定したオブジェクトは、このプロパティをサポートしていません。

注釈

Microsoft Active Accessibility サーバーでは、直接注釈を使用するか、IAccessibleEx インターフェイスを使用するか、Microsoft Active Accessibility を実装し、WM_GETOBJECT メッセージを処理する両方の実装と並べてUI オートメーションすることで、UI オートメーションのサポート追加できます。

このプロパティは、ユーザーの オブジェクトに相当するテキストを提供します。 説明は、HTML の Alt 属性で指定されたテキストに似ている必要があります。これは、テキストのみのブラウザーを使用しているユーザーの画像を記述するために表示されるテキストです。 ただし、一部のコントロールでは、このプロパティを使用して、テキストに相当するコントロールに関連しないコントロールに関する追加情報を格納します。 このプロパティの詳細については、「 Description プロパティ」を参照してください。

サーバー開発者への注意: このプロパティから返される文字列をローカライズします。

サーバーの例

次のコード例は、独自の子要素を保持するカスタム リスト ボックスに対して、このメソッドの 1 つの実装が可能であることを示しています。 この例では 構文を示していますが、実際のテキストのみのリスト ボックスでは、このプロパティをサポートする必要はないでしょう。 わかりやすくするために、この例の文字列はローカライズされません。

HRESULT STDMETHODCALLTYPE AccServer::get_accDescription( 
    VARIANT varChild,
    BSTR *pszDescription)
{
    if (varChild.vt != VT_I4)
    {
        *pszDescription = NULL;
        return E_INVALIDARG;
    }
    if (varChild.lVal == CHILDID_SELF)
    {
        *pszDescription = SysAllocString(L"List of contacts.");    
            
    }
    else
    {
        *pszDescription = SysAllocString(L"A contact.");           
            
    }
    return S_OK;
};

クライアントの例

次の関数例では、指定したアクセシビリティ対応オブジェクトまたは子要素の説明を取得し、コンソールに表示します。

HRESULT PrintDescription(IAccessible* pAcc, long child)
{
    VARIANT varObject;
    varObject.vt = VT_I4;
    varObject.lVal = child;
    BSTR bstrDesc;
    HRESULT hr = pAcc->get_accDescription(varObject, &bstrDesc);
    if (hr == S_OK)
    {
        printf("Description: %S\n", bstrDesc);
        SysFreeString(bstrDesc);
    }
    return hr;
}

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2003 (デスクトップ アプリのみ)
対象プラットフォーム Windows
ヘッダー oleacc.h
Library Oleacc.lib
[DLL] Oleacc.dll
再頒布可能パッケージ SP6 以降および Windows 95 を使用した Windows NT 4.0 の Active Accessibility 1.3 RDK

関連項目

概念

Description プロパティ

Iaccessible

IAccessible::get_accHelp

IAccessible::get_accName

IAccessible::get_accValue

リファレンス

直接注釈の使用