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.

109 lines
2.1 KiB

  1. class FAR CNDSSchemaEnum : public CNDSEnumVariant
  2. {
  3. public:
  4. // IEnumVARIANT methods
  5. STDMETHOD(Next)(
  6. ULONG cElements,
  7. VARIANT FAR* pvar,
  8. ULONG FAR* pcElementFetched
  9. );
  10. static
  11. HRESULT
  12. Create(
  13. CNDSSchemaEnum FAR* FAR* ppenumvariant,
  14. BSTR bstrNDSTreeName,
  15. BSTR bstrADsPath,
  16. BSTR bstrDomainName,
  17. VARIANT var,
  18. CCredentials& Credentials
  19. );
  20. CNDSSchemaEnum();
  21. ~CNDSSchemaEnum();
  22. HRESULT
  23. EnumObjects(
  24. ULONG cElements,
  25. VARIANT FAR * pvar,
  26. ULONG FAR * pcElementFetched
  27. );
  28. private:
  29. ObjectTypeList FAR *_pObjList;
  30. LPNDS_CLASS_DEF _lpClassDefs;
  31. HANDLE _hOperationData;
  32. HANDLE _hTree;
  33. BSTR _bstrName;
  34. BSTR _bstrNDSTreeName;
  35. BSTR _bstrADsPath;
  36. DWORD _dwCurrentEntry;
  37. DWORD _dwObjectCurrentEntry;
  38. DWORD _dwObjectReturned;
  39. DWORD _dwInfoType;
  40. LPNDS_ATTR_DEF _lpAttrDefs;
  41. HANDLE _hPropOperationData;
  42. DWORD _dwPropCurrentEntry;
  43. DWORD _dwPropObjectCurrentEntry;
  44. DWORD _dwPropObjectReturned;
  45. DWORD _dwPropInfoType;
  46. DWORD _dwSyntaxCurrentEntry;
  47. CCredentials _Credentials;
  48. HRESULT
  49. CNDSSchemaEnum::GetClassObject(
  50. IDispatch **ppDispatch
  51. );
  52. HRESULT
  53. CNDSSchemaEnum::GetPropertyObject(
  54. IDispatch **ppDispatch
  55. );
  56. HRESULT
  57. CNDSSchemaEnum::GetSyntaxObject(
  58. IDispatch ** ppDispatch
  59. );
  60. HRESULT
  61. EnumClasses(
  62. ULONG cElements,
  63. VARIANT FAR* pvar,
  64. ULONG FAR* pcElementFetched
  65. );
  66. HRESULT
  67. EnumProperties(
  68. ULONG cElements,
  69. VARIANT FAR* pvar,
  70. ULONG FAR* pcElementFetched
  71. );
  72. HRESULT
  73. CNDSSchemaEnum::EnumSyntaxes(
  74. ULONG cElements,
  75. VARIANT FAR* pvar,
  76. ULONG FAR* pcElementFetched
  77. );
  78. HRESULT
  79. CNDSSchemaEnum::EnumObjects(
  80. DWORD ObjectType,
  81. ULONG cElements,
  82. VARIANT FAR * pvar,
  83. ULONG FAR * pcElementFetched
  84. );
  85. };