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.

124 lines
3.4 KiB

  1. //============================================================================
  2. // Copyright (c) 1995, Microsoft Corporation
  3. //
  4. // File: enum.h
  5. //
  6. // History:
  7. // V Raman June-25-1997 Created.
  8. //
  9. // Enumeration functions.
  10. //============================================================================
  11. #ifndef _ENUM_H_
  12. #define _ENUM_H_
  13. //----------------------------------------------------------------------------
  14. //
  15. // GROUP_ENUMERATOR
  16. //
  17. // dwLastGroup Last group returned by this enumeration.
  18. //
  19. // dwLastGroupMask Mask associated with the group in dwLastGroup.
  20. //
  21. // dwLastSource Last source returned by this enumeration.
  22. //
  23. // dwLastSourceMask Mask associated with the group in dwLastSource.
  24. //
  25. // dwSignature Signature to mark this as a valid enumerator
  26. //
  27. //----------------------------------------------------------------------------
  28. typedef struct _GROUP_ENUMERATOR
  29. {
  30. DWORD dwLastGroup;
  31. DWORD dwLastGroupMask;
  32. DWORD dwLastSource;
  33. DWORD dwLastSourceMask;
  34. BOOL bEnumBegun;
  35. DWORD dwSignature;
  36. } GROUP_ENUMERATOR, *PGROUP_ENUMERATOR;
  37. #define MGM_ENUM_SIGNATURE 'ESig'
  38. //----------------------------------------------------------------------------
  39. // GetNextMfe
  40. //
  41. //----------------------------------------------------------------------------
  42. DWORD
  43. GetMfe(
  44. IN PMIB_IPMCAST_MFE pmimm,
  45. IN OUT PDWORD pdwBufferSize,
  46. IN OUT PBYTE pbBuffer,
  47. IN DWORD dwFlags
  48. );
  49. //----------------------------------------------------------------------------
  50. // GetNextMfe
  51. //
  52. //----------------------------------------------------------------------------
  53. DWORD
  54. GetNextMfe(
  55. IN PMIB_IPMCAST_MFE pmimmStart,
  56. IN OUT PDWORD pdwBufferSize,
  57. IN OUT PBYTE pbBuffer,
  58. IN OUT PDWORD pdwNumEntries,
  59. IN BOOL bIncludeFirst,
  60. IN DWORD dwFlags
  61. );
  62. //----------------------------------------------------------------------------
  63. // VerifyEnumeratorHandle
  64. //
  65. //----------------------------------------------------------------------------
  66. PGROUP_ENUMERATOR
  67. VerifyEnumeratorHandle(
  68. IN HANDLE hEnum
  69. );
  70. //----------------------------------------------------------------------------
  71. // GetNextGroupMemberships
  72. //
  73. //----------------------------------------------------------------------------
  74. DWORD
  75. GetNextGroupMemberships(
  76. IN PGROUP_ENUMERATOR pgeEnum,
  77. IN OUT PDWORD pdwBufferSize,
  78. IN OUT PBYTE pbBuffer,
  79. IN OUT PDWORD pdwNumEntries
  80. );
  81. //----------------------------------------------------------------------------
  82. // GetNextMembershipsForThisGroup
  83. //
  84. //----------------------------------------------------------------------------
  85. DWORD
  86. GetNextMembershipsForThisGroup(
  87. IN PGROUP_ENTRY pge,
  88. IN OUT PGROUP_ENUMERATOR pgeEnum,
  89. IN BOOL bIncludeFirst,
  90. IN OUT PBYTE pbBuffer,
  91. IN OUT PDWORD pdwNumEntries,
  92. IN DWORD dwMaxEntries
  93. );
  94. #endif