RmStartSession 関数 (restartmanager.h)

新しい再起動マネージャー セッションを開始します。 システムで同時に開くことができるのは、ユーザー セッションあたり最大 64 個の再起動マネージャー セッションです。 この関数は、セッションを開始すると、再起動マネージャー API の後続の呼び出しで使用できるセッション ハンドルとセッション キーを返します。

構文

DWORD RmStartSession(
  [out] DWORD    *pSessionHandle,
        DWORD    dwSessionFlags,
  [out] WCHAR [] strSessionKey
);

パラメーター

[out] pSessionHandle

再起動マネージャー セッションのハンドルへのポインター。 セッション ハンドルは、それ以降の Restart Manager API の呼び出しで渡すことができます。

dwSessionFlags

予約済み。 このパラメーターは 0 にする必要があります。

[out] strSessionKey

新しいセッションへのセッション キーを含む null で終わる文字列。 RmStartSession 関数を呼び出す前に、文字列を割り当てる必要があります。

戻り値

これは、受信した最新のエラーです。 この関数は、Winerror.h で定義されている システム エラー コード のいずれかを返すことができます。

意味
ERROR_SUCCESS
0
関数は正常に終了しました。
ERROR_SEM_TIMEOUT
121
再起動マネージャー関数は、割り当てられた時間内にレジストリ書き込みミューテックスを取得できませんでした。 再起動マネージャーをさらに使用すると失敗する可能性があるため、システムの再起動をお勧めします。
ERROR_BAD_ARGUMENTS
160
1 つ以上の引数が正しくありません。 Null 以外の値と 0 以外の値を必要とするパラメーターに NULL ポインターまたは 0 が渡された場合、このエラー値は Restart Manager 関数によって返されます。
ERROR_MAX_SESSIONS_REACHED
353
最大セッション数に達しました。
ERROR_WRITE_FAULT
29
指定したデバイスに書き込むことができません。
ERROR_OUTOFMEMORY
14
十分なメモリが使用できなかったため、再起動マネージャー操作を完了できませんでした。

注釈

RmStartSession 関数は、同じセッション キーを持つセッションが既に存在する場合にエラーを返します。

RmStartSession 関数は、ユーザー インターフェイスを制御するプライマリ インストーラー、または更新プログラム内の複数のパッチのインストール シーケンスを制御するプライマリ インストーラーによって呼び出される必要があります。

セカンダリ インストーラーは、プライマリ インストーラーの RmStartSession 関数呼び出しから返されたセッション ハンドルとセッション キーを使用して RmJoinSession 関数を呼び出すことによって、既存の再起動マネージャー セッションに参加できます。

要件

要件
サポートされている最小のクライアント Windows Vista [デスクトップ アプリのみ]
サポートされている最小のサーバー Windows Server 2008 [デスクトップ アプリのみ]
対象プラットフォーム Windows
ヘッダー restartmanager.h
Library Rstrtmgr.lib
[DLL] Rstrtmgr.dll

こちらもご覧ください

RmEndSession

RmJoinSession