Función CoCreateActivity (comsvcs.h)
Crea una actividad para realizar trabajo por lotes sincrónico y asincrónico que pueda utilizar los servicios COM+ sin necesidad de crear un componente COM+.
Sintaxis
HRESULT CoCreateActivity(
[in] IUnknown *pIUnknown,
[in] REFIID riid,
[out] void **ppObj
);
Parámetros
[in] pIUnknown
Puntero a la interfaz IUnknown del objeto, creado a partir de la clase CServiceConfig , que contiene la información de configuración de los servicios que se van a usar dentro de la actividad creada por CoCreateActivity.
[in] riid
Identificador de la interfaz que se va a devolver a través del parámetro ppObj . Este parámetro siempre debe ser IID_IServiceActivity para que se devuelva un puntero a IServiceActivity .
[out] ppObj
Puntero a la interfaz de un objeto de actividad. La llamada a CoCreateActivity crea automáticamente el objeto de actividad.
Valor devuelto
Este método puede devolver los valores devueltos estándar E_INVALIDARG, E_OUTOFMEMORY y E_FAIL, así como los valores siguientes.
Código devuelto | Descripción |
---|---|
|
El método se completó correctamente. |
|
La configuración de ensamblado en paralelo del objeto CServiceConfig no es válida. |
|
La configuración del grupo de subprocesos del objeto CServiceConfig no es válida. |
|
La configuración de seguimiento del objeto CServiceConfig no es válida. |
|
El autor de la llamada no tiene permisos de acceso para la partición COM+. |
Comentarios
CoCreateActivity crea un objeto de actividad que se usa para enviar el trabajo por lotes al sistema COM+. El contexto asociado a la actividad viene determinado por completo por el objeto CServiceConfig que se pasa a través del parámetro pIUnknown .
CoCreateActivity permite a las aplicaciones usar servicios COM+ en su trabajo por lotes sin necesidad de crear un componente para usar esos servicios. Además de reducir la sobrecarga al no requerir la creación de un componente, el uso de CoCreateActivity proporciona un entorno en tiempo de ejecución más eficaz, ya que permite que el entorno admita la configuración del servicio en toda la aplicación sin necesidad de tener acceso a la información almacenada en la base de datos de registro COM+ (RegDB).
El trabajo por lotes que se envía a través de CoCreateActivity puede ser sincrónico o asincrónico y puede ejecutarse en un apartamento de un solo subproceso (STA) o en el apartamento multiproceso (MTA). El modelo de subprocesos que se usa viene determinado por la interfaz IServiceThreadPoolConfig del objeto CServiceConfig que se pasa a través del parámetro pIUnknown .
CoCreateActivity devuelve un puntero a la interfaz IServiceActivity del objeto creado por la llamada a CoCreateActivity. Mediante el uso de los métodos de IServiceActivity, se determina si el trabajo por lotes se realiza de forma sincrónica o asincrónica. El propio trabajo por lotes se implementa a través de la interfaz IServiceCall .
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows XP [solo aplicaciones de escritorio] |
Servidor mínimo compatible | Windows Server 2003 [solo aplicaciones de escritorio] |
Plataforma de destino | Windows |
Encabezado | comsvcs.h |
Library | ComSvcs.lib |
Archivo DLL | ComSvcs.dll |