Uso de servicios COM+ a través de CoCreateActivity
La función CoCreateActivity se usa para enviar el trabajo por lotes al sistema COM+. Permite que las aplicaciones basadas en scripts admitan una configuración de servicio COM+ para toda la aplicación.
Los servicios COM+ deseados se configuran a través de un objeto CServiceConfig que se pasa a la función. La función crea un objeto de actividad y devuelve la interfaz IServiceActivity de ese objeto. El trabajo por lotes se puede enviar de forma sincrónica o asincrónica mediante los métodos SynchronousCalloSyncCall de IServiceActivity, respectivamente. Un puntero a una interfaz IServiceCall se pasa a cada uno de estos métodos y el desarrollador implementa el trabajo por lotes en el método OnCall de la interfaz IServiceCall .
Herramienta administrativa servicios de componentes
No corresponde.
Visual Basic
No corresponde.
C/C++
En el fragmento de código siguiente se muestra cómo usar servicios COM+ a través de CoCreateActivity. Con el fin de ser breves se omite el control de errores. Este fragmento de código usa el objeto CServiceConfig que se creó y configuró en Configuración de servicios COM+ con CServiceConfig.
// A CServiceConfig object was created as follows:
// hr = CoCreateInstance(CLSID_CServiceConfig, NULL, CLSCTX_INPROC_SERVER,
// IID_IUnknown, (void**)&pUnknownCSC);
// Create the activity for our services.
HRESULT hr = CoCreateActivity(pUnknownCSC, IID_IServiceActivity, (void**)&pActivity);
if (FAILED(hr)) throw(hr);
// Do the batch work synchronously.
// The batch work is implemented in pServiceCall->OnCall().
hr = pActivity->SynchronousCall(pServiceCall);
if (FAILED(hr)) throw(hr);
Temas relacionados