Leaked source code of windows server 2003
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 CLDAPOrganization;
  2. class CLDAPOrganization : INHERIT_TRACKING,
  3. public IADsO,
  4. public IPrivateUnknown,
  5. public IPrivateDispatch,
  6. public IADsExtension,
  7. public INonDelegatingUnknown
  8. {
  9. public:
  10. /* IUnknown methods */
  11. STDMETHOD(QueryInterface)(THIS_ REFIID riid, LPVOID FAR* ppvObj) ;
  12. DECLARE_DELEGATING_REFCOUNTING
  13. //
  14. // INonDelegatingUnkown methods declaration for NG_QI, definition for
  15. // NG_AddRef adn NG_Release.
  16. //
  17. STDMETHOD(NonDelegatingQueryInterface)(THIS_
  18. const IID&,
  19. void **
  20. );
  21. DECLARE_NON_DELEGATING_REFCOUNTING
  22. DECLARE_IDispatch_METHODS
  23. DECLARE_IPrivateUnknown_METHODS
  24. DECLARE_IPrivateDispatch_METHODS
  25. STDMETHOD(Operate)(
  26. THIS_
  27. DWORD dwCode,
  28. VARIANT varUserName,
  29. VARIANT varPassword,
  30. VARIANT varReserved
  31. );
  32. STDMETHOD(PrivateGetIDsOfNames)(
  33. THIS_
  34. REFIID riid,
  35. OLECHAR FAR* FAR* rgszNames,
  36. unsigned int cNames,
  37. LCID lcid,
  38. DISPID FAR* rgdispid) ;
  39. STDMETHOD(PrivateInvoke)(
  40. THIS_
  41. DISPID dispidMember,
  42. REFIID riid,
  43. LCID lcid,
  44. WORD wFlags,
  45. DISPPARAMS FAR* pdispparams,
  46. VARIANT FAR* pvarResult,
  47. EXCEPINFO FAR* pexcepinfo,
  48. unsigned int FAR* puArgErr
  49. ) ;
  50. DECLARE_IADs_METHODS
  51. DECLARE_IADsO_METHODS
  52. CLDAPOrganization::CLDAPOrganization();
  53. CLDAPOrganization::~CLDAPOrganization();
  54. static
  55. HRESULT
  56. CLDAPOrganization::CreateOrganization(
  57. IUnknown *pUnkOuter,
  58. REFIID riid,
  59. void **ppvObj
  60. );
  61. protected:
  62. IADs FAR * _pADs;
  63. CCredentials _Credentials;
  64. CAggregateeDispMgr FAR * _pDispMgr;
  65. BOOL _fDispInitialized;
  66. private:
  67. HRESULT
  68. InitCredentials(
  69. VARIANT * pvarUserName,
  70. VARIANT * pvarPassword,
  71. VARIANT * pdwAuthFlags
  72. );
  73. };