[ROSTESTS] fix x64 build and fix/disable warnings
[reactos.git] / dll / win32 / advapi32 / service / winreg.c
1 /*
2 * COPYRIGHT: See COPYING in the top level directory
3 * PROJECT: ReactOS system libraries
4 * FILE: lib/advapi32/service/winreg.c
5 * PURPOSE: Remote registry functions
6 * PROGRAMMER: Eric Kohl
7 */
8
9 /* INCLUDES ******************************************************************/
10
11 #include <advapi32.h>
12 WINE_DEFAULT_DEBUG_CHANNEL(advapi);
13
14
15 /* FUNCTIONS *****************************************************************/
16
17
18 handle_t __RPC_USER
19 PREGISTRY_SERVER_NAME_bind(PREGISTRY_SERVER_NAME pszServerName)
20 {
21 handle_t hBinding = NULL;
22 LPWSTR pszStringBinding;
23 RPC_STATUS status;
24
25 TRACE("PREGISTRY_SERVER_NAME_bind() called\n");
26
27 status = RpcStringBindingComposeW(NULL,
28 L"ncacn_np",
29 pszServerName,
30 L"\\pipe\\winreg",
31 NULL,
32 &pszStringBinding);
33 if (status != RPC_S_OK)
34 {
35 ERR("RpcStringBindingCompose returned 0x%x\n", status);
36 return NULL;
37 }
38
39 /* Set the binding handle that will be used to bind to the server. */
40 status = RpcBindingFromStringBindingW(pszStringBinding,
41 &hBinding);
42 if (status != RPC_S_OK)
43 {
44 ERR("RpcBindingFromStringBinding returned 0x%x\n", status);
45 }
46
47 status = RpcStringFreeW(&pszStringBinding);
48 if (status != RPC_S_OK)
49 {
50 ERR("RpcStringFree returned 0x%x\n", status);
51 }
52
53 return hBinding;
54 }
55
56
57 void __RPC_USER
58 PREGISTRY_SERVER_NAME_unbind(PREGISTRY_SERVER_NAME pszServerName,
59 handle_t hBinding)
60 {
61 RPC_STATUS status;
62
63 TRACE("PREGISTRY_SERVER_NAME_unbind() called\n");
64
65 status = RpcBindingFree(&hBinding);
66 if (status != RPC_S_OK)
67 {
68 ERR("RpcBindingFree returned 0x%x\n", status);
69 }
70 }
71
72 /* EOF */