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.

122 lines
2.1 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 _GRPUTILS_
  16. #define _GRPUTILS_
  17. #ifdef __cplusplus
  18. extern "C" {
  19. #endif
  20. typedef struct _computer_group_member{
  21. ULONG Type;
  22. ULONG ParentType;
  23. LPWSTR Parent;
  24. LPWSTR Computer;
  25. LPWSTR Domain;
  26. LPWSTR Name;
  27. PSID Sid;
  28. }COMPUTER_GROUP_MEMBER, *PCOMPUTER_GROUP_MEMBER, * LPCOMPUTER_GROUP_MEMBER;
  29. typedef struct _ini_comp_group{
  30. LPWSTR szDomainName;
  31. LPWSTR szComputerName;
  32. LPWSTR szGroupName;
  33. LPWSTR szUncCompName;
  34. LPBYTE _pBuffer;
  35. DWORD _dwObjectReturned;
  36. DWORD _dwCurrentObject;
  37. DWORD _dwTotalObjects;
  38. DWORD_PTR _dwResumeHandle;
  39. BOOL _bNoMore;
  40. }INI_COMP_GROUP, *PINI_COMP_GROUP, *LPINI_COMP_GROUP;
  41. BOOL
  42. WinNTLocalGroupOpen(
  43. LPWSTR szDomainName,
  44. LPWSTR szComputerName,
  45. LPWSTR szGroupName,
  46. PHANDLE phGroup
  47. );
  48. BOOL
  49. WinNTLocalGroupEnum(
  50. HANDLE hGroup,
  51. DWORD dwRequested,
  52. LPBYTE * ppBuffer,
  53. PDWORD pdwReturned
  54. );
  55. BOOL
  56. WinNTLocalGroupGetObject(
  57. HANDLE hGroup,
  58. LPCOMPUTER_GROUP_MEMBER * ppGroupMember
  59. );
  60. BOOL
  61. WinNTLocalGroupClose(
  62. HANDLE hGroup
  63. );
  64. void
  65. FreeIniCompGroup(
  66. PINI_COMP_GROUP pIniCompGrp
  67. );
  68. BOOL
  69. ComputeLocalGroupDataSize(
  70. LPCOMPUTER_GROUP_MEMBER * ppGroupMembers,
  71. DWORD dwReturned,
  72. PDWORD pdwSize
  73. );
  74. LPBYTE
  75. CopyIniCompGroupToCompGroup(
  76. LPCOMPUTER_GROUP_MEMBER pIntCompGrp,
  77. LPBYTE pExtCompGrp,
  78. LPBYTE pEnd
  79. );
  80. void
  81. FreeIntCompGroup(
  82. LPCOMPUTER_GROUP_MEMBER pCompGroupMember
  83. );
  84. BOOL
  85. BuildLocalGroupMember(
  86. HANDLE hGroup,
  87. LPBYTE lpBuffer,
  88. LPCOMPUTER_GROUP_MEMBER * ppGroupMember
  89. );
  90. LPBYTE
  91. PackStrings(
  92. LPWSTR *pSource,
  93. LPBYTE pDest,
  94. DWORD *DestOffsets,
  95. LPBYTE pEnd
  96. );
  97. #ifdef __cplusplus
  98. }
  99. #endif
  100. #endif // _GRPUTILS_