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.

66 lines
1.8 KiB

  1. class FAR CLDAPSchemaEnum : public CLDAPEnumVariant
  2. {
  3. public:
  4. // IEnumVARIANT methods
  5. STDMETHOD(Next)( ULONG cElements,
  6. VARIANT FAR* pvar,
  7. ULONG FAR* pcElementFetched);
  8. static HRESULT Create( CLDAPSchemaEnum FAR* FAR* ppenumvariant,
  9. BSTR bstrADsPath,
  10. BSTR bstrServerPath,
  11. VARIANT vFilter,
  12. CCredentials& Credentials
  13. );
  14. CLDAPSchemaEnum();
  15. ~CLDAPSchemaEnum();
  16. HRESULT EnumObjects( ULONG cElements,
  17. VARIANT FAR * pvar,
  18. ULONG FAR * pcElementFetched );
  19. private:
  20. ObjectTypeList FAR *_pObjList;
  21. BSTR _bstrADsPath;
  22. BSTR _bstrServerPath;
  23. LDAP_SCHEMA_HANDLE _hSchema;
  24. DWORD _dwCurrentEntry;
  25. DWORD _nNumOfClasses;
  26. DWORD _nNumOfProperties;
  27. CCredentials _Credentials;
  28. HRESULT
  29. CLDAPSchemaEnum::GetClassObject( IDispatch **ppDispatch );
  30. HRESULT
  31. EnumClasses( ULONG cElements,
  32. VARIANT FAR* pvar,
  33. ULONG FAR* pcElementFetched );
  34. HRESULT
  35. CLDAPSchemaEnum::GetPropertyObject( IDispatch **ppDispatch );
  36. HRESULT
  37. EnumProperties( ULONG cElements,
  38. VARIANT FAR* pvar,
  39. ULONG FAR* pcElementFetched );
  40. HRESULT
  41. CLDAPSchemaEnum::GetSyntaxObject( IDispatch **ppDispatch );
  42. HRESULT
  43. EnumSyntaxObjects( ULONG cElements,
  44. VARIANT FAR* pvar,
  45. ULONG FAR* pcElementFetched );
  46. HRESULT
  47. CLDAPSchemaEnum::EnumObjects( DWORD ObjectType,
  48. ULONG cElements,
  49. VARIANT FAR * pvar,
  50. ULONG FAR * pcElementFetched );
  51. };