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 ******************************************************************/
16 /* FUNCTIONS *****************************************************************/
23 TRACE("StartRpcServer() called\n");
25 Status
= RpcServerUseProtseqEpW(L
"ncacn_np",
26 RPC_C_PROTSEQ_MAX_REQS_DEFAULT
,
29 if (Status
!= RPC_S_OK
)
31 ERR("RpcServerUseProtseqEpW() failed (Status %lx)\n", Status
);
35 Status
= RpcServerRegisterIf(winreg_v1_0_s_ifspec
,
38 if (Status
!= RPC_S_OK
)
40 ERR("RpcServerRegisterIf() failed (Status %lx)\n", Status
);
44 Status
= RpcServerListen(1, 20, TRUE
);
45 if (Status
!= RPC_S_OK
)
47 ERR("RpcServerListen() failed (Status %lx)\n", Status
);
51 TRACE("StartRpcServer() done\n");
56 void __RPC_FAR
* __RPC_USER
MIDL_user_allocate(SIZE_T len
)
58 return HeapAlloc(GetProcessHeap(), HEAP_ZERO_MEMORY
, len
);
62 void __RPC_USER
MIDL_user_free(void __RPC_FAR
* ptr
)
64 HeapFree(GetProcessHeap(), 0, ptr
);
68 void __RPC_USER
RPC_HKEY_rundown(RPC_HKEY hSCObject
)
77 PREGISTRY_SERVER_NAME ServerName
,
90 PREGISTRY_SERVER_NAME ServerName
,
103 PREGISTRY_SERVER_NAME ServerName
,
108 return ERROR_SUCCESS
;
116 PREGISTRY_SERVER_NAME ServerName
,
121 return ERROR_SUCCESS
;
129 PREGISTRY_SERVER_NAME ServerName
,
134 return ERROR_SUCCESS
;
145 return ERROR_SUCCESS
;
154 PRPC_UNICODE_STRING lpSubKey
,
155 PRPC_UNICODE_STRING lpClass
,
158 PRPC_SECURITY_ATTRIBUTES lpSecurityAttributes
,
160 LPDWORD lpdwDisposition
)
163 return ERROR_SUCCESS
;
172 PRPC_UNICODE_STRING lpSubKey
)
175 return ERROR_SUCCESS
;
184 PRPC_UNICODE_STRING lpValueName
)
187 return ERROR_SUCCESS
;
197 PRPC_UNICODE_STRING lpNameIn
,
198 PRPC_UNICODE_STRING lpNameOut
,
199 PRPC_UNICODE_STRING lpClassIn
,
200 PRPC_UNICODE_STRING
*lplpClassOut
,
201 PFILETIME lpftLastWriteTime
)
204 return ERROR_SUCCESS
;
214 PRPC_UNICODE_STRING lpValueNameIn
,
215 PRPC_UNICODE_STRING lpValueNameOut
,
222 return ERROR_SUCCESS
;
233 return ERROR_SUCCESS
;
240 BaseRegGetKeySecurity(
242 SECURITY_INFORMATION SecurityInformation
,
243 PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptorIn
,
244 PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptorOut
)
247 return ERROR_SUCCESS
;
256 PRPC_UNICODE_STRING lpSubKey
,
257 PRPC_UNICODE_STRING lpFile
)
260 return ERROR_SUCCESS
;
267 Opnum14NotImplemented(
279 PRPC_UNICODE_STRING lpSubKey
,
285 return ERROR_SUCCESS
;
294 PRPC_UNICODE_STRING lpClassIn
,
295 PRPC_UNICODE_STRING lpClassOut
,
297 LPDWORD lpcbMaxSubKeyLen
,
298 LPDWORD lpcbMaxClassLen
,
300 LPDWORD lpcbMaxValueNameLen
,
301 LPDWORD lpcbMaxValueLen
,
302 LPDWORD lpcbSecurityDescriptor
,
303 PFILETIME lpftLastWriteTime
)
306 return ERROR_SUCCESS
;
315 PRPC_UNICODE_STRING lpValueName
,
322 return ERROR_SUCCESS
;
331 PRPC_UNICODE_STRING lpSubKey
,
332 PRPC_UNICODE_STRING lpNewFile
,
333 PRPC_UNICODE_STRING lpOldFile
)
336 return ERROR_SUCCESS
;
345 PRPC_UNICODE_STRING lpFile
,
349 return ERROR_SUCCESS
;
358 PRPC_UNICODE_STRING lpFile
,
359 PRPC_SECURITY_ATTRIBUTES pSecurityAttributes
)
362 return ERROR_SUCCESS
;
369 BaseRegSetKeySecurity(
371 SECURITY_INFORMATION SecurityInformation
,
372 PRPC_SECURITY_DESCRIPTOR pRpcSecurityDescriptor
)
375 return ERROR_SUCCESS
;
384 PRPC_UNICODE_STRING lpValueName
,
390 return ERROR_SUCCESS
;
399 PRPC_UNICODE_STRING lpSubKey
)
402 return ERROR_SUCCESS
;
409 BaseInitiateSystemShutdown(
410 PREGISTRY_SERVER_NAME ServerName
,
411 PRPC_UNICODE_STRING lpMessage
,
413 BOOLEAN bForceAppsClosed
,
414 BOOLEAN bRebootAfterShutdown
)
416 TRACE("BaseInitiateSystemShutdown()\n");
417 return BaseInitiateSystemShutdownEx(ServerName
,
421 bRebootAfterShutdown
,
429 BaseAbortSystemShutdown(
430 PREGISTRY_SERVER_NAME ServerName
)
432 TRACE("BaseAbortSystemShutdown()\n");
434 //FIXME: Verify that the caller actually has the correct privileges
436 return TerminateSystemShutdown();
448 return ERROR_SUCCESS
;
456 PREGISTRY_SERVER_NAME ServerName
,
461 return ERROR_SUCCESS
;
468 Opnum28NotImplemented(
478 BaseRegQueryMultipleValues(
481 PRVALENT val_listOut
,
487 return ERROR_SUCCESS
;
494 BaseInitiateSystemShutdownEx(
495 PREGISTRY_SERVER_NAME ServerName
,
496 PRPC_UNICODE_STRING lpMessage
,
498 BOOLEAN bForceAppsClosed
,
499 BOOLEAN bRebootAfterShutdown
,
502 TRACE("BaseInitiateSystemShutdownEx()\n");
503 TRACE(" Message: %wZ\n", lpMessage
);
504 TRACE(" Timeout: %lu\n", dwTimeout
);
505 TRACE(" Force: %d\n", bForceAppsClosed
);
506 TRACE(" Reboot: %d\n", bRebootAfterShutdown
);
507 TRACE(" Reason: %lu\n", dwReason
);
509 //FIXME: Verify that the caller actually has the correct privileges
511 return StartSystemShutdown((PUNICODE_STRING
)lpMessage
,
514 bRebootAfterShutdown
,
524 PRPC_UNICODE_STRING lpFile
,
525 PRPC_SECURITY_ATTRIBUTES pSecurityAttributes
,
529 return ERROR_SUCCESS
;
537 PREGISTRY_SERVER_NAME ServerName
,
542 return ERROR_SUCCESS
;
549 OpenPerformanceNlsText(
550 PREGISTRY_SERVER_NAME ServerName
,
555 return ERROR_SUCCESS
;
562 BaseRegQueryMultipleValues2(
565 PRVALENT val_listOut
,
569 LPDWORD ldwRequiredSize
)
572 return ERROR_SUCCESS
;
581 PRPC_UNICODE_STRING lpSubKey
,
586 return ERROR_SUCCESS
;