* PROGRAMMERS: Eric Kohl
*/
-/* INCLUDES *****************************************************************/
+/* INCLUDES ******************************************************************/
#include "winlogon.h"
#include <rpc.h>
#include <winreg_s.h>
-
/* FUNCTIONS *****************************************************************/
BOOL
{
RPC_STATUS Status;
- TRACE("ScmStartRpcServer() called\n");
+ TRACE("StartRpcServer() called\n");
Status = RpcServerUseProtseqEpW(L"ncacn_np",
- 10,
+ RPC_C_PROTSEQ_MAX_REQS_DEFAULT,
L"\\pipe\\winreg",
NULL);
if (Status != RPC_S_OK)
}
-/* Function 14 */
+/* Function 14 - Not used on wire */
void
__stdcall
-Opnum14NotImplemented(
+BaseRegNotifyChangeKeyValue(
handle_t IDL_handle)
{
TRACE("\n");
BOOLEAN bRebootAfterShutdown)
{
TRACE("BaseInitiateSystemShutdown()\n");
- return ERROR_SUCCESS;
+ return BaseInitiateSystemShutdownEx(ServerName,
+ lpMessage,
+ dwTimeout,
+ bForceAppsClosed,
+ bRebootAfterShutdown,
+ 0);
}
BaseAbortSystemShutdown(
PREGISTRY_SERVER_NAME ServerName)
{
- TRACE("\n");
- return ERROR_SUCCESS;
+ TRACE("BaseAbortSystemShutdown()\n");
+
+ //FIXME: Verify that the caller actually has the correct privileges
+
+ return TerminateSystemShutdown();
}
}
-/* Function 28 */
+/* Function 28 - Not used on wire */
void
__stdcall
-Opnum28NotImplemented(
+OpenDynData(
handle_t IDL_handle)
{
TRACE("\n");
BOOLEAN bRebootAfterShutdown,
ULONG dwReason)
{
- TRACE("\n");
- return ERROR_SUCCESS;
+ TRACE("BaseInitiateSystemShutdownEx()\n");
+ TRACE(" Message: %wZ\n", lpMessage);
+ TRACE(" Timeout: %lu\n", dwTimeout);
+ TRACE(" Force: %d\n", bForceAppsClosed);
+ TRACE(" Reboot: %d\n", bRebootAfterShutdown);
+ TRACE(" Reason: %lu\n", dwReason);
+
+ //FIXME: Verify that the caller actually has the correct privileges
+
+ return StartSystemShutdown((PUNICODE_STRING)lpMessage,
+ dwTimeout,
+ bForceAppsClosed,
+ bRebootAfterShutdown,
+ dwReason);
}