Source code of Windows XP (NT5)
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

128 lines
2.7 KiB

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