Поделиться через


Функция 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) или элементов окна.

[in] idObject

Тип: LONG

Идентификатор объекта. Обычно это значение OBJID_CLIENT, которое является одной из констант идентификатора объекта, но может быть другим идентификатором объекта.

[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 определяет CreateStdAccessibleProxy как псевдоним, который автоматически выбирает версию ANSI или Юникод этой функции на основе определения константы препроцессора ЮНИКОДа. Сочетание использования псевдонима, нейтрального для кодирования, с кодом, не зависящим от кодирования, может привести к несоответствиям, которые приводят к ошибкам компиляции или среды выполнения. Дополнительные сведения см. в соглашениях о прототипах функций.

Требования

Требование Ценность
минимальные поддерживаемые клиентские Windows 2000 Профессиональный [только классические приложения]
минимальный поддерживаемый сервер Windows Server 2003 [только классические приложения]
целевая платформа Виндоус
заголовка oleacc.h
библиотеки Oleacc.lib
DLL Oleacc.dll
распространяемый Активные специальные возможности 1.3 RDK в Windows NT 4.0 с пакетом обновления 6 (SP6) и Windows 95

См. также

приложении A. Поддерживаемые ссылки на элементы пользовательского интерфейса

CreateStdAccessibleObject

IDispatch

сочетания клавиш для предоставления пользовательских элементов пользовательского интерфейса