154 lines
3.7 KiB
C++
154 lines
3.7 KiB
C++
//+---------------------------------------------------------------------------
|
|
//
|
|
// Microsoft Windows
|
|
// Copyright (C) Microsoft Corporation, 1992 - 1998.
|
|
//
|
|
// File: classf.hxx
|
|
//
|
|
// Contents: Class factory description
|
|
//
|
|
// History: 1-7-97 markz Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
#pragma once
|
|
|
|
//
|
|
// Standard Ole exports
|
|
//
|
|
|
|
extern "C" SCODE STDMETHODCALLTYPE FsciDllGetClassObject( REFCLSID cid,
|
|
REFIID iid,
|
|
void ** ppvObj );
|
|
|
|
extern "C" const GUID guidStorageFilterObject;
|
|
|
|
extern "C" const GUID guidStorageDocStoreLocatorObject;
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Class: CStorageFilterObjectCF
|
|
//
|
|
// Purpose: Class factory to generate file system filter objects
|
|
//
|
|
// History: 1-7-97 markz Created
|
|
//
|
|
// Notes: This class is NOT multi-thread safe. The user must make sure
|
|
// that only one thread is using it at a time.
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
class CStorageFilterObjectCF : public IClassFactory
|
|
{
|
|
public:
|
|
|
|
//
|
|
// Constructor and Destructor
|
|
//
|
|
CStorageFilterObjectCF( void );
|
|
|
|
//
|
|
// IUnknown methods.
|
|
//
|
|
STDMETHOD( QueryInterface ) ( THIS_ REFIID riid,LPVOID *ppiuk );
|
|
|
|
STDMETHOD_( ULONG, AddRef ) ( THIS );
|
|
|
|
STDMETHOD_( ULONG, Release ) ( THIS );
|
|
|
|
//
|
|
// IClassFactory methods.
|
|
//
|
|
STDMETHOD( CreateInstance ) ( THIS_
|
|
IUnknown * pUnkOuter,
|
|
REFIID riid,
|
|
void * * ppvObject );
|
|
|
|
STDMETHOD( LockServer ) ( THIS_ BOOL fLock );
|
|
|
|
protected:
|
|
|
|
//
|
|
// Hidden destructor so that only we can delete the instance
|
|
// based on IUnknown control
|
|
//
|
|
|
|
virtual ~CStorageFilterObjectCF();
|
|
|
|
private:
|
|
|
|
friend SCODE STDMETHODCALLTYPE FsciDllGetClassObject( REFCLSID cid,
|
|
REFIID iid,
|
|
void** ppvObj );
|
|
|
|
//
|
|
// IUnknown reference count.
|
|
//
|
|
|
|
LONG _RefCount;
|
|
|
|
};
|
|
|
|
|
|
//+---------------------------------------------------------------------------
|
|
//
|
|
// Class: CStorageDocStoreLocatorObjectCF
|
|
//
|
|
// Purpose: Class Factory to generate File System DocStore Locator object
|
|
//
|
|
// History: 1-16-97 srikants Created
|
|
//
|
|
//----------------------------------------------------------------------------
|
|
|
|
class CStorageDocStoreLocatorObjectCF : public IClassFactory
|
|
{
|
|
public:
|
|
|
|
//
|
|
// IUnknown methods.
|
|
//
|
|
STDMETHOD( QueryInterface ) ( THIS_ REFIID riid,LPVOID *ppiuk );
|
|
|
|
STDMETHOD_( ULONG, AddRef ) ( THIS );
|
|
|
|
STDMETHOD_( ULONG, Release ) ( THIS );
|
|
|
|
//
|
|
// IClassFactory methods.
|
|
//
|
|
STDMETHOD( CreateInstance ) ( THIS_
|
|
IUnknown * pUnkOuter,
|
|
REFIID riid,
|
|
void * * ppvObject );
|
|
|
|
STDMETHOD( LockServer ) ( THIS_ BOOL fLock );
|
|
|
|
protected:
|
|
|
|
//
|
|
// Constructor and Destructor
|
|
//
|
|
CStorageDocStoreLocatorObjectCF( void );
|
|
|
|
//
|
|
// Hidden destructor so that only we can delete the instance
|
|
// based on IUnknown control
|
|
//
|
|
|
|
virtual ~CStorageDocStoreLocatorObjectCF();
|
|
|
|
private:
|
|
|
|
friend SCODE STDMETHODCALLTYPE FsciDllGetClassObject( REFCLSID cid,
|
|
REFIID iid,
|
|
void** ppvObj );
|
|
|
|
//
|
|
// IUnknown reference count.
|
|
//
|
|
|
|
LONG _RefCount;
|
|
|
|
};
|
|
|