Funzione CoCreateActivity (comsvcs.h)
Crea un'attività per eseguire operazioni batch sincrone e asincrone che possono utilizzare i servizi COM+ senza che sia necessario creare un componente COM+.
Sintassi
HRESULT CoCreateActivity(
[in] IUnknown *pIUnknown,
[in] REFIID riid,
[out] void **ppObj
);
Parametri
[in] pIUnknown
Puntatore all'interfaccia IUnknown dell'oggetto, creata dalla classe CServiceConfig , che contiene le informazioni di configurazione per i servizi da usare all'interno dell'attività creata da CoCreateActivity.
[in] riid
ID dell'interfaccia da restituire tramite il parametro ppObj . Questo parametro deve essere sempre IID_IServiceActivity in modo che venga restituito un puntatore a IServiceActivity .
[out] ppObj
Puntatore all'interfaccia di un oggetto activity. L'oggetto activity viene creato automaticamente dalla chiamata a CoCreateActivity.
Valore restituito
Questo metodo può restituire i valori restituiti standard E_INVALIDARG, E_OUTOFMEMORY e E_FAIL, nonché i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Metodo completato correttamente. |
|
La configurazione dell'assembly side-by-side dell'oggetto CServiceConfig non è valida. |
|
La configurazione del pool di thread dell'oggetto CServiceConfig non è valida. |
|
La configurazione del tracker dell'oggetto CServiceConfig non è valida. |
|
Il chiamante non dispone delle autorizzazioni di accesso per la partizione COM+. |
Commenti
CoCreateActivity crea un oggetto attività usato per inviare il lavoro batch al sistema COM+. Il contesto associato all'attività è completamente determinato dall'oggetto CServiceConfig passato tramite il parametro pIUnknown .
CoCreateActivity consente alle applicazioni di usare i servizi COM+ nel proprio batch senza dover creare un componente per usare tali servizi. Oltre a ridurre il sovraccarico non richiedendo la creazione di un componente, l'uso di CoCreateActivity fornisce un ambiente di runtime più efficiente perché consente all'ambiente di supportare la configurazione del servizio a livello di applicazione senza dover accedere alle informazioni archiviate nel database di registrazione COM+ (RegDB).
Il lavoro batch inviato tramite CoCreateActivity può essere sincrono o asincrono e può essere eseguito in un appartamento a thread singolo (STA) o nell'appartamento multithreaded (MTA). Il modello di threading usato viene determinato dall'interfaccia IServiceThreadPoolConfig dell'oggetto CServiceConfig passato tramite il parametro pIUnknown .
CoCreateActivity restituisce un puntatore all'interfaccia IServiceActivity dell'oggetto creato dalla chiamata a CoCreateActivity. Usando i metodi di IServiceActivity, si determina se il lavoro batch viene eseguito in modo sincrono o asincrono. Il lavoro batch stesso viene implementato tramite l'interfaccia IServiceCall .
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows XP [solo app desktop] |
Server minimo supportato | Windows Server 2003 [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | comsvcs.h |
Libreria | ComSvcs.lib |
DLL | ComSvcs.dll |