次の方法で共有


IAccessibleWindowlessSite::AcquireObjectIdRange メソッド (oleacc.h)

コントロール ホストからオブジェクト ID の範囲を取得し、特定のウィンドウレス コントロールによって予約済みとしてマークします。

構文

HRESULT AcquireObjectIdRange(
  [in]           long               rangeSize,
  [in, optional] IAccessibleHandler *pRangeOwner,
  [out]          long               *pRangeBase
);

パラメーター

[in] rangeSize

要求されているオブジェクト ID 範囲のサイズ。

[in, optional] pRangeOwner

範囲を要求しているウィンドウレス コントロール。

[out] pRangeBase

取得した範囲内の最初のオブジェクト ID。

戻り値

このメソッドは、成功すると S_OK を返します。 そうでない場合は、HRESULT エラー コードを返します。

注釈

別のウィンドウレス コントロールに属するオブジェクト ID を使用しないようにするには、 NotifyWinEvent 関数を呼び出す前に、コントロールがオブジェクト ID 範囲を取得する必要があります。 コントロールは、含まれているすべてのアクセス可能なオブジェクトに対して十分なオブジェクト ID を取得する必要があります。 たとえば、100 個の子を持つツリー コントロールでは、少なくとも 101 個のオブジェクト ID、ルート用に 1 つ、子ごとに 1 つを予約します。 拡大が予想されるツリー コントロールは、予想どおりの数のオブジェクト ID を予約します。 ツリー コントロールが数百人の子によって成長すると予想される場合は、安全であるために 1000 個の ID の範囲が予約されます。

Microsoft ActiveX コントロールを含むウィンドウで、予約範囲内の LPARAM 値 (オブジェクト ID) を含むWM_GETOBJECT メッセージを受信すると、IAccessibleHandler::AccessibleObjectFromID メソッドを呼び出して、そのオブジェクト ID の IAccessible オブジェクトを取得する必要があります。

要件

要件
サポートされている最小のクライアント Windows 8 [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2012 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー oleacc.h
Library Oleacc.lib
[DLL] Oleacc.dll

こちらもご覧ください

IAccessibleWindowlessSite

IAccessibleWindowlessSite::ReleaseObjectIdRange