com_get_active_object

(PHP 5, PHP 7)

com_get_active_objectВернуть дескриптор на уже запущенный экземпляр объекта COM

Описание

com_get_active_object ( string $progid [, int $code_page ] ) : variant

com_get_active_object() - это то же самое, что и создание нового экземпляра объекта COM, за исключением того, что объект будет возвращен, если он уже запущен. Приложения OLE используют так называемую "Таблицу Запущенных Объектов" для возможности запускать приложения единожды. Эта функция представляет обертку над библиотечной COM-функцией GetActiveObject().

Список параметров

progid

progid должен быть или ProgID или CLSID объекта, к которомц вы хотите получить доступ (к примеру Word.Application).

code_page

Делает то же самое, что и в классеCOM.

Возвращаемые значения

Если запрошенный объект запущен, то он будет возвращен вашему скрипту как любой другой объект COM.

Ошибки

Есть множество причин, по которым эта функция может завершиться с ошибкой. Наиболее распространенная причина в том, что объект не запущен. В таком случае будет вызвано исключение MK_E_UNAVAILABLE; вы можете использовать метод getCode для проверки кода исключения.

Примечания

Внимание

Использование com_get_active_object() в контексте веб-сервере - это не самая умная идея. Большинство приложений COM/OLE спроектированы так, что не могут работать одновременно с несколькими пользователями, даже (или особенно) Microsoft Office. Больше полезной информации читайте в » Considerations for Server-Side Automation of Office.