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.

150 lines
2.3 KiB

  1. //+---------------------------------------------------------------------------
  2. //
  3. // Microsoft Windows
  4. // Copyright (C) Microsoft Corporation, 1992 - 1995.
  5. //
  6. // File: oleds.h
  7. //
  8. // Contents: Public header file for all oleds client code
  9. //
  10. // Functions:
  11. //
  12. // History: 25-Oct-94 KrishnaG Created.
  13. //
  14. //----------------------------------------------------------------------------
  15. #ifndef _GRPUT3_
  16. #define _GRPUT3_
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. typedef struct _winnt_group{
  21. ULONG Type;
  22. LPWSTR Parent;
  23. LPWSTR Computer;
  24. LPWSTR Domain;
  25. LPWSTR Name;
  26. }WINNT_GROUP, *PWINNT_GROUP, * LPWINNT_GROUP;
  27. typedef struct _inicomputer{
  28. LPWSTR szDomainName;
  29. LPWSTR szComputerName;
  30. LPWSTR szUncCompName;
  31. ULONG uGroupParent;
  32. LPBYTE _pBuffer;
  33. DWORD _dwObjectReturned;
  34. DWORD _dwCurrentObject;
  35. DWORD _dwTotalObjects;
  36. DWORD_PTR _dwResumeHandle;
  37. BOOL _bNoMore;
  38. }INICOMPUTER, *PINICOMPUTER, *LPINICOMPUTER;
  39. BOOL
  40. WinNTComputerOpen(
  41. LPWSTR szDomainName,
  42. LPWSTR szComputerName,
  43. ULONG uGroupParent,
  44. PHANDLE phComputer
  45. );
  46. BOOL
  47. WinNTEnumGlobalGroups(
  48. HANDLE hComputer,
  49. DWORD dwRequested,
  50. LPBYTE * ppBuffer,
  51. PDWORD pdwReturned
  52. );
  53. BOOL
  54. WinNTComputerGetGlobalGroup(
  55. HANDLE hGroup,
  56. LPWINNT_GROUP * ppGroup
  57. );
  58. BOOL
  59. WinNTEnumLocalGroups(
  60. HANDLE hComputer,
  61. DWORD dwRequested,
  62. LPBYTE * ppBuffer,
  63. PDWORD pdwReturned
  64. );
  65. BOOL
  66. WinNTComputerGetLocalGroup(
  67. HANDLE hGroup,
  68. LPWINNT_GROUP * ppGroup
  69. );
  70. LPBYTE
  71. CopyIniWinNTGroupToWinNTGroup(
  72. LPWINNT_GROUP pIntGrp,
  73. LPBYTE pExtGrp,
  74. LPBYTE pEnd
  75. );
  76. BOOL
  77. BuildWinNTGroupFromGlobalGroup(
  78. HANDLE hComputer,
  79. LPBYTE lpBuffer,
  80. LPWINNT_GROUP * ppGroup
  81. );
  82. BOOL
  83. BuildWinNTGroupFromLocalGroup(
  84. HANDLE hComputer,
  85. LPBYTE lpBuffer,
  86. LPWINNT_GROUP * ppGroup
  87. );
  88. BOOL
  89. ComputeWinNTGroupDataSize(
  90. LPWINNT_GROUP * ppGroups,
  91. DWORD dwReturned,
  92. PDWORD pdwSize
  93. );
  94. BOOL
  95. WinNTCloseComputer(
  96. HANDLE hComputer
  97. );
  98. void
  99. FreeIniComputer(
  100. PINICOMPUTER pIniComputer
  101. );
  102. void
  103. FreeIntWinNTGroup(
  104. LPWINNT_GROUP pGroup
  105. );
  106. #define WINNT_GROUP_GLOBAL ADS_GROUP_TYPE_GLOBAL_GROUP
  107. #define WINNT_GROUP_LOCAL ADS_GROUP_TYPE_LOCAL_GROUP
  108. #define WINNT_GROUP_EITHER 3
  109. #ifdef __cplusplus
  110. }
  111. #endif
  112. #endif // _GRPUT3_