Поделиться через


Функция RmStartSession (restartmanager.h)

Запускает новый сеанс диспетчера перезапуска. Одновременно в системе можно открыть не более 64 сеансов диспетчера перезапуска на сеанс пользователя. Когда эта функция запускает сеанс, она возвращает дескриптор сеанса и ключ сеанса, которые можно использовать в последующих вызовах API диспетчера перезапуска.

Синтаксис

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

Параметры

[out] pSessionHandle

Указатель на дескриптор сеанса диспетчера перезапуска. Дескриптор сеанса можно передать в последующих вызовах API диспетчера перезапуска.

dwSessionFlags

Зарезервировано. Этот параметр должен иметь значение 0.

[out] strSessionKey

Строка, завершающаяся нулевым значением, которая содержит ключ сеанса для нового сеанса. Строка должна быть выделена перед вызовом функции RmStartSession .

Возвращаемое значение

Это самая последняя полученная ошибка. Функция может возвращать один из кодов системных ошибок , определенных в Winerror.h.

Значение Значение
ERROR_SUCCESS
0
Функция успешно завершена.
ERROR_SEM_TIMEOUT
121
Функции Диспетчер перезапуска не удалось получить мьютекс записи в реестре в отведенное время. Рекомендуется перезапустить систему, так как дальнейшее использование диспетчера перезапуска, скорее всего, завершится ошибкой.
ERROR_BAD_ARGUMENTS
160
Один или несколько аргументов неверны. Это значение ошибки возвращается функцией Диспетчер перезапуска, если в параметре передается указатель NULL или 0, требующий ненулевого и ненулевого значения.
ERROR_MAX_SESSIONS_REACHED
353
Достигнуто максимальное количество сеансов.
ERROR_WRITE_FAULT
29
Система не может выполнять запись на указанное устройство.
ERROR_OUTOFMEMORY
14
Не удалось завершить операцию диспетчера перезапуска, так как недостаточно памяти.

Комментарии

Функция RmStartSession возвращает ошибку, если сеанс с тем же ключом сеанса уже существует.

Функция RmStartSession должна вызываться основным установщиком, который управляет пользовательским интерфейсом или последовательностью установки нескольких исправлений в обновлении.

Дополнительный установщик может присоединиться к существующему сеансу диспетчера перезапуска, вызвав функцию RmJoinSession с дескриптором сеанса и ключом сеанса, возвращенными из вызова функции RmStartSession основного установщика.

Требования

Требование Значение
Минимальная версия клиента Windows Vista [только классические приложения]
Минимальная версия сервера Windows Server 2008 [только классические приложения]
Целевая платформа Windows
Header restartmanager.h
Библиотека Rstrtmgr.lib
DLL Rstrtmgr.dll

См. также раздел

RmEndSession

RmJoinSession