2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS Winlogon
4 * FILE: base/system/winlogon/rpcserver.c
5 * PURPOSE: RPC server interface for the remote registry calls
6 * PROGRAMMERS: Eric Kohl
9 /* INCLUDES *****************************************************************/
17 /* FUNCTIONS *****************************************************************/
24 TRACE("StartRpcServer() called\n");
26 Status
= RpcServerUseProtseqEpW(L
"ncacn_np",
27 RPC_C_PROTSEQ_MAX_REQS_DEFAULT
,
30 if (Status
!= RPC_S_OK
)
32 ERR("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status
);
36 Status
= RpcServerRegisterIf(winreg_v1_0_s_ifspec
,
39 if (Status
!= RPC_S_OK
)
41 ERR("RpcServerRegisterIf() failed (Status %lx)\n", Status
);
45 Status
= RpcServerListen(1, 20, TRUE
);
46 if (Status
!= RPC_S_OK
)
48 ERR("RpcServerListen() failed (Status %lx)\n", Status
);
52 TRACE("StartRpcServer() done\n");
57 void __RPC_FAR
* __RPC_USER
MIDL_user_allocate(SIZE_T len
)
59 return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, len
);
63 void __RPC_USER
MIDL_user_free(void __RPC_FAR
* ptr
)
65 HeapFree(GetProcessHeap(), 0, ptr
);
69 void __RPC_USER
RPC_HKEY_rundown(RPC_HKEY hSCObject
)
78 PREGISTRY_SERVER_NAME ServerName
,
91 PREGISTRY_SERVER_NAME ServerName
,
104 PREGISTRY_SERVER_NAME ServerName
,
109 return ERROR_SUCCESS
;
117 PREGISTRY_SERVER_NAME ServerName
,
122 return ERROR_SUCCESS
;
130 PREGISTRY_SERVER_NAME ServerName
,
135 return ERROR_SUCCESS
;
146 return ERROR_SUCCESS
;
155 PRPC_UNICODE_STRING lpSubKey
,
156 PRPC_UNICODE_STRING lpClass
,
159 PRPC_SECURITY_ATTRIBUTES lpSecurityAttributes
,
161 LPDWORD lpdwDisposition
)
164 return ERROR_SUCCESS
;
173 PRPC_UNICODE_STRING lpSubKey
)
176 return ERROR_SUCCESS
;
185 PRPC_UNICODE_STRING lpValueName
)
188 return ERROR_SUCCESS
;
198 PRPC_UNICODE_STRING lpNameIn
,
199 PRPC_UNICODE_STRING lpNameOut
,
200 PRPC_UNICODE_STRING lpClassIn
,
201 PRPC_UNICODE_STRING
*lplpClassOut
,
202 PFILETIME lpftLastWriteTime
)
205 return ERROR_SUCCESS
;
215 PRPC_UNICODE_STRING lpValueNameIn
,
216 PRPC_UNICODE_STRING lpValueNameOut
,
223 return ERROR_SUCCESS
;
234 return ERROR_SUCCESS
;
241 BaseRegGetKeySecurity(
243 SECURITY_INFORMATION SecurityInformation
,
244 PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptorIn
,
245 PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptorOut
)
248 return ERROR_SUCCESS
;
257 PRPC_UNICODE_STRING lpSubKey
,
258 PRPC_UNICODE_STRING lpFile
)
261 return ERROR_SUCCESS
;
268 Opnum14NotImplemented(
280 PRPC_UNICODE_STRING lpSubKey
,
286 return ERROR_SUCCESS
;
295 PRPC_UNICODE_STRING lpClassIn
,
296 PRPC_UNICODE_STRING lpClassOut
,
298 LPDWORD lpcbMaxSubKeyLen
,
299 LPDWORD lpcbMaxClassLen
,
301 LPDWORD lpcbMaxValueNameLen
,
302 LPDWORD lpcbMaxValueLen
,
303 LPDWORD lpcbSecurityDescriptor
,
304 PFILETIME lpftLastWriteTime
)
307 return ERROR_SUCCESS
;
316 PRPC_UNICODE_STRING lpValueName
,
323 return ERROR_SUCCESS
;
332 PRPC_UNICODE_STRING lpSubKey
,
333 PRPC_UNICODE_STRING lpNewFile
,
334 PRPC_UNICODE_STRING lpOldFile
)
337 return ERROR_SUCCESS
;
346 PRPC_UNICODE_STRING lpFile
,
350 return ERROR_SUCCESS
;
359 PRPC_UNICODE_STRING lpFile
,
360 PRPC_SECURITY_ATTRIBUTES pSecurityAttributes
)
363 return ERROR_SUCCESS
;
370 BaseRegSetKeySecurity(
372 SECURITY_INFORMATION SecurityInformation
,
373 PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptor
)
376 return ERROR_SUCCESS
;
385 PRPC_UNICODE_STRING lpValueName
,
391 return ERROR_SUCCESS
;
400 PRPC_UNICODE_STRING lpSubKey
)
403 return ERROR_SUCCESS
;
410 BaseInitiateSystemShutdown(
411 PREGISTRY_SERVER_NAME ServerName
,
412 PRPC_UNICODE_STRING lpMessage
,
414 BOOLEAN bForceAppsClosed
,
415 BOOLEAN bRebootAfterShutdown
)
417 TRACE("BaseInitiateSystemShutdown()\n");
418 return BaseInitiateSystemShutdownEx(ServerName
,
422 bRebootAfterShutdown
,
430 BaseAbortSystemShutdown(
431 PREGISTRY_SERVER_NAME ServerName
)
433 TRACE("BaseAbortSystemShutdown()\n");
434 return ERROR_SUCCESS
;
446 return ERROR_SUCCESS
;
454 PREGISTRY_SERVER_NAME ServerName
,
459 return ERROR_SUCCESS
;
466 Opnum28NotImplemented(
476 BaseRegQueryMultipleValues(
479 PRVALENT val_listOut
,
485 return ERROR_SUCCESS
;
492 BaseInitiateSystemShutdownEx(
493 PREGISTRY_SERVER_NAME ServerName
,
494 PRPC_UNICODE_STRING lpMessage
,
496 BOOLEAN bForceAppsClosed
,
497 BOOLEAN bRebootAfterShutdown
,
500 TRACE("BaseInitiateSystemShutdownEx()\n");
501 TRACE(" Message: %wZ\n", lpMessage
);
502 TRACE(" Timeout: %lu\n", dwTimeout
);
503 TRACE(" Force: %d\n", bForceAppsClosed
);
504 TRACE(" Reboot: %d\n", bRebootAfterShutdown
);
505 TRACE(" Reason: %lu\n", dwReason
);
507 // return ERROR_SUCCESS;
510 return ExitWindowsEx((bRebootAfterShutdown
? EWX_REBOOT
: EWX_SHUTDOWN
) |
511 (bForceAppsClosed
? EWX_FORCE
: 0),
521 PRPC_UNICODE_STRING lpFile
,
522 PRPC_SECURITY_ATTRIBUTES pSecurityAttributes
,
526 return ERROR_SUCCESS
;
534 PREGISTRY_SERVER_NAME ServerName
,
539 return ERROR_SUCCESS
;
546 OpenPerformanceNlsText(
547 PREGISTRY_SERVER_NAME ServerName
,
552 return ERROR_SUCCESS
;
559 BaseRegQueryMultipleValues2(
562 PRVALENT val_listOut
,
566 LPDWORD ldwRequiredSize
)
569 return ERROR_SUCCESS
;
578 PRPC_UNICODE_STRING lpSubKey
,
583 return ERROR_SUCCESS
;