home *** CD-ROM | disk | FTP | other *** search
/ PC Plus SuperCD (UK) 2000 May / PCP163A.iso / Runimage / Cbuilder4 / Include / LMREMUTL.H < prev    next >
Encoding:
C/C++ Source or Header  |  1999-01-26  |  2.9 KB  |  131 lines

  1. /*++ BUILD Version: 0001    // Increment this if a change has global effects
  2.  
  3. Copyright 1991-1998 Microsoft Corporation
  4.  
  5. Module Name:
  6.  
  7.     lmremutl.h
  8.  
  9. Abstract:
  10.  
  11.     This file contains structures, function prototypes, and definitions
  12.     for the NetRemote API.
  13.  
  14. Environment:
  15.  
  16.     User Mode - Win32
  17.     Portable to any flat, 32-bit environment.  (Uses Win32 typedefs.)
  18.     Requires ANSI C extensions: slash-slash comments, long external names.
  19.  
  20. --*/
  21.  
  22. #ifndef _LMREMUTL_
  23. #pragma option push -b -a8 -pc -A- /*P_O_Push_S*/
  24. #define _LMREMUTL_
  25.  
  26. #ifdef __cplusplus
  27. extern "C" {
  28. #endif
  29.  
  30.  
  31. //
  32. // Type Definitions
  33. //
  34.  
  35. #ifndef DESC_CHAR_UNICODE
  36.  
  37. typedef CHAR DESC_CHAR;
  38.  
  39. #else // DESC_CHAR_UNICODE is defined
  40.  
  41. typedef WCHAR DESC_CHAR;
  42.  
  43. #endif // DESC_CHAR_UNICODE is defined
  44.  
  45.  
  46. typedef DESC_CHAR * LPDESC;
  47.  
  48.  
  49. //
  50. // Function Prototypes
  51. //
  52.  
  53. NET_API_STATUS NET_API_FUNCTION
  54. NetRemoteTOD (
  55.     IN LPCWSTR UncServerName,
  56.     OUT LPBYTE *BufferPtr
  57.     );
  58.  
  59. NET_API_STATUS NET_API_FUNCTION
  60. NetRemoteComputerSupports(
  61.     IN LPCWSTR UncServerName OPTIONAL,   // Must start with "\\".
  62.     IN DWORD OptionsWanted,             // Set SUPPORTS_ bits wanted.
  63.     OUT LPDWORD OptionsSupported        // Supported features, masked.
  64.     );
  65.  
  66. NET_API_STATUS
  67. RxRemoteApi(
  68.     IN DWORD ApiNumber,
  69.     IN LPCWSTR UncServerName,                    // Required, with \\name.
  70.     IN LPDESC ParmDescString,
  71.     IN LPDESC DataDesc16 OPTIONAL,
  72.     IN LPDESC DataDesc32 OPTIONAL,
  73.     IN LPDESC DataDescSmb OPTIONAL,
  74.     IN LPDESC AuxDesc16 OPTIONAL,
  75.     IN LPDESC AuxDesc32 OPTIONAL,
  76.     IN LPDESC AuxDescSmb OPTIONAL,
  77.     IN DWORD  Flags,
  78.     ...                                         // rest of API's arguments
  79.     );
  80.  
  81.  
  82.  
  83. //
  84. //  Data Structures
  85. //
  86.  
  87. typedef struct _TIME_OF_DAY_INFO {
  88.     DWORD      tod_elapsedt;
  89.     DWORD      tod_msecs;
  90.     DWORD      tod_hours;
  91.     DWORD      tod_mins;
  92.     DWORD      tod_secs;
  93.     DWORD      tod_hunds;
  94.     LONG       tod_timezone;
  95.     DWORD      tod_tinterval;
  96.     DWORD      tod_day;
  97.     DWORD      tod_month;
  98.     DWORD      tod_year;
  99.     DWORD      tod_weekday;
  100. } TIME_OF_DAY_INFO, *PTIME_OF_DAY_INFO, *LPTIME_OF_DAY_INFO;
  101.  
  102. //
  103. // Special Values and Constants
  104. //
  105.  
  106. //
  107. // Mask bits for use with NetRemoteComputerSupports:
  108. //
  109.  
  110. #define SUPPORTS_REMOTE_ADMIN_PROTOCOL  0x00000002L
  111. #define SUPPORTS_RPC                    0x00000004L
  112. #define SUPPORTS_SAM_PROTOCOL           0x00000008L
  113. #define SUPPORTS_UNICODE                0x00000010L
  114. #define SUPPORTS_LOCAL                  0x00000020L
  115. #define SUPPORTS_ANY                    0xFFFFFFFFL
  116.  
  117. //
  118. // Flag bits for RxRemoteApi:
  119. //
  120.  
  121. #define NO_PERMISSION_REQUIRED  0x00000001      // set if use NULL session
  122. #define ALLOCATE_RESPONSE       0x00000002      // set if RxRemoteApi allocates response buffer
  123. #define USE_SPECIFIC_TRANSPORT  0x80000000
  124.  
  125. #ifdef __cplusplus
  126. }
  127. #endif
  128.  
  129. #pragma option pop /*P_O_Pop*/
  130. #endif //_LMREMUTL_
  131.