CAccessToken::CreateProcessAsUser

CAccessToken のオブジェクトによって表されるユーザーのセキュリティ コンテキストで実行される新しいプロセスを作成するには、このメソッドを呼び出します。

bool CreateProcessAsUser(
   LPCTSTR pApplicationName,
   LPTSTR pCommandLine,
   LPPROCESS_INFORMATION pProcessInformation,
   LPSTARTUPINFO pStartupInfo,
   DWORD dwCreationFlags = NORMAL_PRIORITY_CLASS,
   bool bLoadProfile = false,
   const CSecurityAttributes* pProcessAttributes = NULL,
   const CSecurityAttributes* pThreadAttributes = NULL,
   bool bInherit = false,
   LPCTSTR pCurrentDirectory = NULL 
) throw( );

パラメーター

  • pApplicationName
    実装するモジュールを指定する NULL で終わる文字列へのポインター。このパラメーターが null でない場合があります。

  • pCommandLine
    実行するコマンド ラインを指定する NULL で終わる文字列へのポインター。

  • pProcessInformation
    新しいプロセスに関する識別情報を受け取る PROCESS_INFORMATION の構造体へのポインター。

  • pStartupInfo
    新しいプロセスのメイン ウィンドウの表示方法を指定する STARTUPINFO の構造体へのポインター。

  • dwCreationFlags
    プロセスの優先順位クラスと作成を制御する追加のフラグを指定します。フラグの一覧については、Win32 関数 CreateProcessAsUser を参照してください。

  • bLoadProfile
    true の場合、ユーザーのプロファイルは LoadUserProfileで読み込まれます。

  • pProcessAttributes
    新しいプロセスのセキュリティ記述子を指定し、返されたハンドルを子プロセスが継承できるかどうかを判断 SECURITY_ATTRIBUTES の構造体へのポインター。pProcessAttributes が null の場合、プロセスは既定のセキュリティ記述子を取得し、ハンドルは継承できません。

  • pThreadAttributes
    新しいスレッドのセキュリティ記述子を指定し、返されたハンドルを子プロセスが継承できるかどうかを判断 SECURITY_ATTRIBUTES の構造体へのポインター。pThreadAttributes が null の場合、スレッドは既定のセキュリティ記述子を取得し、ハンドルは継承できません。

  • bInherit
    新しいプロセスが呼び出しプロセスからのハンドルを継承しているかどうかを示します。true の場合、呼び出し元プロセスの継承可能な各開いているハンドルは、新しいプロセスによって継承されます。継承されたハンドルは、元のハンドルと同じ値とアクセス特権があります。

  • pCurrentDirectory
    新しいプロセスに現在のドライブとディレクトリを指定する NULL で終わる文字列へのポインター。ドライブ文字を含む完全パスは The string ある必要があります。このパラメーターが NULL の場合、新しいプロセスは、呼び出し元プロセスと同じ現在のドライブとディレクトリがあります。

戻り値

正常に終了した場合は true を返します。それ以外の場合は false を返します。

解説

CreateProcessAsUser はユーザーのセキュリティ コンテキストの実行が CAccessToken のオブジェクトで示す新しいプロセスを作成するために CreateProcessAsUser Win32 関数を使用します。必要なパラメーターの詳細な説明については CreateProcessAsUser 関数の説明を参照してください。

成功するこのメソッドで CAccessToken のオブジェクトは AssignPrimaryToken を保持する必要があり、場合 (制限されたトークンである) IncreaseQuota 権限。

必要条件

ヘッダー : atlsecurity.h

参照

関連項目

CAccessToken クラス