49 lines
1.5 KiB
C++
49 lines
1.5 KiB
C++
//
|
|
// Copyright 2001 - Microsoft Corporation
|
|
//
|
|
//
|
|
// Created By:
|
|
// Geoff Pease (GPease) 23-JAN-2001
|
|
//
|
|
// Maintained By:
|
|
// Geoff Pease (GPease) 23-JAN-2001
|
|
//
|
|
#pragma once
|
|
|
|
class
|
|
CPropertyCache
|
|
{
|
|
private: // data
|
|
CPropertyCacheItem * _pPropertyCacheList; // pointer to property cache linked list's first entry
|
|
IPropertyUI * _ppui; // Shell IPropertyUI helper
|
|
|
|
private: // methods
|
|
explicit CPropertyCache( void );
|
|
~CPropertyCache( void );
|
|
HRESULT
|
|
Init( void );
|
|
|
|
public: // methods
|
|
static HRESULT
|
|
CreateInstance( CPropertyCache ** ppOut );
|
|
HRESULT
|
|
Destroy( void );
|
|
|
|
HRESULT
|
|
AddNewPropertyCacheItem( const FMTID * pFmtIdIn
|
|
, PROPID propidIn
|
|
, VARTYPE vtIn
|
|
, UINT uCodePageIn
|
|
, BOOL fForceReadOnlyIn
|
|
, IPropertyStorage * ppssIn // optional - can be NULL
|
|
, CPropertyCacheItem ** ppItemOut // optional - can be NULL
|
|
);
|
|
HRESULT
|
|
AddExistingItem( CPropertyCacheItem* pItemIn );
|
|
HRESULT
|
|
GetNextItem( CPropertyCacheItem * pItemIn, CPropertyCacheItem ** ppItemOut );
|
|
HRESULT
|
|
FindItemEntry( const FMTID * pFmtIdIn, PROPID propIdIn, CPropertyCacheItem ** ppItemOut );
|
|
HRESULT
|
|
RemoveItem( CPropertyCacheItem * pItemIn );
|
|
}; |