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.
|
|
/*++
Copyright (C) 1996-1999 Microsoft Corporation
Module Name:
ipropbag.h
Abstract:
<abstract>
--*/
#ifndef _IPROPBAG_H_
#define _IPROPBAG_H_
// Property Bag Class
class CImpIPropertyBag : public IPropertyBag {
public: CImpIPropertyBag( LPUNKNOWN = NULL ); virtual ~CImpIPropertyBag(void);
//IUnknown members
STDMETHODIMP QueryInterface(REFIID, LPVOID *); STDMETHODIMP_(ULONG) AddRef(void); STDMETHODIMP_(ULONG) Release(void);
//IConnectionPoint members
STDMETHODIMP Read(LPCOLESTR, VARIANT*, IErrorLog* ); STDMETHODIMP Write(LPCOLESTR, VARIANT* );
//Members not exposed by IPropertyBag
LPWSTR GetData ( void ); HRESULT LoadData ( LPWSTR pszData );
private:
typedef struct _param_data { _param_data* pNextParam; WCHAR pszPropertyName[MAX_PATH]; VARIANT vValue; } PARAM_DATA, *PPARAM_DATA;
enum eConstants { eDefaultBufferLength = 0x010000 // 64K
};
PPARAM_DATA FindProperty ( LPCWSTR pszPropName ); void DataListAddHead ( PPARAM_DATA ); PPARAM_DATA DataListRemoveHead ( void );
ULONG m_cRef; //Object reference count
LPUNKNOWN m_pUnkOuter; //Controlling unknown
// PCPolyline m_pObj; //Containing object - assume NULL for this object
LPWSTR m_pszData; DWORD m_dwCurrentDataLength; PPARAM_DATA m_plistData; };
typedef CImpIPropertyBag *PCImpIPropertyBag;
#endif // _IPROPBAG_H_
|