/*++ Copyright (c) 1990 Microsoft Corporation Module Name: bowser.idl Abstract: Contains the Netr (Net Remote) RPC interface specification for the APIs associated with the Browser service. This consists of the NetServerEnum API Also contains the RPC specific data structures for these API. Author: Rita Wong (ritaw) 06-May-1991 Larry Osterman (larryo) 23-Mar-1992 Environment: User Mode - Win32 - MIDL Revision History: --*/ // // Interface Attributes // [ uuid(6BFFD098-A112-3610-9833-012892020162), version(0.0), #ifdef __midl ms_union, #endif // __midl pointer_default(unique) ] // // Interface Keyword // interface browser // // Interface Body // { import "imports.idl"; #include // // BUGBUG - take this definition out when midl understands LPWSTR etc // #ifdef UNICODE #define LPTSTR wchar_t* #endif // // ---------------------------------------------------------------// // typedef [handle] LPTSTR BROWSER_IMPERSONATE_HANDLE; typedef [handle] LPTSTR BROWSER_IDENTIFY_HANDLE; // // I_BrowserrServerEnum // typedef struct _SERVER_INFO_100_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] LPSERVER_INFO_100 Buffer; } SERVER_INFO_100_CONTAINER, *PSERVER_INFO_100_CONTAINER, *LPSERVER_INFO_100_CONTAINER; typedef struct _SERVER_INFO_101_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] LPSERVER_INFO_101 Buffer; } SERVER_INFO_101_CONTAINER, *PSERVER_INFO_101_CONTAINER, *LPSERVER_INFO_101_CONTAINER; 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_EMULATED_DOMAIN_CONTAINER { DWORD EntriesRead; [size_is(EntriesRead)] PBROWSER_EMULATED_DOMAIN Buffer; } BROWSER_EMULATED_DOMAIN_CONTAINER, *PBROWSER_EMULATED_DOMAIN_CONTAINER; typedef struct _SERVER_ENUM_STRUCT { DWORD Level; [switch_is(Level)] union _SERVER_ENUM_UNION { [case(100)] LPSERVER_INFO_100_CONTAINER Level100; [case(101)] LPSERVER_INFO_101_CONTAINER Level101; [default] ; } ServerInfo; }SERVER_ENUM_STRUCT, *PSERVER_ENUM_STRUCT, *LPSERVER_ENUM_STRUCT; 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; NET_API_STATUS I_BrowserrServerEnum( [in,string,unique] BROWSER_IDENTIFY_HANDLE ServerName, [in,string,unique] LPTSTR TransportName, [in,string,unique] LPTSTR ClientName, [in,out] LPSERVER_ENUM_STRUCT InfoStruct, [in] DWORD PreferedMaximumLength, [out] LPDWORD TotalEntries, [in] DWORD ServerType, [in,string,unique] LPTSTR Domain, [in,out,unique] LPDWORD ResumeHandle ); NET_API_STATUS I_BrowserrDebugCall( [in,string,unique] BROWSER_IDENTIFY_HANDLE ServerName, [in] DWORD DebugFunction, [in] DWORD OptionalValue ); NET_API_STATUS I_BrowserrQueryOtherDomains( [in,string,unique] BROWSER_IDENTIFY_HANDLE ServerName, [in,out] LPSERVER_ENUM_STRUCT InfoStruct, [out] LPDWORD TotalEntries ); NET_API_STATUS I_BrowserrResetNetlogonState( [in,string,unique] BROWSER_IDENTIFY_HANDLE ServerName ); NET_API_STATUS I_BrowserrDebugTrace( [in,string,unique] BROWSER_IDENTIFY_HANDLE ServerName, [in, string] LPSTR TraceString ); NET_API_STATUS I_BrowserrQueryStatistics ( [in, string, unique] BROWSER_IDENTIFY_HANDLE servername OPTIONAL, [out] LPBROWSER_STATISTICS *statistics ); NET_API_STATUS I_BrowserrResetStatistics ( [in, string, unique] BROWSER_IDENTIFY_HANDLE servername OPTIONAL ); NET_API_STATUS NetrBrowserStatisticsClear ( [in, string, unique] BROWSER_IDENTIFY_HANDLE servername OPTIONAL ); NET_API_STATUS NetrBrowserStatisticsGet ( [in, string, unique] BROWSER_IDENTIFY_HANDLE servername OPTIONAL, [in] DWORD Level, [in, out] LPBROWSER_STATISTICS_STRUCT StatisticsStruct ); NET_API_STATUS I_BrowserrSetNetlogonState( [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName OPTIONAL, [in, string] LPTSTR DomainName, [in, string, unique] LPTSTR EmulatedComputerName OPTIONAL, [in] DWORD Role ); NET_API_STATUS I_BrowserrQueryEmulatedDomains ( [in, string, unique] BROWSER_IDENTIFY_HANDLE ServerName OPTIONAL, [in,out] PBROWSER_EMULATED_DOMAIN_CONTAINER EmulatedDomains ); NET_API_STATUS I_BrowserrServerEnumEx( [in,string,unique] BROWSER_IDENTIFY_HANDLE ServerName, [in,string,unique] LPTSTR TransportName, [in,string,unique] LPTSTR ClientName, [in,out] LPSERVER_ENUM_STRUCT InfoStruct, [in] DWORD PreferedMaximumLength, [out] LPDWORD TotalEntries, [in] DWORD ServerType, [in,string,unique] LPTSTR Domain, [in,string,unique] LPTSTR FirstNameToReturn ); }