home *** CD-ROM | disk | FTP | other *** search
/ Tricks of the Windows Gam…ming Gurus (2nd Edition) / Disc2.iso / vc98 / include / lmbrowsr.h < prev    next >
C/C++ Source or Header  |  1998-04-25  |  6KB  |  218 lines

  1. /*++ BUILD Version: 0007    // Increment this if a change has global effects
  2.  
  3. Copyright 1990 - 1998 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     lmbrowsr.h
  8.  
  9. Abstract:
  10.  
  11.     This file contains information about browser stubbed versions of the
  12.     NetServer APIs.
  13.         Function Prototypes
  14.         Data Structures
  15.         Definition of special values
  16.  
  17. Environment:
  18.  
  19.     User Mode - Win32
  20.  
  21. Notes:
  22.  
  23.     You must include NETCONS.H before this file, since this file depends
  24.     on values defined in NETCONS.H.
  25.  
  26.  
  27. --*/
  28.  
  29. #ifndef _LMBROWSR_
  30. #define _LMBROWSR_
  31.  
  32. #ifdef __cplusplus
  33. extern "C" {
  34. #endif
  35.  
  36.  
  37. typedef struct _BROWSER_STATISTICS {
  38.     LARGE_INTEGER   StatisticsStartTime;
  39.     LARGE_INTEGER   NumberOfServerAnnouncements;
  40.     LARGE_INTEGER   NumberOfDomainAnnouncements;
  41.     ULONG           NumberOfElectionPackets;
  42.     ULONG           NumberOfMailslotWrites;
  43.     ULONG           NumberOfGetBrowserServerListRequests;
  44.     ULONG           NumberOfServerEnumerations;
  45.     ULONG           NumberOfDomainEnumerations;
  46.     ULONG           NumberOfOtherEnumerations;
  47.     ULONG           NumberOfMissedServerAnnouncements;
  48.     ULONG           NumberOfMissedMailslotDatagrams;
  49.     ULONG           NumberOfMissedGetBrowserServerListRequests;
  50.     ULONG           NumberOfFailedServerAnnounceAllocations;
  51.     ULONG           NumberOfFailedMailslotAllocations;
  52.     ULONG           NumberOfFailedMailslotReceives;
  53.     ULONG           NumberOfFailedMailslotWrites;
  54.     ULONG           NumberOfFailedMailslotOpens;
  55.     ULONG           NumberOfDuplicateMasterAnnouncements;
  56.     LARGE_INTEGER   NumberOfIllegalDatagrams;
  57. } BROWSER_STATISTICS, *PBROWSER_STATISTICS, *LPBROWSER_STATISTICS;
  58.  
  59. typedef struct _BROWSER_STATISTICS_100 {
  60.     LARGE_INTEGER   StartTime;
  61.     LARGE_INTEGER   NumberOfServerAnnouncements;
  62.     LARGE_INTEGER   NumberOfDomainAnnouncements;
  63.     ULONG           NumberOfElectionPackets;
  64.     ULONG           NumberOfMailslotWrites;
  65.     ULONG           NumberOfGetBrowserServerListRequests;
  66.     LARGE_INTEGER   NumberOfIllegalDatagrams;
  67. } BROWSER_STATISTICS_100, *PBROWSER_STATISTICS_100;
  68.  
  69. typedef struct _BROWSER_STATISTICS_101 {
  70.     LARGE_INTEGER   StartTime;
  71.     LARGE_INTEGER   NumberOfServerAnnouncements;
  72.     LARGE_INTEGER   NumberOfDomainAnnouncements;
  73.     ULONG           NumberOfElectionPackets;
  74.     ULONG           NumberOfMailslotWrites;
  75.     ULONG           NumberOfGetBrowserServerListRequests;
  76.     LARGE_INTEGER   NumberOfIllegalDatagrams;
  77.  
  78.     ULONG           NumberOfMissedServerAnnouncements;
  79.     ULONG           NumberOfMissedMailslotDatagrams;
  80.     ULONG           NumberOfMissedGetBrowserServerListRequests;
  81.     ULONG           NumberOfFailedServerAnnounceAllocations;
  82.     ULONG           NumberOfFailedMailslotAllocations;
  83.     ULONG           NumberOfFailedMailslotReceives;
  84.     ULONG           NumberOfFailedMailslotWrites;
  85.     ULONG           NumberOfFailedMailslotOpens;
  86.     ULONG           NumberOfDuplicateMasterAnnouncements;
  87. } BROWSER_STATISTICS_101, *PBROWSER_STATISTICS_101;
  88.  
  89.  
  90. typedef struct _BROWSER_EMULATED_DOMAIN {
  91. #ifdef MIDL_PASS
  92.     [string] wchar_t *DomainName;
  93. #else
  94.     LPWSTR DomainName;
  95. #endif // MIDL_PASS
  96. #ifdef MIDL_PASS
  97.     [string] wchar_t *EmulatedServerName;
  98. #else
  99.     LPWSTR EmulatedServerName;
  100. #endif // MIDL_PASS
  101.     DWORD Role;
  102. } BROWSER_EMULATED_DOMAIN, *PBROWSER_EMULATED_DOMAIN;
  103.  
  104. //
  105. // Function Prototypes - BROWSER
  106. //
  107.  
  108. NET_API_STATUS NET_API_FUNCTION
  109. I_BrowserServerEnum (
  110.     IN  LPCWSTR     servername OPTIONAL,
  111.     IN  LPCWSTR     transport OPTIONAL,
  112.     IN  LPCWSTR     clientname OPTIONAL,
  113.     IN  DWORD       level,
  114.     OUT LPBYTE      *bufptr,
  115.     IN  DWORD       prefmaxlen,
  116.     OUT LPDWORD     entriesread,
  117.     OUT LPDWORD     totalentries,
  118.     IN  DWORD       servertype,
  119.     IN  LPCWSTR     domain OPTIONAL,
  120.     IN OUT LPDWORD  resume_handle OPTIONAL
  121.     );
  122.  
  123. NET_API_STATUS NET_API_FUNCTION
  124. I_BrowserServerEnumEx (
  125.     IN  LPCWSTR     servername OPTIONAL,
  126.     IN  LPCWSTR     transport OPTIONAL,
  127.     IN  LPCWSTR     clientname OPTIONAL,
  128.     IN  DWORD       level,
  129.     OUT LPBYTE      *bufptr,
  130.     IN  DWORD       prefmaxlen,
  131.     OUT LPDWORD     entriesread,
  132.     OUT LPDWORD     totalentries,
  133.     IN  DWORD       servertype,
  134.     IN  LPCWSTR     domain OPTIONAL,
  135.     IN  LPCWSTR     FirstNameToReturn OPTIONAL
  136.     );
  137.  
  138.  
  139. NET_API_STATUS
  140. I_BrowserQueryOtherDomains (
  141.     IN  LPCWSTR      servername OPTIONAL,
  142.     OUT LPBYTE      *bufptr,
  143.     OUT LPDWORD     entriesread,
  144.     OUT LPDWORD     totalentries
  145.     );
  146.  
  147. NET_API_STATUS
  148. I_BrowserResetNetlogonState (
  149.     IN  LPCWSTR      servername OPTIONAL
  150.     );
  151.  
  152. NET_API_STATUS
  153. I_BrowserSetNetlogonState(
  154.     IN LPWSTR ServerName OPTIONAL,
  155.     IN LPWSTR DomainName,
  156.     IN LPWSTR EmulatedServerName OPTIONAL,
  157.     IN DWORD Role
  158.     );
  159.  
  160. #define BROWSER_ROLE_PDC 0x1
  161. #define BROWSER_ROLE_BDC 0x2
  162.  
  163. NET_API_STATUS
  164. I_BrowserQueryEmulatedDomains(
  165.     IN LPWSTR ServerName OPTIONAL,
  166.     OUT PBROWSER_EMULATED_DOMAIN *EmulatedDomains,
  167.     OUT LPDWORD EntriesRead );
  168.  
  169. NET_API_STATUS
  170. I_BrowserQueryStatistics (
  171.     IN  LPCWSTR      servername OPTIONAL,
  172.     OUT LPBROWSER_STATISTICS *statistics
  173.     );
  174.  
  175. NET_API_STATUS
  176. I_BrowserResetStatistics (
  177.     IN  LPCWSTR      servername OPTIONAL
  178.     );
  179.  
  180.  
  181. WORD
  182. I_BrowserServerEnumForXactsrv(
  183.     IN LPCWSTR TransportName OPTIONAL,
  184.     IN LPCWSTR ClientName OPTIONAL,
  185.  
  186.     IN ULONG NtLevel,
  187.     IN USHORT ClientLevel,
  188.  
  189.     OUT PVOID Buffer,
  190.     IN WORD BufferLength,
  191.     IN DWORD PreferedMaximumLength,
  192.  
  193.     OUT LPDWORD EntriesRead,
  194.     OUT LPDWORD TotalEntries,
  195.  
  196.     IN DWORD ServerType,
  197.     IN LPCWSTR Domain,
  198.     IN LPCWSTR FirstNameToReturn,
  199.  
  200.     OUT PWORD Converter
  201.  
  202.     );
  203.  
  204. #ifdef __cplusplus
  205. }
  206. #endif
  207.  
  208. #if DBG
  209. NET_API_STATUS
  210. I_BrowserDebugTrace(
  211.     PWCHAR Server,
  212.     PCHAR Buffer
  213.     );
  214.  
  215. #endif
  216.  
  217. #endif // _LMBROWSR_
  218.