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.
72 lines
1.4 KiB
72 lines
1.4 KiB
//+------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1996 - 2001
|
|
//
|
|
// File: cache.hxx
|
|
//
|
|
// Contents: Class Store Binding cache
|
|
//
|
|
// Author: AdamEd
|
|
//
|
|
//-------------------------------------------------------------------------
|
|
|
|
|
|
class CBinding : public BindingsType, public CListItem
|
|
{
|
|
public:
|
|
|
|
CBinding(
|
|
CServerContext* pServerContext,
|
|
WCHAR* wszClassStorePath,
|
|
PSID pSid,
|
|
IClassAccess* pClassAccess,
|
|
HRESULT hrBind,
|
|
HRESULT* phr);
|
|
|
|
~CBinding();
|
|
|
|
BOOL
|
|
Compare(
|
|
CServerContext* pServerContext,
|
|
WCHAR* wszClassStorePath,
|
|
PSID pSid);
|
|
|
|
BOOL
|
|
IsExpired( FILETIME* pFileTime );
|
|
|
|
};
|
|
|
|
class CBindingList : public CList
|
|
{
|
|
public:
|
|
|
|
CBindingList();
|
|
~CBindingList();
|
|
|
|
void
|
|
Lock();
|
|
|
|
void
|
|
Unlock();
|
|
|
|
CBinding* Find(
|
|
CServerContext* pServerContext,
|
|
FILETIME* pCurrentTime,
|
|
WCHAR* wszClassStorePath,
|
|
PSID pSid);
|
|
|
|
CBinding*
|
|
AddBinding(
|
|
FILETIME* pCurrentTime,
|
|
CBinding* pBinding);
|
|
|
|
private:
|
|
|
|
void
|
|
Delete( CBinding* pBinding );
|
|
|
|
CRITICAL_SECTION _ListLock;
|
|
|
|
DWORD _cBindings;
|
|
};
|