CoCreateActivity-Funktion (comsvcs.h)
Erstellt eine Aktivität für die synchrone oder asynchrone Batchverarbeitung, die COM+-Dienste verwenden kann, ohne dass eine COM+-Komponente erstellt werden muss.
Syntax
HRESULT CoCreateActivity(
[in] IUnknown *pIUnknown,
[in] REFIID riid,
[out] void **ppObj
);
Parameter
[in] pIUnknown
Ein Zeiger auf die IUnknown-Schnittstelle des Objekts, das aus der CServiceConfig-Klasse erstellt wurde und die Konfigurationsinformationen für die Dienste enthält, die innerhalb der von CoCreateActivity erstellten Aktivität verwendet werden sollen.
[in] riid
Die ID der Schnittstelle, die über den ppObj-Parameter zurückgegeben werden soll. Dieser Parameter sollte immer IID_IServiceActivity werden, damit ein Zeiger auf IServiceActivity zurückgegeben wird.
[out] ppObj
Ein Zeiger auf die Schnittstelle eines Aktivitätsobjekts. Das Aktivitätsobjekt wird automatisch durch den Aufruf von CoCreateActivity erstellt.
Rückgabewert
Diese Methode kann die Standardrückgabewerte E_INVALIDARG, E_OUTOFMEMORY und E_FAIL sowie die folgenden Werte zurückgeben.
Rückgabecode | BESCHREIBUNG |
---|---|
|
Die Methode wurde erfolgreich abgeschlossen. |
|
Die parallele Assemblykonfiguration des CServiceConfig-Objekts ist ungültig. |
|
Die Threadpoolkonfiguration des CServiceConfig-Objekts ist ungültig. |
|
Die Trackerkonfiguration des CServiceConfig-Objekts ist ungültig. |
|
Der Aufrufer verfügt nicht über Zugriffsberechtigungen für die COM+-Partition. |
Hinweise
CoCreateActivity erstellt ein Aktivitätsobjekt, das verwendet wird, um Batcharbeit an das COM+-System zu übermitteln. Der der Aktivität zugeordnete Kontext wird vollständig durch das CServiceConfig-Objekt bestimmt, das über den pIUnknown-Parameter übergeben wird.
Mit CoCreateActivity können Anwendungen COM+-Dienste in ihren Batchvorgängen verwenden, ohne eine Komponente erstellen zu müssen, um diese Dienste zu verwenden. Zusätzlich zum Reduzieren des Mehraufwands, da die Erstellung einer Komponente nicht erforderlich ist, bietet die Verwendung von CoCreateActivity eine effizientere Laufzeitumgebung, da die Umgebung die anwendungsweite Dienstkonfiguration unterstützen kann, ohne auf Informationen zugreifen zu müssen, die in der COM+-Registrierungsdatenbank (RegDB) gespeichert sind.
Die Batcharbeit, die über CoCreateActivity übermittelt wird, kann entweder synchron oder asynchron sein und kann entweder in einem Singlethreaded Apartment (STA) oder im Multithreaded Apartment (MTA) ausgeführt werden. Das verwendete Threadingmodell wird durch die IServiceThreadPoolConfig-Schnittstelle des CServiceConfig-Objekts bestimmt, das über den pIUnknown-Parameter übergeben wird.
CoCreateActivity gibt einen Zeiger auf die IServiceActivity-Schnittstelle des Objekts zurück, das durch den Aufruf von CoCreateActivity erstellt wird. Mithilfe der Methoden von IServiceActivity bestimmen Sie, ob die Batcharbeit synchron oder asynchron erfolgt. Die Batcharbeit selbst wird über die IServiceCall-Schnittstelle implementiert.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows XP [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2003 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | comsvcs.h |
Bibliothek | ComSvcs.lib |
DLL | ComSvcs.dll |