IProvideTaskPage
COM公式ドキュメント
タスクのプロパティシートの設定にアクセスするためのメソッドを提供します。
解説(Remarks)
これはタスクオブジェクトの主要なインターフェイスです。タスクオブジェクトを作成するには、既存のタスクの場合は ITaskScheduler::Activateを、新しいタスクの場合は ITaskScheduler::NewWorkItemを呼び出します。
例
このインターフェイスの詳細情報とサンプルコードについては、C/C++ コード例: タスクページの取得を参照してください。
メソッド 1
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
このメソッドは、タスクオブジェクトに関連付けられた 1 つ以上のプロパティシートページを取得します。
| tpType | TASKPAGE | in | 返すページを指定する、次の TASKPAGE列挙値のいずれか。 TASKPAGE_TASK全般ページのプロパティ。 TASKPAGE_SCHEDULEタスクのスケジュールプロパティ。 TASKPAGE_SETTINGSタスクの設定プロパティ。 |
| fPersistChanges | BOOL | in | タスクオブジェクトへの変更を自動的に永続化するかどうかを指定します。TRUEの場合、解放時に変更が行われていると、ページは永続的なタスクオブジェクトを自動的に更新します。FALSEの場合、タスクオブジェクトの変更を永続化する責任は呼び出し元にあり、タスクオブジェクトに対してIPersistFile::Saveを呼び出す必要があります。 |
| phPage | HPROPSHEETPAGE* | out | タスクオブジェクトの、返されるプロパティシートページへのハンドル。このハンドルを使用してページを表示できます。 |
戻り値
メソッドが成功した場合は S_OK を、タスクがディスクに保存されていない場合は STG_E_NOTFILEBASEDSTORAGE を返します。
解説(Remarks)
IProvideTaskPageインターフェイスを取得するには、ITask::QueryInterfaceを呼び出します。
次のコードは、このメソッドを使用し、ITask::QueryInterfaceを呼び出すための変数宣言と呼び出し構文を示しています。
例
既知のタスクの全般タスクページを取得して表示する完全な例については、タスクページの取得の例を参照してください。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_IProvideTaskPage "{4086658A-CBBB-11CF-B604-00C04FD8D565}"
#usecom global IProvideTaskPage IID_IProvideTaskPage "{}"
#comfunc global IProvideTaskPage_GetPage 3 int,int,sptr
; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。
; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。
; ※ハンドル/void*等の不透明ポインタは IronHSP では intptr 指定が可能。