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.
 
 
 
 
 
 

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;
};