windows-nt/Source/XPSP1/NT/ds/netapi/svcdlls/browser/idl/bowser.idl
2020-09-26 16:20:57 +08:00

223 lines
5.6 KiB
Plaintext

/*++
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 <lmcons.h>
//
// 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
);
}