typedef [handle] wchar_t *BROWSER_IDENTIFY_HANDLE;
+cpp_quote("#ifndef _LMBROWSR_H")
+typedef struct _BROWSER_EMULATED_DOMAIN
+{
+ LPWSTR DomainName;
+ LPWSTR EmulatedServerName;
+ DWORD Role;
+} BROWSER_EMULATED_DOMAIN, *PBROWSER_EMULATED_DOMAIN;
+cpp_quote("#endif")
+
+typedef struct _BROWSER_EMULATED_DOMAIN_CONTAINER
+{
+ DWORD EntriesRead;
+ [size_is(EntriesRead)] PBROWSER_EMULATED_DOMAIN Buffer;
+} BROWSER_EMULATED_DOMAIN_CONTAINER, *PBROWSER_EMULATED_DOMAIN_CONTAINER;
+
+cpp_quote("#ifndef _LMSERVER_H")
typedef struct _SERVER_INFO_100
{
DWORD sv100_platform_id;
LPWSTR sv100_name;
} SERVER_INFO_100, *PSERVER_INFO_100, *LPSERVER_INFO_100;
+cpp_quote("#endif")
typedef struct _SERVER_INFO_100_CONTAINER
{
} ServerInfo;
} SERVER_ENUM_STRUCT, *PSERVER_ENUM_STRUCT, *LPSERVER_ENUM_STRUCT;
+cpp_quote("#ifndef _LMBROWSR_H")
+typedef struct _BROWSER_STATISTICS
+{
+ LARGE_INTEGER StatisticsStartTime;
+ LARGE_INTEGER NumberOfServerAnnouncements;
+ LARGE_INTEGER NumberOfDomainAnnouncements;
+ ULONG NumberOfElectionPackets;
+ ULONG NumberOfMailslotWrites;
+ ULONG NumberOfGetBrowserServerListRequests;
+ ULONG NumberOfServerEnumerations;
+ ULONG NumberOfDomainEnumerations;
+ ULONG NumberOfOtherEnumerations;
+ ULONG NumberOfMissedServerAnnouncements;
+ ULONG NumberOfMissedMailslotDatagrams;
+ ULONG NumberOfMissedGetBrowserServerListRequests;
+ ULONG NumberOfFailedServerAnnounceAllocations;
+ ULONG NumberOfFailedMailslotAllocations;
+ ULONG NumberOfFailedMailslotReceives;
+ ULONG NumberOfFailedMailslotWrites;
+ ULONG NumberOfFailedMailslotOpens;
+ ULONG NumberOfDuplicateMasterAnnouncements;
+ LARGE_INTEGER NumberOfIllegalDatagrams;
+} BROWSER_STATISTICS,*PBROWSER_STATISTICS,*LPBROWSER_STATISTICS;
+
+typedef struct _BROWSER_STATISTICS_100
+{
+ LARGE_INTEGER StartTime;
+ LARGE_INTEGER NumberOfServerAnnouncements;
+ LARGE_INTEGER NumberOfDomainAnnouncements;
+ ULONG NumberOfElectionPackets;
+ ULONG NumberOfMailslotWrites;
+ ULONG NumberOfGetBrowserServerListRequests;
+ LARGE_INTEGER NumberOfIllegalDatagrams;
+} BROWSER_STATISTICS_100,*PBROWSER_STATISTICS_100;
+
+typedef struct _BROWSER_STATISTICS_101
+{
+ LARGE_INTEGER StartTime;
+ LARGE_INTEGER NumberOfServerAnnouncements;
+ LARGE_INTEGER NumberOfDomainAnnouncements;
+ ULONG NumberOfElectionPackets;
+ ULONG NumberOfMailslotWrites;
+ ULONG NumberOfGetBrowserServerListRequests;
+ LARGE_INTEGER NumberOfIllegalDatagrams;
+ ULONG NumberOfMissedServerAnnouncements;
+ ULONG NumberOfMissedMailslotDatagrams;
+ ULONG NumberOfMissedGetBrowserServerListRequests;
+ ULONG NumberOfFailedServerAnnounceAllocations;
+ ULONG NumberOfFailedMailslotAllocations;
+ ULONG NumberOfFailedMailslotReceives;
+ ULONG NumberOfFailedMailslotWrites;
+ ULONG NumberOfFailedMailslotOpens;
+ ULONG NumberOfDuplicateMasterAnnouncements;
+} BROWSER_STATISTICS_101,*PBROWSER_STATISTICS_101;
+cpp_quote("#endif")
+
+typedef struct _BROWSER_STATISTICS_100_CONTAINER
+{
+ DWORD EntriesRead;
+ [size_is(EntriesRead)] PBROWSER_STATISTICS_100 Buffer;
+} BROWSER_STATISTICS_100_CONTAINER, *PBROWSER_STATISTICS_100_CONTAINER;
+
+typedef struct _BROWSER_STATISTICS_101_CONTAINER
+{
+ DWORD EntriesRead;
+ [size_is(EntriesRead)] PBROWSER_STATISTICS_101 Buffer;
+} BROWSER_STATISTICS_101_CONTAINER, *PBROWSER_STATISTICS_101_CONTAINER;
+
+typedef struct _BROWSER_STATISTICS_STRUCT
+{
+ DWORD Level;
+ [switch_is(Level)] union _BROWSER_STATISTICS_UNION
+ {
+ [case(100)] PBROWSER_STATISTICS_100_CONTAINER Level100;
+ [case(101)] PBROWSER_STATISTICS_101_CONTAINER Level101;
+ [default] ;
+ } Statistics;
+} BROWSER_STATISTICS_STRUCT, *PBROWSER_STATISTICS_STRUCT, *LPBROWSER_STATISTICS_STRUCT;
[
uuid(6BFFD098-A112-3610-9833-012892020162),
]
interface browser
{
- /* Function 0 (BrowserrServerEnum) */
+ /* Function 0 */
NET_API_STATUS
__stdcall
- BrowserOpnum0NotUsedOnWire(void);
+ I_BrowserrServerEnum(
+ [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
+ [in, string, unique] LPWSTR Transport,
+ [in, string, unique] LPWSTR ClientName,
+ [in, out] LPSERVER_ENUM_STRUCT EnumStruct,
+ [in] DWORD PreferedMaximumLength,
+ [out] LPDWORD TotalEntries,
+ [in] DWORD ServerType,
+ [in, string, unique] LPWSTR Domain,
+ [in, out, unique] LPDWORD ResumeHandle);
/* Function 1 (BrowserrDebugCall) */
NET_API_STATUS
__stdcall
BrowserOpnum1NotUsedOnWire(void);
- /* Function 2 (BrowserrQueryOtherDomains) */
+ /* Function 2 */
NET_API_STATUS
__stdcall
I_BrowserrQueryOtherDomains(
[in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
- [in, out] LPSERVER_ENUM_STRUCT InfoStruct,
+ [in, out] LPSERVER_ENUM_STRUCT EnumStruct,
[out] LPDWORD TotalEntries);
- /* Function 3 (BrowserrResetNetlogonState) */
+ /* Function 3 */
NET_API_STATUS
__stdcall
- BrowserOpnum3NotUsedOnWire(void);
+ I_BrowserrResetNetlogonState(
+ [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName);
- /* Function 4 (BrowserrDebugTrace) */
+ /* Function 4 */
NET_API_STATUS
__stdcall
- BrowserOpnum4NotUsedOnWire(void);
+ I_BrowserrDebugTrace(
+ [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
+ [in, string] LPSTR String);
- /* Function 5 (BrowserrQueryStatistics) */
+ /* Function 5 */
NET_API_STATUS
__stdcall
- BrowserOpnum5NotUsedOnWire(void);
+ I_BrowserrQueryStatistics(
+ [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
+ [out] LPBROWSER_STATISTICS *Statistics);
- /* Function 6 (BrowserrResetStatistics) */
+ /* Function 6 */
NET_API_STATUS
__stdcall
- BrowserOpnum6NotUsedOnWire(void);
+ I_BrowserrResetStatistics(
+ [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName);
/* Function 7 (NetrBrowserStatisticsClear) */
NET_API_STATUS
__stdcall
BrowserOpnum7NotUsedOnWire(void);
- /* Function 8 (NetrBrowserStatisticsGet) */
+ /* Function 8 */
NET_API_STATUS
__stdcall
- BrowserOpnum8NotUsedOnWire(void);
+ NetrBrowserStatisticsGet(
+ [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
+ [in] DWORD Level,
+ [in, out] LPBROWSER_STATISTICS_STRUCT StatisticsStruct);
- /* Function 9 (BrowserrSetNetlogonState) */
+ /* Function 9 */
NET_API_STATUS
__stdcall
- BrowserOpnum9NotUsedOnWire(void);
+ I_BrowserrSetNetlogonState(
+ [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
+ [in, string] LPWSTR DomainName,
+ [in, string, unique] LPWSTR EmulatedComputerName,
+ [in] DWORD Role);
- /* Function 10 (BrowserrQueryEmulatedDomains) */
+ /* Function 10 */
NET_API_STATUS
__stdcall
- BrowserOpnum10NotUsedOnWire(void);
+ I_BrowserrQueryEmulatedDomains(
+ [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName,
+ [in, out] PBROWSER_EMULATED_DOMAIN_CONTAINER EmulatedDomains);
/* Function 11 (BrowserrServerEnumEx) */
NET_API_STATUS