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.

112 lines
2.2 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. PNDS_CLASS_DEF _lpClassDefs;
  31. NDS_BUFFER_HANDLE _hOperationData;
  32. NDS_CONTEXT_HANDLE _hADsContext;
  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. BOOL _bNoMore;
  48. BOOL _bNoMoreProp;
  49. CCredentials _Credentials;
  50. HRESULT
  51. CNDSSchemaEnum::GetClassObject(
  52. IDispatch **ppDispatch
  53. );
  54. HRESULT
  55. CNDSSchemaEnum::GetPropertyObject(
  56. IDispatch **ppDispatch
  57. );
  58. HRESULT
  59. CNDSSchemaEnum::GetSyntaxObject(
  60. IDispatch ** ppDispatch
  61. );
  62. HRESULT
  63. EnumClasses(
  64. ULONG cElements,
  65. VARIANT FAR* pvar,
  66. ULONG FAR* pcElementFetched
  67. );
  68. HRESULT
  69. EnumProperties(
  70. ULONG cElements,
  71. VARIANT FAR* pvar,
  72. ULONG FAR* pcElementFetched
  73. );
  74. HRESULT
  75. CNDSSchemaEnum::EnumSyntaxes(
  76. ULONG cElements,
  77. VARIANT FAR* pvar,
  78. ULONG FAR* pcElementFetched
  79. );
  80. HRESULT
  81. CNDSSchemaEnum::EnumObjects(
  82. DWORD ObjectType,
  83. ULONG cElements,
  84. VARIANT FAR * pvar,
  85. ULONG FAR * pcElementFetched
  86. );
  87. };