56 lines
1.2 KiB
C++
56 lines
1.2 KiB
C++
/*++
|
|
|
|
Copyright (C) 1996-1999 Microsoft Corporation
|
|
|
|
Module Name:
|
|
|
|
ipropbag.h
|
|
|
|
Abstract:
|
|
|
|
<abstract>
|
|
|
|
--*/
|
|
|
|
#ifndef _PROPBAG_H_
|
|
#define _PROPBAG_H_
|
|
|
|
#include <oaidl.h>
|
|
|
|
// Property Bag Class
|
|
class CPropertyBag {
|
|
|
|
public:
|
|
CPropertyBag ( void );
|
|
virtual ~CPropertyBag ( void );
|
|
|
|
HRESULT Read ( LPCWSTR, VARIANT* );
|
|
HRESULT Write ( LPCWSTR, VARIANT* );
|
|
|
|
LPWSTR GetData ( void );
|
|
DWORD LoadData ( LPCTSTR pszData, LPTSTR& rpszNextData );
|
|
|
|
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 );
|
|
|
|
LPWSTR m_pszData;
|
|
DWORD m_dwCurrentDataLength;
|
|
PPARAM_DATA m_plistData;
|
|
};
|
|
|
|
typedef CPropertyBag *PCPropertyBag;
|
|
|
|
#endif // _PROPBAG_H_
|