Freigeben über


RmStartSession-Funktion (restartmanager.h)

Startet eine neue Neustart-Manager-Sitzung. Maximal 64 Neustart-Manager-Sitzungen pro Benutzersitzung können gleichzeitig auf dem System geöffnet werden. Wenn diese Funktion eine Sitzung startet, wird ein Sitzungshandle und ein Sitzungsschlüssel zurückgegeben, der in nachfolgenden Aufrufen der Neustart-Manager-API verwendet werden kann.

Syntax

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

Die Parameter

[out] pSessionHandle

Ein Zeiger auf das Handle einer Neustart-Manager-Sitzung. Das Sitzungshandle kann in nachfolgenden Aufrufen der Neustart-Manager-API übergeben werden.

dwSessionFlags

Reserviert. Dieser Parameter sollte 0 sein.

[out] strSessionKey

Eine mit Null beendete Zeichenfolge, die den Sitzungsschlüssel für die neue Sitzung enthält. Die Größe CCH_RM_SESSION_KEY + 1 muss zugewiesen werden, bevor die RmStartSession-Funktion aufgerufen wird.

Rückgabewert

Dies ist der letzte empfangene Fehler. Die Funktion kann einen der Systemfehlercodes zurückgeben, die in Winerror.h definiert sind.

Wert Bedeutung
ERROR_SUCCESS
0
Die Funktion wurde erfolgreich abgeschlossen.
ERROR_SEM_TIMEOUT
121
Eine Neustart-Manager-Funktion konnte in der zugewiesenen Zeit keinen Registrierungsschreib-Mutex abrufen. Ein Systemneustart wird empfohlen, da die weitere Verwendung des Neustart-Managers wahrscheinlich fehlschlägt.
ERROR_BAD_ARGUMENTS
160
Mindestens ein Argument ist nicht korrekt. Dieser Fehlerwert wird von der Neustart-Manager-Funktion zurückgegeben, wenn ein NULL-Zeiger oder 0 in einem Parameter übergeben wird, der einen Wert ungleich Null und einen Wert ungleich Null erfordert.
ERROR_MAX_SESSIONS_REACHED
353
Die maximale Anzahl von Sitzungen wurde erreicht.
ERROR_WRITE_FAULT
29
Das System kann nicht auf das angegebene Gerät schreiben.
ERROR_OUTOFMEMORY
14
Ein Neustart-Manager-Vorgang konnte nicht abgeschlossen werden, da nicht genügend Arbeitsspeicher verfügbar war.

Bemerkungen

Die RmStartSession-Funktion gibt einen Fehler zurück, wenn bereits eine Sitzung mit demselben Sitzungsschlüssel vorhanden ist.

Die RmStartSession-Funktion sollte vom primären Installationsprogramm aufgerufen werden, das die Benutzeroberfläche steuert oder die die Installationssequenz mehrerer Patches in einem Update steuert.

Ein sekundäres Installationsprogramm kann einer vorhandenen Neustart-Manager-Sitzung beitreten, indem die RmJoinSession-Funktion mit dem Sitzungshandle und dem Sitzungsschlüssel aufgerufen wird, der vom RmStartSession-Funktionsaufruf des primären Installationsprogramms zurückgegeben wird.

Anforderungen

Anforderung Wert
Mindestens unterstützter Client Windows Vista [nur Desktop-Apps]
Mindestanforderungen für unterstützte Server Windows Server 2008 [Nur Desktop-Apps]
Zielplattform Fenster
Überschrift restartmanager.h
Bibliothek Rstrtmgr.lib
DLL Rstrtmgr.dll

Siehe auch

RmEndSession

RmJoinSession