ICreateProcessInputs
COM公式ドキュメント
ICreatingProcess インターフェイスが、作成中のプロセスの一部のパラメーターを変更するために使用します。
解説(Remarks)
アプリケーションがこのインターフェイスを実装することはありません。
このインターフェイスへのポインターは ICreatingProcess::OnCreating に渡されます。
メソッド 7
vtbl = vtable インデックス(0始まり)。HSP等からCOMメソッドをインデックス指定で呼ぶ際に使用します。0〜2 は IUnknown。
CreateProcess に渡される追加のフラグを取得します。
| pdwCreationFlags | DWORD* | out | CreateProcess の dwCreationFlags パラメーターとして渡されるフラグを受け取る DWORD へのポインター。 |
戻り値
メソッドが成功した場合は S_OK。それ以外の場合は HRESULT エラーコード。
CreateProcess の呼び出しに含めるフラグを設定します。
| dwCreationFlags | DWORD | in | CreateProcess の dwCreationFlags パラメーターに渡されるフラグ。 |
戻り値
メソッドが成功した場合は S_OK。それ以外の場合は HRESULT エラーコード。
解説(Remarks)
以前の AddCreateFlags または SetCreateFlags の呼び出しによって設定されたフラグは、dwCreationFlags で指定された値に置き換えられます。すでに設定されているフラグをクリアせずにフラグを設定するには、AddCreateFlags を使用してください。
CreateProcess の呼び出しに含める追加のフラグを設定します。
| dwCreationFlags | DWORD | in | CreateProcess に渡される dwCreationFlags パラメーターに含めるフラグ。 |
戻り値
メソッドが成功した場合は S_OK。それ以外の場合は HRESULT エラーコード。
解説(Remarks)
以前に設定された作成フラグは設定されたまま維持されます。このメソッドは作成フラグをクリアしません。
アプリケーションのホットキーを設定します。
| wHotKey | WORD | in | アプリケーションに割り当てるホットキー。詳細については、STARTUPINFO 構造体の hStdIn メンバーのドキュメントを参照してください。 |
戻り値
メソッドが成功した場合は S_OK。それ以外の場合は HRESULT エラーコード。
解説(Remarks)
このメソッドは、CreateProcess に渡される STARTUPINFO 構造体の dwFlags メンバーに STARTF_USEHOTKEY フラグも設定します。
CreateProcess に渡される STARTUPINFO 構造体に含める追加のフラグ。
| dwStartupInfoFlags | DWORD | in | CreateProcess に渡される STARTUPINFO 構造体の dwFlags メンバーに含めるフラグ。 |
戻り値
メソッドが成功した場合は S_OK。それ以外の場合は HRESULT エラーコード。
解説(Remarks)
以前に設定された作成フラグは設定されたまま維持されます。このメソッドは作成フラグをクリアしません。
CreateProcess に渡されるタイトルを設定します。
| pszTitle | LPWSTR | in | CreateProcess に渡される STARTUPINFO 構造体の lpTitle メンバーで渡されるタイトルを指定する null 終端文字列。このパラメーターを NULL にすることはできません。 |
戻り値
メソッドが成功した場合は S_OK。それ以外の場合は HRESULT エラーコード。
作成されるプロセスの環境に変数を設定します。
| pszName | LPWSTR | in | 作成されるプロセスの環境に設定する変数の名前を指定する null 終端文字列。このパラメーターを NULL にすることはできません。 |
| pszValue | LPWSTR | in | 作成されるプロセスの環境に設定する変数の値を指定する null 終端文字列。このパラメーターを NULL にすることはできません。 |
戻り値
メソッドが成功した場合は S_OK。それ以外の場合は HRESULT エラーコード。
解説(Remarks)
作成されるプロセスの環境に同じ名前の変数がすでに存在する場合は、置き換えられます。
Microsoft 公式リファレンス: 英語 (en-us) · 日本語 (ja-jp) · 原文ソース (GitHub)
HSP用 COM定義
#usecom / #comfunc によるHSPのCOM呼び出し定義。数字は vtbl インデックス(0始まり)。クラスIDが無い場合 #usecom の末尾は "{}"、ある場合は "{CLSID}"。
#define global IID_ICreateProcessInputs "{F6EF6140-E26F-4D82-BAC4-E9BA5FD239A8}" #usecom global ICreateProcessInputs IID_ICreateProcessInputs "{}" #comfunc global ICreateProcessInputs_GetCreateFlags 3 var #comfunc global ICreateProcessInputs_SetCreateFlags 4 int #comfunc global ICreateProcessInputs_AddCreateFlags 5 int #comfunc global ICreateProcessInputs_SetHotKey 6 int #comfunc global ICreateProcessInputs_AddStartupFlags 7 int #comfunc global ICreateProcessInputs_SetTitle 8 wstr #comfunc global ICreateProcessInputs_SetEnvironmentVariable 9 wstr,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数は var(変数直渡し)。varptr 方式にも切替可。#define global IID_ICreateProcessInputs "{F6EF6140-E26F-4D82-BAC4-E9BA5FD239A8}" #usecom global ICreateProcessInputs IID_ICreateProcessInputs "{}" #comfunc global ICreateProcessInputs_GetCreateFlags 3 sptr #comfunc global ICreateProcessInputs_SetCreateFlags 4 int #comfunc global ICreateProcessInputs_AddCreateFlags 5 int #comfunc global ICreateProcessInputs_SetHotKey 6 int #comfunc global ICreateProcessInputs_AddStartupFlags 7 int #comfunc global ICreateProcessInputs_SetTitle 8 wstr #comfunc global ICreateProcessInputs_SetEnvironmentVariable 9 wstr,wstr ; ※数字は vtbl インデックス(0始まり)。0/1/2 は IUnknown(QueryInterface/AddRef/Release)。 ; ※このインターフェースは直接 CoCreateInstance するクラスIDが無いため "{}"(他メソッド/アクティベーションで取得)。 ; ※出力/バッファ引数はポインタ方式(token=sptr / 呼び出しは varptr(変数))。