Método ITransactionContextEx::CreateInstance (comsvcs.h)
Cria um objeto COM que pode ser executado dentro do escopo da transação iniciada pelo objeto de contexto de transação.
Sintaxe
HRESULT CreateInstance(
[in] REFCLSID rclsid,
[in] REFIID riid,
[out] void **pObject
);
Parâmetros
[in] rclsid
Uma referência ao CLSID do tipo de objeto a ser instanciado.
[in] riid
Uma referência à ID da interface por meio da qual você se comunicará com o novo objeto.
[out] pObject
Uma referência a um novo objeto do tipo especificado pelo parâmetro rclsid , por meio da interface especificada pelo parâmetro riid .
Valor retornado
Esse método pode retornar os valores retornados padrão E_INVALIDARG, E_OUTOFMEMORY, E_UNEXPECTED e E_FAIL, bem como os valores a seguir.
Código de retorno | Descrição |
---|---|
|
O método foi concluído com sucesso. |
|
O componente especificado por rclsid não está registrado como um componente COM. |
Comentários
Se o Coordenador de Transações Distribuídas da Microsoft não estiver em execução e o objeto for transacional, o objeto será criado com êxito. No entanto, as chamadas de método para esse objeto falharão com CONTEXT_E_TMNOTAVAILABLE. Os objetos não podem se recuperar dessa condição e devem ser liberados.
Exemplos
ITransactionContextEx* pTransactionContext = NULL;
IMyObject* pMyObject = NULL;
HRESULT hr;
// Get TransactionContextEx.
hr = CoCreateInstance(CLSID_TransactionContextEx,
NULL, CLSCTX_INPROC, IID_ITransactionContextEx,
(void**)&pTransactionContext);
if (FAILED(hr)) throw(hr);
// Create an instance of MyObject.
hr = pTransactionContext->CreateInstance(CLSID_CMyObject,
IID_IMyObject, (void**)&pMyObject);
if (FAILED(hr)) throw(hr);
Requisitos
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 |