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


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

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

Синтаксис

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

Параметры

[out] pSessionHandle

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

dwSessionFlags

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

[out] strSessionKey

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

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

Это самая последняя ошибка, полученная. Функция может возвращать один из системных кодов ошибок , определенных в 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 должна вызываться основным установщиком, который управляет пользовательским интерфейсом или управляет последовательностью установки нескольких исправлений в обновлении.

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

Требования

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

См. также

RmEndSession

RmJoinSession