Fonction CoCreateActivity (comsvcs.h)
Crée une activité, pour exécuter un travail en traitement par lots de type synchrone ou asynchrone, pouvant utiliser des services COM+ sans créer obligatoirement un composant COM+.
Syntaxe
HRESULT CoCreateActivity(
[in] IUnknown *pIUnknown,
[in] REFIID riid,
[out] void **ppObj
);
Paramètres
[in] pIUnknown
Pointeur vers l’interface IUnknown de l’objet, créé à partir de la classe CServiceConfig , qui contient les informations de configuration des services à utiliser dans l’activité créée par CoCreateActivity.
[in] riid
ID de l’interface à retourner via le paramètre ppObj . Ce paramètre doit toujours être IID_IServiceActivity afin qu’un pointeur vers IServiceActivity soit retourné.
[out] ppObj
Pointeur vers l’interface d’un objet d’activité. L’objet d’activité est créé automatiquement par l’appel à CoCreateActivity.
Valeur retournée
Cette méthode peut retourner les valeurs de retour standard E_INVALIDARG, E_OUTOFMEMORY et E_FAIL, ainsi que les valeurs suivantes.
Code de retour | Description |
---|---|
|
La commande s'est correctement terminée. |
|
La configuration de l’assembly côte à côte de l’objet CServiceConfig n’est pas valide. |
|
La configuration du pool de threads de l’objet CServiceConfig n’est pas valide. |
|
La configuration du suivi de l’objet CServiceConfig n’est pas valide. |
|
L’appelant ne dispose pas d’autorisations d’accès pour la partition COM+. |
Remarques
CoCreateActivity crée un objet d’activité qui est utilisé pour envoyer le travail par lots au système COM+. Le contexte associé à l’activité est entièrement déterminé par l’objet CServiceConfig transmis via le paramètre pIUnknown .
CoCreateActivity permet aux applications d’utiliser les services COM+ dans leur travail par lots sans avoir besoin de créer un composant pour utiliser ces services. En plus de réduire la surcharge en ne nécessitant pas la création d’un composant, l’utilisation de CoCreateActivity offre un environnement d’exécution plus efficace, car elle permet à l’environnement de prendre en charge la configuration du service à l’échelle de l’application sans avoir à accéder aux informations stockées dans la base de données d’inscription COM+ (RegDB).
Le travail par lot envoyé via CoCreateActivity peut être synchrone ou asynchrone et peut s’exécuter dans un appartement à thread unique (STA) ou dans l’appartement multithread (MTA). Le modèle de thread utilisé est déterminé par l’interface IServiceThreadPoolConfig de l’objet CServiceConfig transmis via le paramètre pIUnknown .
CoCreateActivity retourne un pointeur vers l’interface IServiceActivity de l’objet créé par l’appel à CoCreateActivity. En utilisant les méthodes d’IServiceActivity, vous déterminez si le travail par lots est effectué de manière synchrone ou asynchrone. Le travail par lots lui-même est implémenté via l’interface IServiceCall .
Configuration requise
Condition requise | Valeur |
---|---|
Client minimal pris en charge | Windows XP [applications de bureau uniquement] |
Serveur minimal pris en charge | Windows Server 2003 [applications de bureau uniquement] |
Plateforme cible | Windows |
En-tête | comsvcs.h |
Bibliothèque | ComSvcs.lib |
DLL | ComSvcs.dll |