ITaskScheduler::AddWorkItem メソッド (mstask.h)

[[この API は、以降のバージョンのオペレーティング システムまたは製品で変更または使用できない場合があります。 代わりに タスク スケジューラ 2.0 インターフェイス を使用してください。] ]

AddWorkItem メソッドは、タスクのスケジュールにタスクを追加します。

構文

HRESULT AddWorkItem(
  [in] LPCWSTR            pwszTaskName,
  [in] IScheduledWorkItem *pWorkItem
);

パラメーター

[in] pwszTaskName

追加するタスクの名前を指定する null で終わる文字列。 タスク名はWindows NTファイルの名前付け規則に準拠している必要がありますが、タスク フォルダー オブジェクト内での入れ子は許可されていないため、円記号を含めることはできません。

[in] pWorkItem

スケジュールに追加するタスクへのポインター。

戻り値

AddWorkItem メソッドは、次のいずれかの値を返します。

リターン コード 説明
S_OK
操作に成功しました。
ERROR_FILE_EXISTS
指定した名前のタスクは既に存在します。 実際の戻り値は HRESULT_FROM_WIN32(ERROR_FILE_EXISTS) です。
E_INVALIDARG
1 つ以上の引数が無効です。
E_OUTOFMEMORY
メモリ不足のため、操作を完了できません。

注釈

タスク スケジューラには、作業項目を追加するための 2 つのメソッド ( NewWorkItem と AddWorkItem ) 用意されています。 これらの方法のうち、それぞれ固有の利点があります。 AddWorkItem は名前の競合を防ぎますが、呼び出しごとに 2 つのディスク書き込み操作も必要です。 AddWorkItem の呼び出しでディスク上に空の作業項目オブジェクトが作成され、IPersistFile::Save が呼び出されたときに別の書き込み操作が実行されます。

NewWorkItem は名前の競合を防ぐものではありませんが、 IPersistFile::Save が呼び出されたときに必要なディスク書き込み操作は 1 つだけです。 NewWorkItem はディスク書き込み操作の方が効率的ですが、IPersistFile::Save の呼び出しが行われる前に、別のアプリケーションで同じ名前の作業項目を作成するリスクがあります。

要件

要件
サポートされている最小のクライアント Windows 2000 Professional [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows 2000 Server [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー mstask.h
Library Mstask.lib
[DLL] Mstask.dll
再頒布可能パッケージ Windows NT 4.0 および Windows 95 のインターネット エクスプローラー 4.0 以降

こちらもご覧ください

IScheduledWorkItem

ITaskScheduler

ITaskScheduler::NewWorkItem