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.
69 lines
2.9 KiB
69 lines
2.9 KiB
#ifndef _INC_OPTBCKT_H
|
|
#define _INC_OPTBCKT_H
|
|
|
|
#include <msoeopt.h>
|
|
|
|
class CPropertyBucket;
|
|
|
|
#define CKEYMAX 4
|
|
|
|
class COptionBucket : public IOptionBucketEx
|
|
{
|
|
public:
|
|
// ----------------------------------------------------------------------------
|
|
// Construction
|
|
// ----------------------------------------------------------------------------
|
|
COptionBucket(void);
|
|
~COptionBucket(void);
|
|
|
|
// -------------------------------------------------------------------
|
|
// IUnknown Members
|
|
// -------------------------------------------------------------------
|
|
STDMETHODIMP QueryInterface(REFIID riid, LPVOID *ppv);
|
|
STDMETHODIMP_(ULONG) AddRef(void);
|
|
STDMETHODIMP_(ULONG) Release(void);
|
|
|
|
// -------------------------------------------------------------------
|
|
// IPropertyBucket Members
|
|
// -------------------------------------------------------------------
|
|
STDMETHODIMP GetProperty(LPCSTR pszProp, LPPROPVARIANT pProp, DWORD dwReserved);
|
|
STDMETHODIMP SetProperty(LPCSTR pszProp, LPCPROPVARIANT pProp, DWORD dwReserved);
|
|
|
|
// -------------------------------------------------------------------
|
|
// IOptionBucket Members
|
|
// -------------------------------------------------------------------
|
|
STDMETHODIMP ValidateProperty(PROPID id, LPCPROPVARIANT pProp, DWORD dwReserved);
|
|
STDMETHODIMP GetPropertyDefault(PROPID id, LPPROPVARIANT pProp, DWORD dwReserved);
|
|
STDMETHODIMP GetPropertyInfo(PROPID id, PROPINFO *pInfo, DWORD dwReserved);
|
|
|
|
// -------------------------------------------------------------------
|
|
// IOptionBucketEx Members
|
|
// -------------------------------------------------------------------
|
|
STDMETHODIMP Initialize(LPCOPTBCKTINIT pInit);
|
|
STDMETHODIMP ISetProperty(HWND hwnd, LPCSTR pszProp, LPCPROPVARIANT pVar, DWORD dwFlags);
|
|
STDMETHODIMP SetNotification(IOptionBucketNotify *pNotify);
|
|
STDMETHODIMP EnableNotification(BOOL fEnable);
|
|
|
|
STDMETHODIMP_(LONG) GetValue(LPCSTR szSubKey, LPCSTR szValue, DWORD *ptype, LPBYTE pb, DWORD *pcb);
|
|
STDMETHODIMP_(LONG) SetValue(LPCSTR szSubKey, LPCSTR szValue, DWORD type, LPBYTE pb, DWORD cb);
|
|
|
|
private:
|
|
LONG m_cRef;
|
|
CPropertyBucket *m_pProp;
|
|
IOptionBucketNotify *m_pNotify;
|
|
BOOL m_fNotify;
|
|
PROPID m_idNotify;
|
|
|
|
LPCOPTIONINFO m_rgInfo;
|
|
int m_cInfo;
|
|
|
|
HKEY m_hkey;
|
|
LPSTR m_pszRegKeyBase;
|
|
|
|
LPSTR m_rgpszRegKey[CKEYMAX];
|
|
int m_cpszRegKey;
|
|
|
|
LPCOPTIONINFO GetOptionInfo(LPCSTR pszProp);
|
|
};
|
|
|
|
#endif // _INC_OPTBCKT_H
|