ITaskFolder::RegisterTaskDefinition メソッド (taskschd.h)
ITaskDefinition インターフェイスを使用してタスクを定義し、指定した場所にタスクを登録 (作成) します。
構文
HRESULT RegisterTaskDefinition(
[in] BSTR path,
[in] ITaskDefinition *pDefinition,
[in] LONG flags,
[in] VARIANT userId,
[in] VARIANT password,
[in] TASK_LOGON_TYPE logonType,
[in, optional] VARIANT sddl,
[out] IRegisteredTask **ppTask
);
パラメーター
[in] path
タスクの名前です。 この値が NULL の場合、タスクはルート タスク フォルダーに登録され、タスク名はタスク スケジューラ サービスによって作成された GUID 値になります。
タスク名の先頭または末尾を空白文字にすることはできません。 '.' 文字を使用して、現在のタスク フォルダーと '..' を指定することはできません。 文字を使用して、パス内の親タスク フォルダーを指定することはできません。
[in] pDefinition
登録済みタスクの定義。
[in] flags
[in] userId
タスクの登録に使用されるユーザー資格情報。 存在する場合、これらの資格情報は 、pDefinition パラメーターによって指されるタスク定義オブジェクトで指定された資格情報よりも優先されます。
[in] password
タスクの登録に使用する userId のパスワード。 TASK_LOGON_SERVICE_ACCOUNTログオンの種類を使用する場合、パスワードは、VT_NULLやVT_EMPTYなどの空の VARIANT 値である必要があります。
[in] logonType
登録されたタスクを実行するために使用されるログオン手法を定義します。
[in, optional] sddl
登録されたタスクに関連付けられているセキュリティ記述子。 特定のユーザーとグループがタスクへのアクセスを許可または拒否するために、タスクのセキュリティ記述子でアクセス制御リスト (ACL) を指定できます。
[out] ppTask
新しいタスクを表す IRegisteredTask インターフェイス。
NULLIRegisteredTask インターフェイス ポインターへの参照を渡します。 NULL 以外のポインターを参照すると、ポインターが上書きされるため、メモリ リークが発生する可能性があります。
戻り値
このメソッドは、これらの値のいずれかを返すことができます。
リターン コード/値 | 説明 |
---|---|
|
操作は正常に完了しました。 |
|
タスク スケジューラ サービスに接続するためにアクセスが拒否されました。 |
|
アプリケーションに操作を完了するための十分なメモリがないか、 ユーザー または パスワード に少なくとも 1 つの null 値と 1 つの null 以外の値があります。 |
|
タスクは登録されていますが、開始に失敗する可能性があります。 タスク プリンシパルに対してバッチ ログオン特権を有効にする必要があります。 |
|
タスクは登録されますが、指定されたすべてのトリガーでタスクが開始されるわけではありません。 |
注釈
メッセージ ボックス アクションを含むタスクの場合、タスクがアクティブ化され、タスクに対話型ログオンの種類がある場合、メッセージ ボックスが表示されます。 タスクのログオンの種類を対話型に設定するには、タスク プリンシパルの LogonTypeプロパティ、またはITaskFolder::RegisterTask または ITaskFolder::RegisterTaskDefinition の logonType パラメーターで、TASK_LOGON_INTERACTIVE_TOKENまたはTASK_LOGON_GROUPを指定します。
Administrators グループのメンバーのみが、ブート トリガーを使用してタスクを作成できます。
userId パラメーターで指定されたグループにタスクを正常に登録し、ITaskFolder::RegisterTask または ITaskFolder::RegisterTaskDefinition の logonType パラメーターで指定したTASK_LOGON_INTERACTIVE_TOKENできますが、タスクは実行されません。
TASK_VALIDATE_ONLYとTASK_IGNORE_REGISTRATION_TRIGGERSの値を flags パラメーターに渡すことは無効な引数です。
ITaskFolder::RegisterTaskDefinition メソッドは、ユーザー パラメーターが NULL、パスワード パラメーターが NULL、logonType パラメーターが TASK_LOGON_SERVICE_ACCOUNT と等しいシステム アカウントによって呼び出されると、エラー 80070534を返します。
タスクの NetworkSettings 設定に存在しないネットワークがタスクで定義されている場合、タスクの登録時に ITaskFolder::RegisterTaskDefinition メソッドはエラー 0x8000ffffを返します。
要件
要件 | 値 |
---|---|
サポートされている最小のクライアント | Windows Vista [デスクトップ アプリのみ] |
サポートされている最小のサーバー | Windows Server 2008 [デスクトップ アプリのみ] |
対象プラットフォーム | Windows |
ヘッダー | taskschd.h |
Library | Taskschd.lib |
[DLL] | Taskschd.dll |
こちらもご覧ください
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示