Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

181 lines
3.9 KiB

  1. #include "dspch.h"
  2. #pragma hdrstop
  3. #include <unknwn.h>
  4. #include <winwlx.h>
  5. #undef _MSGinaExports_
  6. #define _MSGINA_
  7. #include <MSGinaExports.h>
  8. #include <shlobj.h>
  9. #include <shlobjp.h> // for SHTDN_NONE
  10. static MSGINAAPI LONG ShellGetUserList (BOOL fRemoveGuest, DWORD *pdwUserCount, void* *pUserList)
  11. {
  12. return 0;
  13. }
  14. static MSGINAAPI BOOL ShellIsSingleUserNoPassword (WCHAR *pwszUsername, WCHAR *pwszDomain)
  15. {
  16. return FALSE;
  17. }
  18. static MSGINAAPI BOOL ShellIsFriendlyUIActive (void)
  19. {
  20. return FALSE;
  21. }
  22. static MSGINAAPI BOOL ShellIsMultipleUsersEnabled (void)
  23. {
  24. return FALSE;
  25. }
  26. static MSGINAAPI BOOL ShellIsRemoteConnectionsEnabled (void)
  27. {
  28. return FALSE;
  29. }
  30. static MSGINAAPI BOOL ShellEnableFriendlyUI (BOOL fEnable)
  31. {
  32. SetLastError(ERROR_OUTOFMEMORY);
  33. return FALSE;
  34. }
  35. static MSGINAAPI BOOL ShellEnableMultipleUsers (BOOL fEnable)
  36. {
  37. SetLastError(ERROR_OUTOFMEMORY);
  38. return FALSE;
  39. }
  40. static MSGINAAPI BOOL ShellEnableRemoteConnections (BOOL fEnable)
  41. {
  42. SetLastError(ERROR_OUTOFMEMORY);
  43. return FALSE;
  44. }
  45. static MSGINAAPI DWORD ShellTurnOffDialog (HWND hwndParent)
  46. {
  47. return SHTDN_NONE;
  48. }
  49. static MSGINAAPI int ShellACPIPowerButtonPressed (void *pWlxContext, UINT uiEventType, BOOL fLocked)
  50. {
  51. return -1;
  52. }
  53. static MSGINAAPI BOOL ShellIsSuspendAllowed (void)
  54. {
  55. return FALSE;
  56. }
  57. static MSGINAAPI void ShellStatusHostBegin (UINT uiStartType)
  58. {
  59. }
  60. static MSGINAAPI void ShellStatusHostEnd (UINT uiEndType)
  61. {
  62. }
  63. static MSGINAAPI void ShellStatusHostShuttingDown (void)
  64. {
  65. }
  66. static MSGINAAPI BOOL ShellSwitchWhenInteractiveReady (SWITCHTYPE eSwitchType, void *pWlxContext)
  67. {
  68. return FALSE;
  69. }
  70. static MSGINAAPI HRESULT ShellDimScreen (IUnknown* *ppIUnknown, HWND* phwndDimmed)
  71. {
  72. return HRESULT_FROM_WIN32(ERROR_PROC_NOT_FOUND);
  73. }
  74. static MSGINAAPI void ShellInstallAccountFilterData (void)
  75. {
  76. }
  77. static MSGINAAPI DWORD ShellSwitchUser (BOOL fWait)
  78. {
  79. return ERROR_PROC_NOT_FOUND;
  80. }
  81. static MSGINAAPI int ShellIsUserInteractiveLogonAllowed (const WCHAR *pwszUsername)
  82. {
  83. return -1;
  84. }
  85. static MSGINAAPI void ShellNotifyThemeUserChange (USERLOGTYPE eUserLogType, HANDLE hToken)
  86. {
  87. }
  88. static MSGINAAPI DWORD ShellReturnToWelcome (BOOL fUnlock)
  89. {
  90. return WLX_SAS_ACTION_NONE;
  91. }
  92. static MSGINAAPI void ShellStatusHostPowerEvent (void)
  93. {
  94. }
  95. static MSGINAAPI DWORD ShellStartCredentialServer (const WCHAR *pwszUsername, const WCHAR *pwszDomain, WCHAR *pwszPassword, DWORD dwTimeout)
  96. {
  97. return ERROR_PROC_NOT_FOUND;
  98. }
  99. static MSGINAAPI void ShellAcquireLogonMutex (void)
  100. {
  101. }
  102. static MSGINAAPI void ShellReleaseLogonMutex (BOOL fSignalEvent)
  103. {
  104. }
  105. static MSGINAAPI void ShellSignalShutdown (void)
  106. {
  107. }
  108. static MSGINAAPI void ShellStatusHostHide (void)
  109. {
  110. }
  111. static MSGINAAPI void ShellStatusHostShow (void)
  112. {
  113. }
  114. //
  115. // !! WARNING !! The entries below must be in order by ORDINAL
  116. //
  117. DEFINE_ORDINAL_ENTRIES(msgina)
  118. {
  119. DLOENTRY(1,ShellGetUserList)
  120. DLOENTRY(2,ShellIsFriendlyUIActive)
  121. DLOENTRY(3,ShellACPIPowerButtonPressed)
  122. DLOENTRY(4,ShellSwitchUser)
  123. DLOENTRY(5,ShellIsRemoteConnectionsEnabled)
  124. DLOENTRY(6,ShellEnableFriendlyUI)
  125. DLOENTRY(7,ShellEnableMultipleUsers)
  126. DLOENTRY(8,ShellEnableRemoteConnections)
  127. DLOENTRY(9,ShellTurnOffDialog)
  128. DLOENTRY(10,ShellNotifyThemeUserChange)
  129. DLOENTRY(11,ShellStatusHostBegin)
  130. DLOENTRY(12,ShellStatusHostEnd)
  131. DLOENTRY(13,ShellIsSuspendAllowed)
  132. DLOENTRY(14,ShellIsSingleUserNoPassword)
  133. DLOENTRY(15,ShellSwitchWhenInteractiveReady)
  134. DLOENTRY(16,ShellDimScreen)
  135. DLOENTRY(17,ShellInstallAccountFilterData)
  136. DLOENTRY(18,ShellStatusHostShuttingDown)
  137. DLOENTRY(19,ShellIsUserInteractiveLogonAllowed)
  138. DLOENTRY(20,ShellIsMultipleUsersEnabled)
  139. DLOENTRY(21,ShellReturnToWelcome)
  140. DLOENTRY(22,ShellStatusHostPowerEvent)
  141. DLOENTRY(23,ShellStartCredentialServer)
  142. DLOENTRY(24,ShellAcquireLogonMutex)
  143. DLOENTRY(25,ShellReleaseLogonMutex)
  144. DLOENTRY(26,ShellSignalShutdown)
  145. DLOENTRY(27,ShellStatusHostHide)
  146. DLOENTRY(28,ShellStatusHostShow)
  147. };
  148. DEFINE_ORDINAL_MAP(msgina)