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.
86 lines
3.1 KiB
86 lines
3.1 KiB
/*++
|
|
|
|
Copyright (c) 1996 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
subdict.h
|
|
|
|
Abstract:
|
|
|
|
This module contains the definition for the Server
|
|
Extension Object Sub-Dictionary class.
|
|
|
|
Author:
|
|
|
|
Don Dumitru ([email protected])
|
|
|
|
Revision History:
|
|
|
|
dondu 03/09/97 created
|
|
|
|
--*/
|
|
|
|
|
|
// item.h : Declaration of the CSEOSubDictionary
|
|
|
|
/////////////////////////////////////////////////////////////////////////////
|
|
// CSEOSubDictionary
|
|
class ATL_NO_VTABLE CSEOSubDictionary :
|
|
public CComObjectRootEx<CComMultiThreadModelNoCS>,
|
|
// public CComCoClass<CSEOSubDictionary, &CLSID_CSEOSubDictionary>,
|
|
public IDispatchImpl<ISEODictionary, &IID_ISEODictionary, &LIBID_SEOLib>
|
|
{
|
|
public:
|
|
HRESULT FinalConstruct();
|
|
void FinalRelease();
|
|
|
|
DECLARE_PROTECT_FINAL_CONSTRUCT();
|
|
|
|
// DECLARE_REGISTRY_RESOURCEID_EX(IDR_StdAfx,
|
|
// L"SEOSubDictionary Class",
|
|
// L"SEO.SEOSubDictionary.1",
|
|
// L"SEO.SEOSubDictionary");
|
|
|
|
DECLARE_GET_CONTROLLING_UNKNOWN();
|
|
|
|
BEGIN_COM_MAP(CSEOSubDictionary)
|
|
COM_INTERFACE_ENTRY(ISEODictionary)
|
|
COM_INTERFACE_ENTRY(IDispatch)
|
|
// COM_INTERFACE_ENTRY(ISupportErrorInfo)
|
|
COM_INTERFACE_ENTRY_AGGREGATE(IID_IMarshal, m_pUnkMarshaler.p)
|
|
END_COM_MAP()
|
|
|
|
// ISEODictionary
|
|
public:
|
|
HRESULT STDMETHODCALLTYPE get_Item(VARIANT *pvarName, VARIANT *pvarResult);
|
|
HRESULT STDMETHODCALLTYPE put_Item(VARIANT *pvarName, VARIANT *pvarValue);
|
|
HRESULT STDMETHODCALLTYPE get__NewEnum(IUnknown **ppunkResult);
|
|
HRESULT STDMETHODCALLTYPE GetVariantA(LPCSTR pszName, VARIANT *pvarResult);
|
|
HRESULT STDMETHODCALLTYPE GetVariantW(LPCWSTR pszName, VARIANT *pvarResult);
|
|
HRESULT STDMETHODCALLTYPE SetVariantA(LPCSTR pszName, VARIANT *pvarValue);
|
|
HRESULT STDMETHODCALLTYPE SetVariantW(LPCWSTR pszName, VARIANT *pvarValue);
|
|
HRESULT STDMETHODCALLTYPE GetStringA(LPCSTR pszName, DWORD *pchCount, LPSTR pszResult);
|
|
HRESULT STDMETHODCALLTYPE GetStringW(LPCWSTR pszName, DWORD *pchCount, LPWSTR pszResult);
|
|
HRESULT STDMETHODCALLTYPE SetStringA(LPCSTR pszName, DWORD chCount, LPCSTR pszValue);
|
|
HRESULT STDMETHODCALLTYPE SetStringW(LPCWSTR pszName, DWORD chCount, LPCWSTR pszValue);
|
|
HRESULT STDMETHODCALLTYPE GetDWordA(LPCSTR pszName, DWORD *pdwResult);
|
|
HRESULT STDMETHODCALLTYPE GetDWordW(LPCWSTR pszName, DWORD *pdwResult);
|
|
HRESULT STDMETHODCALLTYPE SetDWordA(LPCSTR pszName, DWORD dwValue);
|
|
HRESULT STDMETHODCALLTYPE SetDWordW(LPCWSTR pszName, DWORD dwValue);
|
|
HRESULT STDMETHODCALLTYPE GetInterfaceA(LPCSTR pszName, REFIID iidDesired, IUnknown **ppunkResult);
|
|
HRESULT STDMETHODCALLTYPE GetInterfaceW(LPCWSTR pszName, REFIID iidDesired, IUnknown **ppunkResult);
|
|
HRESULT STDMETHODCALLTYPE SetInterfaceA(LPCSTR pszName, IUnknown *punkValue);
|
|
HRESULT STDMETHODCALLTYPE SetInterfaceW(LPCWSTR pszName, IUnknown *punkValue);
|
|
|
|
// CSEOSubDictionary
|
|
public:
|
|
HRESULT SetBaseA(ISEODictionary *pdictBase, LPCSTR pszPrefix);
|
|
HRESULT SetBaseW(ISEODictionary *pdictBase, LPCWSTR pszPrefix);
|
|
|
|
private:
|
|
CComPtr<ISEODictionary> m_pdictBase;
|
|
LPSTR m_pszPrefixA;
|
|
LPWSTR m_pszPrefixW;
|
|
CComPtr<IUnknown> m_pUnkMarshaler;
|
|
};
|