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.

82 lines
2.2 KiB

  1. //
  2. // Copyright 1997 - Microsoft
  3. //
  4. // NEWCMPTR.H - The "New Computer" wizard extensions for Remote Installation Services
  5. //
  6. #ifndef _NEWCMPTR_H_
  7. #define _NEWCMPTR_H_
  8. #include "mangdlg.h"
  9. #include "hostdlg.h"
  10. // QITable
  11. BEGIN_QITABLE( CNewComputerExtensions )
  12. DEFINE_QI( IID_IDsAdminNewObjExt, IDsAdminNewObjExt, 6 )
  13. END_QITABLE
  14. // Definitions
  15. LPVOID
  16. CNewComputerExtensions_CreateInstance( void );
  17. // CNewComputerExtensions
  18. class CNewComputerExtensions
  19. : public IDsAdminNewObjExt
  20. {
  21. private:
  22. // IUnknown
  23. ULONG _cRef;
  24. DECLARE_QITABLE( CNewComputerExtensions );
  25. IADsContainer* _padsContainerObj;
  26. LPCManagedPage _pManagedDialog;
  27. LPCHostServerPage _pHostServerDialog;
  28. IADs * _pads;
  29. BOOL _fActivatePages;
  30. // display info for pages
  31. LPWSTR _pszWizTitle;
  32. LPWSTR _pszContDisplayName;
  33. HICON _hIcon;
  34. private: // methods
  35. CNewComputerExtensions( );
  36. ~CNewComputerExtensions( );
  37. HRESULT
  38. Init( void );
  39. public: // methods
  40. friend LPVOID
  41. CNewComputerExtensions_CreateInstance( void );
  42. // IUnknown methods
  43. STDMETHOD(QueryInterface)(REFIID riid, LPVOID * ppvObj);
  44. STDMETHOD_(ULONG,AddRef)();
  45. STDMETHOD_(ULONG,Release)();
  46. // IDsAdminNewObjExt methods
  47. STDMETHOD(Initialize)( IADsContainer* pADsContainerObj,
  48. IADs* pADsCopySource,
  49. LPCWSTR lpszClassName,
  50. IDsAdminNewObj* pDsAdminNewObj,
  51. LPDSA_NEWOBJ_DISPINFO pDispInfo);
  52. STDMETHOD(AddPages)( LPFNADDPROPSHEETPAGE lpfnAddPage,
  53. LPARAM lParam);
  54. STDMETHOD(SetObject)( IADs* pADsObj);
  55. STDMETHOD(WriteData)( HWND hWnd,
  56. ULONG uContext);
  57. STDMETHOD(OnError)( HWND hWnd,
  58. HRESULT hr,
  59. ULONG uContext);
  60. STDMETHOD(GetSummaryInfo)( BSTR* pBstrText);
  61. friend class CManagedPage;
  62. friend class CHostServerPage;
  63. };
  64. typedef CNewComputerExtensions * LPCNewComputerExtensions;
  65. #endif // _NEWCMPTR_H_