Função CoCreateActivity (comsvcs.h)
Cria uma atividade para realizar trabalho em lote síncrono ou assíncrono e que possa usar serviços COM+ sem a necessidade de criar um componente COM+.
Sintaxe
HRESULT CoCreateActivity(
[in] IUnknown *pIUnknown,
[in] REFIID riid,
[out] void **ppObj
);
Parâmetros
[in] pIUnknown
Um ponteiro para a interface IUnknown do objeto, criado a partir da classe CServiceConfig , que contém as informações de configuração para os serviços a serem usados na atividade criada por CoCreateActivity.
[in] riid
A ID da interface a ser retornada por meio do parâmetro ppObj . Esse parâmetro sempre deve ser IID_IServiceActivity para que um ponteiro para IServiceActivity seja retornado.
[out] ppObj
Um ponteiro para a interface de um objeto de atividade. O objeto de atividade é criado automaticamente pela chamada para CoCreateActivity.
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 |
---|---|
|
O método foi concluído com sucesso. |
|
A configuração de assembly lado a lado do objeto CServiceConfig é inválida. |
|
A configuração do pool de threads do objeto CServiceConfig é inválida. |
|
A configuração do rastreador do objeto CServiceConfig é inválida. |
|
O chamador não tem permissões de acesso para a partição COM+. |
Comentários
CoCreateActivity cria um objeto de atividade usado para enviar trabalho em lote para o sistema COM+. O contexto associado à atividade é completamente determinado pelo objeto CServiceConfig que é passado pelo parâmetro pIUnknown .
O CoCreateActivity permite que os aplicativos usem serviços COM+ em seu trabalho em lote sem a necessidade de criar um componente para usar esses serviços. Além de reduzir a sobrecarga por não exigir a criação de um componente, o uso do CoCreateActivity fornece um ambiente de runtime mais eficiente, pois permite que o ambiente dê suporte à configuração de serviço em todo o aplicativo sem a necessidade de acessar informações armazenadas no RegDB (banco de dados de registro COM+).
O trabalho em lote enviado por meio de CoCreateActivity pode ser síncrono ou assíncrono e pode ser executado em um STA (apartamento de thread único) ou no MTA (multithreaded apartment). O modelo de threading usado é determinado pela interface IServiceThreadPoolConfig do objeto CServiceConfig que é passado pelo parâmetro pIUnknown .
CoCreateActivity retorna um ponteiro para a interface IServiceActivity do objeto criado pela chamada para CoCreateActivity. Usando os métodos de IServiceActivity, você determina se o trabalho em lote é feito de forma síncrona ou assíncrona. O trabalho em lote em si é implementado por meio da interface IServiceCall .
Requisitos
Requisito | Valor |
---|---|
Cliente mínimo com suporte | Windows XP [somente aplicativos da área de trabalho] |
Servidor mínimo com suporte | Windows Server 2003 [somente aplicativos da área de trabalho] |
Plataforma de Destino | Windows |
Cabeçalho | comsvcs.h |
Biblioteca | ComSvcs.lib |
DLL | ComSvcs.dll |