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.

112 lines
3.8 KiB

  1. #ifndef _INC_MSOEOPT_H
  2. #define _INC_MSOEOPT_H
  3. #include <msoeprop.h>
  4. interface IOptionBucketEx;
  5. // {ED5EE630-5BA4-11d1-AA16-006097D474C4}
  6. DEFINE_GUID(IID_IOptionBucketNotify, 0xed5ee630, 0x5ba4, 0x11d1, 0xaa, 0x16, 0x0, 0x60, 0x97, 0xd4, 0x74, 0xc4);
  7. interface IOptionBucketNotify : public IUnknown
  8. {
  9. public:
  10. virtual HRESULT STDMETHODCALLTYPE DoNotification(IOptionBucketEx *pBckt, HWND hwnd, PROPID id) = 0;
  11. };
  12. MSOEACCTAPI CreatePropertyBucket(IPropertyBucket **ppPropBckt);
  13. typedef HRESULT (CALLBACK *PFNVALIDPROP)(PROPID, LPCPROPVARIANT);
  14. typedef struct tagOPTIONINFO
  15. {
  16. PROPID id;
  17. VARTYPE vt;
  18. int iszRegKey; // index into rgpszRegKey
  19. LPCSTR pszRegValue;
  20. LPCSTR pszDef;
  21. int cbDefBinary; // if pszDef points to a binary struct, this is the size
  22. DWORD dwMin;
  23. DWORD dwMax;
  24. PFNVALIDPROP pfnValid;
  25. } OPTIONINFO;
  26. typedef const OPTIONINFO *LPCOPTIONINFO;
  27. // {4091C7B0-5557-11d1-AA13-006097D474C4}
  28. DEFINE_GUID(IID_IOptionBucketEx, 0x4091c7b0, 0x5557, 0x11d1, 0xaa, 0x13, 0x0, 0x60, 0x97, 0xd4, 0x74, 0xc4);
  29. // flags for ISetProperty
  30. #define SP_DONOTIFY 0x0001
  31. typedef struct tagOPTBCKTINIT
  32. {
  33. LPCOPTIONINFO rgInfo;
  34. int cInfo;
  35. HKEY hkey;
  36. LPCSTR pszRegKeyBase;
  37. LPCSTR *rgpszRegSubKey;
  38. int cszRegKey;
  39. } OPTBCKTINIT, *LPOPTBCKTINIT;
  40. typedef const OPTBCKTINIT *LPCOPTBCKTINIT;
  41. // implemented by athena
  42. // used by options and accounts
  43. interface IOptionBucketEx : public IOptionBucket
  44. {
  45. public:
  46. virtual HRESULT STDMETHODCALLTYPE Initialize(LPCOPTBCKTINIT pInit) = 0;
  47. virtual HRESULT STDMETHODCALLTYPE ISetProperty(HWND hwnd, LPCSTR pszProp, LPCPROPVARIANT pVar, DWORD dwFlags) = 0;
  48. virtual HRESULT STDMETHODCALLTYPE SetNotification(IOptionBucketNotify *pNotify) = 0;
  49. virtual HRESULT STDMETHODCALLTYPE EnableNotification(BOOL fEnable) = 0;
  50. virtual LONG STDMETHODCALLTYPE GetValue(LPCSTR szSubKey, LPCSTR szValue, DWORD *ptype, LPBYTE pb, DWORD *pcb) = 0;
  51. virtual LONG STDMETHODCALLTYPE SetValue(LPCSTR szSubKey, LPCSTR szValue, DWORD type, LPBYTE pb, DWORD cb) = 0;
  52. };
  53. MSOEACCTAPI CreateOptionBucketEx(IOptionBucketEx **ppOptBcktEx);
  54. #ifdef DEAD
  55. // IDisplayOption::SetOption flags
  56. #define SETOPTION_DISABLE 0x0001
  57. #define SETOPTION_HIDE 0x0002
  58. // {EC320F22-4B33-11d1-AA10-006097D474C4}
  59. DEFINE_GUID(IID_IDisplayOptions, 0xec320f22, 0x4b33, 0x11d1, 0xaa, 0x10, 0x0, 0x60, 0x97, 0xd4, 0x74, 0xc4);
  60. // implemented by athena
  61. interface IDisplayOptions : public IOptionBucket
  62. {
  63. public:
  64. virtual HRESULT STDMETHODCALLTYPE InsertPage(HPROPSHEETPAGE hpage, DWORD dwBeforePageID, DWORD dwReserved) = 0;
  65. virtual HRESULT STDMETHODCALLTYPE RemovePage(DWORD dwPageID, DWORD dwReserved) = 0;
  66. virtual HRESULT STDMETHODCALLTYPE SetOption(PROPID id, DWORD dwFlags) = 0;
  67. };
  68. // {EC320F23-4B33-11d1-AA10-006097D474C4}
  69. DEFINE_GUID(IID_IOptionsExtension, 0xec320f23, 0x4b33, 0x11d1, 0xaa, 0x10, 0x0, 0x60, 0x97, 0xd4, 0x74, 0xc4);
  70. // implemented by externals
  71. interface IOptionsExtension : public IUnknown
  72. {
  73. public:
  74. virtual HRESULT STDMETHODCALLTYPE DisplayOptions(HWND hwndParent, IOptionBucket *pCont, DWORD dwReserved) = 0;
  75. virtual HRESULT STDMETHODCALLTYPE InitializeOptions(IDisplayOptions *pOpt, DWORD dwReserved) = 0;
  76. };
  77. interface IAccount;
  78. // {EC320F24-4B33-11d1-AA10-006097D474C4}
  79. DEFINE_GUID(IID_IAccountExtension, 0xec320f24, 0x4b33, 0x11d1, 0xaa, 0x10, 0x0, 0x60, 0x97, 0xd4, 0x74, 0xc4);
  80. // implemented by externals
  81. interface IAccountExtension : public IOptionsExtension
  82. {
  83. public:
  84. virtual HRESULT STDMETHODCALLTYPE NewAccountWizard(HWND hwndParent, IAccount *pAcctNew) = 0;
  85. };
  86. #endif // DEAD
  87. #endif // _INC_MSOEOPT_H