2 * COPYRIGHT: See COPYING in the top level directory
4 * FILE: dll/win32/netapi32/browser.c
5 * PURPOSE: Computer Browser service interface code
6 * PROGRAMMERS: Eric Kohl (eric.kohl@reactos.org)
9 /* INCLUDES ******************************************************************/
15 #include "browser_c.h"
18 WINE_DEFAULT_DEBUG_CHANNEL(netapi32
);
20 /* FUNCTIONS *****************************************************************/
23 BROWSER_IDENTIFY_HANDLE_bind(BROWSER_IDENTIFY_HANDLE pszSystemName
)
25 handle_t hBinding
= NULL
;
26 LPWSTR pszStringBinding
;
29 TRACE("BROWSER_IDENTIFY_HANDLE_bind() called\n");
31 status
= RpcStringBindingComposeW(NULL
,
39 TRACE("RpcStringBindingCompose returned 0x%x\n", status
);
43 /* Set the binding handle that will be used to bind to the server. */
44 status
= RpcBindingFromStringBindingW(pszStringBinding
,
48 TRACE("RpcBindingFromStringBinding returned 0x%x\n", status
);
51 status
= RpcStringFreeW(&pszStringBinding
);
54 // TRACE("RpcStringFree returned 0x%x\n", status);
62 BROWSER_IDENTIFY_HANDLE_unbind(BROWSER_IDENTIFY_HANDLE pszSystemName
,
67 TRACE("BROWSER_IDENTIFY_HANDLE_unbind() called\n");
69 status
= RpcBindingFree(&hBinding
);
72 TRACE("RpcBindingFree returned 0x%x\n", status
);
79 I_BrowserQueryEmulatedDomains(
80 _In_opt_ LPWSTR ServerName
,
81 _Out_ PBROWSER_EMULATED_DOMAIN
*EmulatedDomains
,
82 _Out_ LPDWORD EntriesRead
)
84 BROWSER_EMULATED_DOMAIN_CONTAINER Container
= {0, NULL
};
85 NET_API_STATUS status
;
87 TRACE("I_BrowserQueryEmulatedDomains(%s %p %p)\n",
88 debugstr_w(ServerName
), EmulatedDomains
, EntriesRead
);
90 *EmulatedDomains
= NULL
;
95 status
= I_BrowserrQueryEmulatedDomains(ServerName
,
98 if (status
== NERR_Success
)
100 *EmulatedDomains
= (PBROWSER_EMULATED_DOMAIN
)Container
.Buffer
;
101 *EntriesRead
= Container
.EntriesRead
;
104 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
106 status
= I_RpcMapWin32Status(RpcExceptionCode());
116 I_BrowserResetStatistics(
117 _In_opt_ LPCWSTR ServerName
)
119 NET_API_STATUS status
;
121 TRACE("I_BrowserResetStatistics(%s)\n",
122 debugstr_w(ServerName
));
126 status
= I_BrowserrResetStatistics((PWSTR
)ServerName
);
128 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
130 status
= I_RpcMapWin32Status(RpcExceptionCode());
140 I_BrowserSetNetlogonState(
141 _In_ LPWSTR ServerName
,
142 _In_ LPWSTR DomainName
,
143 _In_ LPWSTR EmulatedServerName
,
146 NET_API_STATUS status
;
148 TRACE("I_BrowserSetNetlogonState(%s %s %s %lu)\n",
149 debugstr_w(ServerName
), debugstr_w(ServerName
),
150 debugstr_w(EmulatedServerName
), Role
);
154 status
= I_BrowserrSetNetlogonState(ServerName
,
159 RpcExcept(EXCEPTION_EXECUTE_HANDLER
)
161 status
= I_RpcMapWin32Status(RpcExceptionCode());
172 _In_opt_ LMCSTR servername
,
174 _Out_ LPBYTE
*bufptr
,
175 _In_ DWORD prefmaxlen
,
176 _Out_ LPDWORD entriesread
,
177 _Out_ LPDWORD totalentries
,
178 _In_ DWORD servertype
,
179 _In_opt_ LMCSTR domain
,
180 _Inout_opt_ LPDWORD resume_handle
)
182 FIXME("NetServerEnum(%s %lu %p %lu %p %p %lu %s %p)\n",
183 debugstr_w(servername
), level
, bufptr
, prefmaxlen
, entriesread
,
184 totalentries
, servertype
, debugstr_w(domain
), resume_handle
);
186 return ERROR_NO_BROWSER_SERVERS_FOUND
;
193 _In_opt_ LMCSTR ServerName
,
195 _Out_ LPBYTE
*Bufptr
,
196 _In_ DWORD PrefMaxlen
,
197 _Out_ LPDWORD EntriesRead
,
198 _Out_ LPDWORD totalentries
,
199 _In_ DWORD servertype
,
200 _In_opt_ LMCSTR domain
,
201 _In_opt_ LMCSTR FirstNameToReturn
)
203 FIXME("NetServerEnumEx(%s %lu %p %lu %p %p %lu %s %s)\n",
204 debugstr_w(ServerName
), Level
, Bufptr
, PrefMaxlen
, EntriesRead
, totalentries
,
205 servertype
, debugstr_w(domain
), debugstr_w(FirstNameToReturn
));
207 return ERROR_NO_BROWSER_SERVERS_FOUND
;