Compartilhar via


Método ObjectContext::CreateInstance (comsvcs.h)

Cria um objeto usando o contexto do objeto atual.

O objeto terá contexto somente se seu componente for registrado com COM+.

Sintaxe

HRESULT CreateInstance(
  [in]  BSTR    bstrProgID,
  [out] VARIANT *pObject
);

Parâmetros

[in] bstrProgID

O ProgID do tipo de objeto a ser instanciado.

[out] pObject

Uma referência ao novo objeto .

Retornar valor

Esse método pode retornar os valores de retorno padrão E_INVALIDARG, E_OUTOFMEMORY e E_FAIL, bem como os valores a seguir.

Código de retorno Descrição
S_OK
O método foi concluído com sucesso.
E_UNEXPECTED
Erro inesperado. Isso pode acontecer se um objeto passar seu ponteiro ObjectContext para outro objeto e o outro objeto chamar CreateInstance usando esse ponteiro. Um ponteiro ObjectContext não é válido fora do contexto do objeto que o obteve originalmente.

Comentários

Quando você cria um objeto usando CreateInstance, o contexto do novo objeto é derivado de ObjectContext do objeto atual e das propriedades declarativas do componente do novo objeto. O novo objeto sempre é executado dentro da mesma atividade que o objeto que o criou. Se o objeto atual tiver uma transação, o atributo de transação do componente do novo objeto determinará se o novo objeto é executado dentro do escopo dessa transação.

Se a configuração do atributo de transação do componente exigir uma transação ou oferecer suporte a transações, o novo objeto herdará a transação do criador. Se o atributo de transação do componente exigir uma nova transação, COM+ iniciará uma nova transação para o novo objeto. Se o atributo de transação do componente não der suporte a transações, o novo objeto não será executado em nenhuma transação.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho comsvcs.h

Confira também

Objectcontext