Метод ObjectContext::CreateInstance (comsvcs.h)
Создает объект с использованием контекста текущего объекта.
Объект будет иметь контекст только в том случае, если его компонент зарегистрирован с помощью COM+.
Синтаксис
HRESULT CreateInstance(
[in] BSTR bstrProgID,
[out] VARIANT *pObject
);
Параметры
[in] bstrProgID
Идентификатор ProgID типа объекта, экземпляр которого создается.
[out] pObject
Ссылка на новый объект .
Возвращаемое значение
Этот метод может возвращать стандартные возвращаемые значения E_INVALIDARG, E_OUTOFMEMORY и E_FAIL, а также следующие значения.
Код возврата | Описание |
---|---|
|
Метод завершился успешно. |
|
Произошла непредвиденная ошибка. Это может произойти, если один объект передает указатель ObjectContext другому объекту, а другой объект вызывает CreateInstance с помощью этого указателя. Указатель ObjectContext недопустим вне контекста объекта, который его первоначально получил. |
Комментарии
При создании объекта с помощью CreateInstance контекст нового объекта является производным от ObjectContext текущего объекта и декларативных свойств компонента нового объекта. Новый объект всегда выполняется в том же действии, что и созданный объект. Если текущий объект имеет транзакцию, атрибут транзакции компонента нового объекта определяет, выполняется ли новый объект в область этой транзакции.
Если параметр атрибута транзакции компонента либо требует транзакции, либо поддерживает транзакции, новый объект наследует транзакцию своего создателя. Если атрибуту транзакции компонента требуется новая транзакция, COM+ инициирует новую транзакцию для нового объекта. Если атрибут транзакции компонента не поддерживает транзакции, новый объект не выполняется ни в одной транзакции.
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | comsvcs.h |