2025-04-27 07:49:33 -04:00

44 lines
1.2 KiB
C++

#ifndef _FACTDATA_H_
#define _FACTDATA_H_
#include <objbase.h>
///////////////////////////////////////////////////////////////////////////////
// Component creation function
typedef HRESULT (*FPCREATEINSTANCE)(IUnknown*, IUnknown**);
typedef BOOL (*FPACTIVECOMPONENTS)();
///////////////////////////////////////////////////////////////////////////////
// CFactoryData
// Information CFactory needs to create a component supported by the DLL
class CFactoryData
{
public:
// The class ID for the component
const CLSID* _pCLSID;
// Pointer to the function that creates it
FPCREATEINSTANCE CreateInstance;
// Pointer to the function that returns if there are active components
// currently instantiated
FPACTIVECOMPONENTS ActiveComponents;
// Name of the component to register in the registry
LPCWSTR _pszRegistryName;
// ProgID
LPCWSTR _pszProgID;
// Version-independent ProgID
LPCWSTR _pszVerIndProgID;
// If we should set ThreadingModel == Both
BOOL _fThreadingModelBoth;
// Helper function for finding the class ID
BOOL IsClassID(REFCLSID rclsid) const
{ return (*_pCLSID == rclsid);}
};
#endif //_FACTDATA_H_