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.
|
|
//#--------------------------------------------------------------
//
// File: dspath.h
//
// Synopsis: This file holds the declarations of the
// CDSPath class. The class object exports
// the IDataStoreObject interface which is
// used by the Dictionary SDO to obtain the
// datastore path
//
//
// History: 09/25/98 MKarki Created
//
// Copyright (C) 1997-98 Microsoft Corporation
// All rights reserved.
//
//----------------------------------------------------------------
#ifndef _DSPATH_H_
#define _DSPATH_H_
#include "resource.h"
//
// name of the property it holds
//
const WCHAR PROPERTY_DICTIONARY_PATH[] = L"Path";
//
// CDSPath class declaration
//
class CDSPath: public CComObjectRootEx<CComMultiThreadModel>, public IDispatchImpl<IDataStoreObject, &__uuidof (IDataStoreObject), &LIBID_SDOIASLibPrivate> {
public:
//
//-----------IDataStoreObject methods-------------------
//
//
// get the value for the current property in the data
// store object
//
STDMETHOD(GetValue)( /*[in]*/ BSTR bstrName, /*[out, retval]*/ VARIANT* pVal ) { HRESULT hr = E_INVALIDARG;
_ASSERT (NULL != pVal);
if (0 == _wcsicmp ((PWCHAR) bstrName, PROPERTY_DICTIONARY_PATH)) { hr = ::VariantCopy (pVal, &m_vtPath); }
return (hr); }
STDMETHOD(get_Container)( /*[out, retval]*/ IDataStoreContainer** pVal ) {return (E_NOTIMPL);}
STDMETHOD(GetValueEx)( /*[in]*/ BSTR bstrName, /*[out, retval]*/ VARIANT* pVal ) {return (E_NOTIMPL);}
STDMETHOD(get_Name)( /*[out, retval]*/ BSTR* pVal ) { return (E_NOTIMPL);}
STDMETHOD(get_Class)( /*[out, retval]*/ BSTR* pVal ) { return (E_NOTIMPL); }
STDMETHOD(get_GUID)( /*[out, retval]*/ BSTR* pVal ) { return (E_NOTIMPL); }
STDMETHOD(PutValue)( /*[in]*/ BSTR bstrName, /*[in]*/ VARIANT* pVal ) { return (E_NOTIMPL); }
STDMETHOD(Update)() { return (E_NOTIMPL); }
STDMETHOD(Restore)() { return (E_NOTIMPL); }
STDMETHOD(get_Count)( /*[out, retval]*/ LONG *pVal ) { return (E_NOTIMPL); }
STDMETHOD(Item)( /*[in]*/ BSTR bstrName, /*[out, retval]*/ IDataStoreProperty **ppObject ) { return (E_NOTIMPL); }
STDMETHOD(get__NewEnum)( /*[out, retval]*/ IUnknown** pVal ) { return (E_NOTIMPL); }
public:
CDSPath () {InternalAddRef ();}
~CDSPath (){}
//
// initialize the Data Store container object
//
HRESULT Initialize ( /*[in]*/ LPCWSTR pwszPath ) { _ASSERT (NULL != pwszPath); m_vtPath = pwszPath; return (S_OK); }
//
// ATL interface information
//
BEGIN_COM_MAP(CDSPath) COM_INTERFACE_ENTRY(IDataStoreObject) COM_INTERFACE_ENTRY2(IDispatch, IDataStoreObject) END_COM_MAP()
private:
//
// variant holding the dictionary path
//
_variant_t m_vtPath;
}; // end of CDSPath class declaration
//
// this is for creating the CDSPath class object
// through new
//
typedef CComObjectNoLock<CDSPath> DS_PATH_OBJ;
#endif //_DSPATH_H_
|