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.

139 lines
3.1 KiB

  1. class FAR CWinNTDomainEnum : public CWinNTEnumVariant
  2. {
  3. public:
  4. CWinNTDomainEnum(ObjectTypeList ObjList);
  5. CWinNTDomainEnum();
  6. ~CWinNTDomainEnum();
  7. HRESULT EnumObjects(ULONG cElements,
  8. VARIANT FAR * pvar,
  9. ULONG FAR * pcElementFetched);
  10. static
  11. HRESULT
  12. CWinNTDomainEnum::Create(
  13. CWinNTDomainEnum FAR* FAR* ppenumvariant,
  14. LPWSTR ADsPath,
  15. LPWSTR DomainName,
  16. VARIANT var,
  17. CWinNTCredentials& Credentials
  18. );
  19. private:
  20. ObjectTypeList FAR *_pObjList;
  21. CWinNTCredentials _Credentials;
  22. PNET_DISPLAY_USER _pBuffer;
  23. DWORD _dwObjectReturned;
  24. DWORD _dwObjectCurrentEntry;
  25. DWORD _dwObjectTotal;
  26. DWORD _dwIndex;
  27. DWORD _dwNetCount;
  28. HANDLE _hLGroupComputer;
  29. HANDLE _hGGroupComputer;
  30. DWORD _dwGroupArrayIndex;
  31. PNET_DISPLAY_MACHINE _pCompBuffer;
  32. PSERVER_INFO_100 _pServerInfo;
  33. DWORD _dwCompObjectReturned;
  34. DWORD _dwCompObjectCurrentEntry;
  35. DWORD _dwCompObjectTotal;
  36. DWORD _dwCompIndex;
  37. DWORD _dwCompResumeHandle;
  38. BSTR _DomainName;
  39. BSTR _ADsPath;
  40. WCHAR _szDomainPDCName[MAX_PATH];
  41. BOOL _fIsDomain;
  42. BOOL _fSchemaReturned;
  43. HRESULT
  44. CWinNTDomainEnum::GetUserObject(IDispatch ** ppDispatch);
  45. HRESULT
  46. CWinNTDomainEnum::GetComputerObject(IDispatch ** ppDispatch);
  47. HRESULT
  48. CWinNTDomainEnum::GetComputerObjectInWorkGroup(IDispatch ** ppDispatch);
  49. HRESULT
  50. CWinNTDomainEnum::GetLocalGroupObject(
  51. IDispatch ** ppDispatch
  52. );
  53. HRESULT
  54. CWinNTDomainEnum::GetGlobalGroupObject(
  55. IDispatch ** ppDispatch
  56. );
  57. HRESULT
  58. EnumSchema(
  59. ULONG cElements,
  60. VARIANT FAR* pvar,
  61. ULONG FAR* pcElementFetched
  62. );
  63. HRESULT
  64. EnumComputers(
  65. ULONG cElements,
  66. VARIANT FAR* pvar,
  67. ULONG FAR* pcElementFetched
  68. );
  69. HRESULT
  70. EnumGroups(
  71. ULONG cElements,
  72. VARIANT FAR* pvar,
  73. ULONG FAR* pcElementFetched
  74. );
  75. HRESULT
  76. CWinNTDomainEnum::EnumGroupObjects(
  77. DWORD ObjectType,
  78. ULONG cElements,
  79. VARIANT FAR * pvar,
  80. ULONG FAR * pcElementFetched
  81. );
  82. HRESULT
  83. CWinNTDomainEnum::EnumGlobalGroups(
  84. ULONG cElements,
  85. VARIANT FAR* pvar,
  86. ULONG FAR* pcElementFetched
  87. );
  88. HRESULT
  89. CWinNTDomainEnum::EnumLocalGroups(
  90. ULONG cElements,
  91. VARIANT FAR* pvar,
  92. ULONG FAR* pcElementFetched
  93. );
  94. HRESULT
  95. EnumUsers(
  96. ULONG cElements,
  97. VARIANT FAR* pvar,
  98. ULONG FAR* pcElementFetched
  99. );
  100. HRESULT
  101. CWinNTDomainEnum::EnumObjects(DWORD ObjectType, ULONG cElements,
  102. VARIANT FAR * pvar,
  103. ULONG FAR * pcElementFetched);
  104. STDMETHOD(Next)(ULONG cElements,
  105. VARIANT FAR* pvar,
  106. ULONG FAR* pcElementFetched);
  107. };