次の方法で共有


CreateStdAccessibleProxyA 関数 (oleacc.h)

システム指定のユーザー インターフェイス要素の指定したクラスのプロパティとメソッドを持つ、アクセス可能なオブジェクトを作成します。

構文

HRESULT CreateStdAccessibleProxyA(
  [in]  HWND   hwnd,
  [in]  LPCSTR pClassName,
  [in]  LONG   idObject,
  [in]  REFIID riid,
  [out] void   **ppvObject
);

パラメーター

[in] hwnd

型: HWND

アクセス可能なオブジェクトが作成されるシステム提供のユーザー インターフェイス要素 (コントロール) のウィンドウ ハンドル。

[in] pClassName

型: LPCTSTR

アクセス可能なオブジェクトが作成されるシステム提供のユーザー インターフェイス要素のクラス名の null で終わる文字列へのポインター。 ウィンドウ クラス名は、一般的なコントロール (Comctl32.dllで定義)、定義済みのコントロール (User32.dllで定義)、またはウィンドウ要素の 1 つです。

[in] idObject

型: long

オブジェクト ID。 通常、この値は OBJID_CLIENTです。これはオブジェクト識別子定数の 1 つですが、別のオブジェクト識別子である可能性があります。

[in] riid

型: REFIID

要求されたインターフェイスの参照識別子。 この値は、IID_IAccessible、IID_IDispatch、IID_IEnumVARIANT、またはIID_IUnknownのいずれかです。

[out] ppvObject

型: void**

指定したインターフェイスのアドレスを受け取るポインター変数のアドレス。

戻り値

型: STDAPI

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

成功しなかった場合は、標準 COM エラー コードを返します。

備考

サーバー アプリケーションは、システム提供のコントロールに似たカスタム コントロールが含まれている場合に、この関数を呼び出します。 サーバー アプリケーションは、CreateStdAccessibleProxy 呼び出して、カスタム コントロールに一致させるために必要に応じて、IAccessible のメソッドとプロパティをオーバーライドできます。 または、サーバー開発者は、動的注釈を使用して、CreateStdAccessibleProxyで必要だった困難なサブクラス化手法 使用することなく、特定のプロパティをオーバーライドできます。 サーバー開発者は、子要素 非表示にしたり、プレースホルダーの子要素を作成したりするなど、構造的な変更のために CreateStdAccessibleProxy を引き続き使用する必要があります。 この方法により、サーバー開発者は、IAccessible のプロパティとメソッドをすべて完全に実装する作業が節約されます。

この関数は CreateStdAccessibleObjectに似ていますが、CreateStdAccessibleObject は常に hwnd に関連付けられているクラス名を使用しますが、CreateStdAccessibleProxy では、クラス名をパラメーターとして指定できます。

CreateStdAccessibleProxy 使用して、スーパークラス化されたユーザー インターフェイス要素のアクセス可能なオブジェクトを作成します。 ユーザー インターフェイス要素がスーパークラス化されると、アプリケーションは、基になる定義済みのコントロールとは異なるウィンドウ クラス名を持つカスタム コントロールを作成します。 hwnd パラメーターに関連付けられているクラス名はスーパークラス ウィンドウ クラス名であるため、pszClassNameで基底クラス名 (スーパークラス コントロールの基になっているシステム クラス名) 指定します。

手記

oleacc.h ヘッダーは、Unicode プリプロセッサ定数の定義に基づいて、この関数の ANSI または Unicode バージョンを自動的に選択するエイリアスとして CreateStdAccessibleProxy を定義します。 エンコードに依存しないエイリアスをエンコードに依存しないコードと組み合わせて使用すると、コンパイルエラーやランタイム エラーが発生する不一致が発生する可能性があります。 詳細については、「関数プロトタイプの 規則」を参照してください。

必要条件

要件 価値
サポートされる最小クライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされる最小サーバー Windows Server 2003 [デスクトップ アプリのみ]
ターゲット プラットフォーム の ウィンドウズ
ヘッダー oleacc.h
ライブラリ Oleacc.lib
DLL Oleacc.dll
再頒布可能パッケージの Windows NT 4.0 SP6 以降および Windows 95 の Active Accessibility 1.3 RDK

関連項目

付録 A: サポートされているユーザー インターフェイス要素リファレンス

CreateStdAccessibleObject の

IDispatch の

カスタム ユーザー インターフェイス要素を公開するための ショートカット