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.

100 lines
2.6 KiB

  1. class FAR CWinNTSchemaEnum : public CWinNTEnumVariant
  2. {
  3. public:
  4. // IEnumVARIANT methods
  5. STDMETHOD(Next)( ULONG cElements,
  6. VARIANT FAR* pvar,
  7. ULONG FAR* pcElementFetched);
  8. static HRESULT Create( CWinNTSchemaEnum FAR* FAR* ppenumvariant,
  9. BSTR bstrADsPath,
  10. BSTR bstrDomainName,
  11. VARIANT vFilter,
  12. CWinNTCredentials& Credentials );
  13. CWinNTSchemaEnum();
  14. ~CWinNTSchemaEnum();
  15. HRESULT EnumObjects( ULONG cElements,
  16. VARIANT FAR * pvar,
  17. ULONG FAR * pcElementFetched );
  18. private:
  19. ObjectTypeList FAR *_pObjList;
  20. BSTR _bstrName;
  21. BSTR _bstrADsPath;
  22. DWORD _dwCurrentEntry;
  23. DWORD _dwPropCurrentEntry;
  24. CWinNTCredentials _Credentials;
  25. HRESULT
  26. CWinNTSchemaEnum::GetClassObject( IDispatch **ppDispatch );
  27. HRESULT
  28. EnumClasses( ULONG cElements,
  29. VARIANT FAR* pvar,
  30. ULONG FAR* pcElementFetched );
  31. HRESULT
  32. CWinNTSchemaEnum::GetSyntaxObject( IDispatch **ppDispatch );
  33. HRESULT
  34. CWinNTSchemaEnum::GetPropertyObject(
  35. IDispatch ** ppDispatch
  36. );
  37. HRESULT
  38. EnumSyntaxObjects( ULONG cElements,
  39. VARIANT FAR* pvar,
  40. ULONG FAR* pcElementFetched );
  41. HRESULT
  42. CWinNTSchemaEnum::EnumObjects( DWORD ObjectType,
  43. ULONG cElements,
  44. VARIANT FAR * pvar,
  45. ULONG FAR * pcElementFetched );
  46. HRESULT
  47. CWinNTSchemaEnum::EnumProperties(
  48. ULONG cElements,
  49. VARIANT FAR* pvar,
  50. ULONG FAR* pcElementFetched
  51. );
  52. };
  53. class FAR CWinNTClassEnum : public CWinNTEnumVariant
  54. {
  55. public:
  56. // IEnumVARIANT methods
  57. STDMETHOD(Next)( ULONG cElements,
  58. VARIANT FAR* pvar,
  59. ULONG FAR* pcElementFetched);
  60. static HRESULT Create( CWinNTClassEnum FAR* FAR* ppenumvariant,
  61. BSTR bstrADsPath,
  62. BSTR bstrParent,
  63. PROPERTYINFO *aPropertyInfo,
  64. DWORD cPropertyInfo,
  65. VARIANT vFilter );
  66. CWinNTClassEnum( PROPERTYINFO *aPropertyInfo, DWORD cPropertyInfo );
  67. ~CWinNTClassEnum();
  68. private:
  69. DWORD _dwCurrentEntry;
  70. BSTR _bstrADsPath;
  71. BSTR _bstrParent;
  72. PROPERTYINFO *_aPropertyInfo;
  73. DWORD _cPropertyInfo;
  74. };