Condividi tramite


Metodo ITaskScheduler::NewWorkItem (mstask.h)

[[Questa API può essere modificata o non disponibile nelle versioni successive del sistema operativo o del prodotto. Usare invece le interfacce dell'Utilità di pianificazione 2.0 . ]

Il metodo NewWorkItem crea un nuovo elemento di lavoro, allocando lo spazio per l'elemento di lavoro e recuperandone l'indirizzo.

Sintassi

HRESULT NewWorkItem(
  [in]  LPCWSTR  pwszTaskName,
  [in]  REFCLSID rclsid,
  [in]  REFIID   riid,
  [out] IUnknown **ppUnk
);

Parametri

[in] pwszTaskName

Stringa con terminazione Null che specifica il nome del nuovo elemento di lavoro. Questo nome deve essere conforme alle convenzioni di denominazione dei file di Windows NT, ma non può includere barre rovesciata perché l'annidamento all'interno dell'oggetto cartella attività non è consentito.

[in] rclsid

Identificatore di classe dell'elemento di lavoro da creare. L'unica classe supportata in questo momento, la classe task, ha l'identificatore CLSID_Ctask.

[in] riid

Identificatore di riferimento dell'interfaccia richiesta. L'unica interfaccia supportata in questo momento, ITask, ha l'identificatore IID_ITask.

[out] ppUnk

Puntatore a un puntatore di interfaccia che riceve l'interfaccia richiesta. Per informazioni sul salvataggio dell'elemento di lavoro su disco, vedere la sezione Note.

Valore restituito

Il metodo NewWorkItem restituisce uno dei valori seguenti.

Codice restituito Descrizione
S_OK
L'operazione è stata completata.
ERROR_FILE_EXISTS
Esiste già un elemento di lavoro con il nome specificato. Il valore restituito effettivo è HRESULT_FROM_WIN32 (ERROR_FILE_EXISTS).
E_INVALIDARG
Uno o più argomenti non sono validi.
E_OUTOFMEMORY
Memoria insufficiente per completare l’operazione.
E_ACCESSDENIED
Il chiamante non dispone dell'autorizzazione per eseguire l'operazione. Per altre informazioni, vedere Elementi di lavoro pianificati.

Commenti

Questo metodo gestisce automaticamente l'allocazione di memoria durante la creazione del nuovo elemento di lavoro.

Per salvare l'elemento di lavoro su disco, chiamare IPersistFile::Save . Questa interfaccia COM è supportata da tutte le interfacce degli elementi di lavoro (attualmente ITask è l'unica interfaccia supportata per gli elementi di lavoro).

L'utilità di pianificazione delle attività fornisce due metodi per l'aggiunta di elementi di lavoro: NewWorkItem e AddWorkItem. Di questi metodi, ognuno ha il suo vantaggio specifico. AddWorkItem impedisce conflitti di denominazione, ma richiede anche due operazioni di scrittura su disco per chiamata. Un'operazione di scrittura viene eseguita quando la chiamata a AddWorkItem crea un oggetto elemento di lavoro vuoto sul disco, seguito da un'altra operazione di scrittura quando viene chiamato IPersistFile::Save .

È possibile creare un'attività chiamando AddWorkItem o NewWorkItem. Quando si usa AddWorkItem, è responsabilità dell'utente creare un'istanza dell'oggetto Task (che supporta l'interfaccia ITask ) e quindi aggiungere l'attività con il nome specificato.

NewWorkItem non impedisce conflitti di denominazione, ma richiede una sola operazione di scrittura su disco quando viene chiamato IPersistFile::Save . Anche se NewWorkItem è più efficiente rispetto alle operazioni di scrittura su disco, l'applicazione rischia di creare un altro elemento di lavoro con lo stesso nome prima che venga eseguita la chiamata a IPersistFile::Save .

Per un esempio completo di Vedere
Creazione di una nuova attività Creazione di un'attività tramite l'esempio NewWorkItem

Requisiti

Requisito Valore
Client minimo supportato Windows 2000 Professional [solo app desktop]
Server minimo supportato Windows 2000 Server [solo app desktop]
Piattaforma di destinazione Windows
Intestazione mstask.h
Libreria Mstask.lib
DLL Mstask.dll
Componente ridistribuibile Internet Explorer 4.0 o versione successiva in Windows NT 4.0 e Windows 95

Vedi anche

IPersistFile::Save

Itask

ITaskScheduler

ITaskScheduler::AddWorkItem