RmRestart-Funktion (restartmanager.h)
Startet Anwendungen und Dienste neu, die von der RmShutdown-Funktion heruntergefahren und für den Neustart mit der Funktion RegisterApplicationRestart registriert wurden. Diese Funktion kann nur vom primären Installationsprogramm aufgerufen werden, das die RmStartSession-Funktion aufgerufen hat, um die Restart Manager-Sitzung zu starten.
Syntax
DWORD RmRestart(
[in] DWORD dwSessionHandle,
DWORD dwRestartFlags,
[in, optional] RM_WRITE_STATUS_CALLBACK fnStatus
);
Parameter
[in] dwSessionHandle
Ein Handle für die vorhandene Restart Manager-Sitzung.
dwRestartFlags
Reserviert. Dieser Parameter sollte 0 sein.
[in, optional] fnStatus
Ein Zeiger auf eine status Nachrichtenrückruffunktion, die zum Kommunizieren status verwendet wird, während die RmRestart-Funktion ausgeführt wird. Bei NULL wird kein status angegeben.
Rückgabewert
Dies ist der neueste Fehler, der empfangen wurde. Die Funktion kann einen der Systemfehlercodes zurückgeben, die in Winerror.h definiert sind.
Wert | Bedeutung |
---|---|
|
Dieser Fehlerwert wird zurückgegeben, wenn die RmRestart-Funktion mit einem gültigen Sitzungshandle aufgerufen wird, bevor die RmShutdown-Funktion aufgerufen wird. |
|
Mindestens eine Anwendung konnte nicht neu gestartet werden. Die RM_PROCESS_INFO Strukturen, die von der RmGetList-Funktion zurückgegeben werden, enthalten aktualisierte status Informationen. |
|
Eine Neustart-Manager-Funktion konnte in der zugewiesenen Zeit keinen Registrierungsschreibmutex abrufen. Ein Systemneustart wird empfohlen, da bei der weiteren Verwendung des Neustart-Managers wahrscheinlich ein Fehler auftritt. |
|
Dieser Fehlerwert wird von der RmRestart-Funktion zurückgegeben, wenn die Anforderung zum Abbrechen eines Vorgangs erfolgreich ist. |
|
Mindestens ein Argument ist falsch. Dieser Fehlerwert wird von der Funktion Neustart-Manager zurückgegeben, wenn ein NULL-Zeiger oder 0 in einem Parameter übergeben wird, der einen Ungleich-NULL- und ungleich null-Wert erfordert. |
|
Ein Vorgang konnte weder lesen noch in die Registrierung schreiben. |
|
Ein Neustart-Manager-Vorgang konnte nicht abgeschlossen werden, da nicht genügend Arbeitsspeicher verfügbar war. |
|
Für das angegebene Handle ist keine Restart Manager-Sitzung vorhanden. |
|
Die Funktion ist erfolgreich und gibt zurück. |
Hinweise
Nach dem Aufrufen der RmRestart-Funktion enthalten die RM_PROCESS_INFO Strukturen, die von der RmGetList-Funktion zurückgegeben werden, aktualisierte status Informationen.
Der Neustart-Manager respektiert die Berechtigungen, die verschiedene Benutzer- oder Terminalsitzungen trennen. Ein Installationsprogramm, das als Dienst mit LocalSystem-Berechtigungen ausgeführt wird, kann keine Anwendungen in einer anderen Benutzer- oder Terminalsitzung herunterfahren oder neu starten. Installer sollten benutzerdefinierte Methoden implementieren, um Anwendungen, die in anderen Sitzungen ausgeführt werden, herunterzufahren und neu zu starten. Eine Methode wäre, einen neuen Installationsprozess in der anderen Sitzung zu starten, um Herunter- und Neustartvorgänge auszuführen.
Wenn eine Konsolenanwendung heruntergefahren und vom Neustart-Manager neu gestartet wird, wird die Anwendung in einer neuen Konsole neu gestartet.
Installationsprogramme sollten Anwendungen und Dienste immer mit der RmRestart-Funktion neu starten, auch wenn die RmShutdown-Funktion einen Fehler zurückgibt, der darauf hinweist, dass nicht alle Anwendungen und Dienste heruntergefahren werden konnten.
Die RmRestart-Funktion startet keine Anwendungen neu, die mit erhöhten Rechten ausgeführt werden. Auch wenn die Anwendung durch Neustart-Manager heruntergefahren wurde.
Die RmRestart-Funktion startet keine Anwendungen neu, die nicht als aktuell angemeldeter Benutzer ausgeführt werden. Auch wenn die Anwendung durch Neustart-Manager heruntergefahren wurde. Die RmRestart-Funktion startet beispielsweise keine Anwendungen neu, die mit dem Befehl Ausführen als gestartet wurden und nicht als aktuell angemeldeter Benutzer ausgeführt werden. Diese Anwendungen müssen manuell neu gestartet werden.
Anforderungen
Anforderung | Wert |
---|---|
Unterstützte Mindestversion (Client) | Windows Vista [nur Desktop-Apps] |
Unterstützte Mindestversion (Server) | Windows Server 2008 [nur Desktop-Apps] |
Zielplattform | Windows |
Kopfzeile | restartmanager.h |
Bibliothek | Rstrtmgr.lib |
DLL | Rstrtmgr.dll |