[SHELL32][SDK] Implement IsSuspendAllowed (#5831)

- Add IsShutdownAllowed helper function.
- Add IsSuspendAllowed prototype to
  <undocshell.h>.
- Implement IsSuspendAllowed function.
This commit is contained in:
Katayama Hirofumi MZ 2023-10-26 23:27:45 +09:00 committed by GitHub
parent be8a6f8af1
commit 995f56d1d3
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 15 additions and 11 deletions

View file

@ -783,17 +783,6 @@ DAD_DragEnterEx2(HWND hwndTarget,
return FALSE;
}
/*
* Unimplemented
*/
EXTERN_C BOOL
WINAPI
IsSuspendAllowed(VOID)
{
FIXME("IsSuspendAllowed() stub\n");
return FALSE;
}
/*
* Unimplemented
*/

View file

@ -164,6 +164,20 @@ Quit:
return ret;
}
BOOL IsShutdownAllowed(VOID)
{
return SHTestTokenPrivilegeW(NULL, SE_SHUTDOWN_NAME);
}
/*************************************************************************
* IsSuspendAllowed (SHELL32.53)
*/
BOOL WINAPI IsSuspendAllowed(VOID)
{
TRACE("()\n");
return IsShutdownAllowed() && IsPwrSuspendAllowed();
}
/*************************************************************************
* SHGetShellStyleHInstance (SHELL32.749)
*/

View file

@ -697,6 +697,7 @@ SHInvokePrivilegedFunctionW(
BOOL WINAPI
SHTestTokenPrivilegeW(_In_opt_ HANDLE hToken, _In_z_ LPCWSTR lpName);
BOOL WINAPI IsSuspendAllowed(VOID);
/*****************************************************************************
* Shell32 resources