[WINLOGON] Implement shutdown sound support

CORE-13951
This commit is contained in:
Thamatip Chitpong 2024-12-04 00:19:26 +07:00
parent 77bfc12e0f
commit 37375fcc4d

View file

@ -367,13 +367,17 @@ PlayLogonSound(
static static
VOID VOID
PlayLogoffSound( PlayLogoffShutdownSound(
_In_ PWLSESSION Session) _In_ PWLSESSION Session,
_In_ BOOL bShutdown)
{ {
if (!ImpersonateLoggedOnUser(Session->UserToken)) if (!ImpersonateLoggedOnUser(Session->UserToken))
return; return;
PlaySoundRoutine(L"WindowsLogoff", FALSE, SND_ALIAS | SND_NODEFAULT); /* NOTE: Logoff and shutdown sounds play synchronously */
PlaySoundRoutine(bShutdown ? L"SystemExit" : L"WindowsLogoff",
FALSE,
SND_ALIAS | SND_NODEFAULT);
RevertToSelf(); RevertToSelf();
} }
@ -848,7 +852,7 @@ HandleLogoff(
SwitchDesktop(Session->WinlogonDesktop); SwitchDesktop(Session->WinlogonDesktop);
PlayLogoffSound(Session); PlayLogoffShutdownSound(Session, WLX_SHUTTINGDOWN(wlxAction));
SetWindowStationUser(Session->InteractiveWindowStation, SetWindowStationUser(Session->InteractiveWindowStation,
&LuidNone, NULL, 0); &LuidNone, NULL, 0);