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.
48 lines
1.4 KiB
48 lines
1.4 KiB
typedef struct tagOBJECTINFO
|
|
{
|
|
void *cf;
|
|
CLSID const* pclsid;
|
|
HRESULT (*pfnCreateInstance)(IUnknown* pUnkOuter, IUnknown** ppunk, const struct tagOBJECTINFO *);
|
|
|
|
// for automatic registration, type library searching, etc
|
|
int nObjectType; // OI_ flag
|
|
LPTSTR pszName;
|
|
LPTSTR pszFriendlyName;
|
|
IID const* piid;
|
|
IID const* piidEvents;
|
|
long lVersion;
|
|
DWORD dwOleMiscFlags;
|
|
int nidToolbarBitmap;
|
|
} OBJECTINFO;
|
|
typedef OBJECTINFO const* LPCOBJECTINFO;
|
|
|
|
#define VERSION_1 1 // so we don't get confused by too many integers
|
|
#define VERSION_0 0
|
|
|
|
#define OI_NONE 0
|
|
#define OI_UNKNOWN 1
|
|
#define OI_COCREATEABLE 1
|
|
#define OI_AUTOMATION 2
|
|
#define OI_CONTROL 3
|
|
|
|
|
|
// to save some typing:
|
|
#define CLSIDOFOBJECT(p) (*((p)->_pObjectInfo->pclsid))
|
|
#define NAMEOFOBJECT(p) ((p)->_pObjectInfo->pszName)
|
|
#define INTERFACEOFOBJECT(p) (*((p)->_pObjectInfo->piid))
|
|
#define VERSIONOFOBJECT(p) ((p)->_pObjectInfo->lVersion)
|
|
#define EVENTIIDOFCONTROL(p) (*((p)->_pObjectInfo->piidEvents))
|
|
#define OLEMISCFLAGSOFCONTROL(p) ((p)->_pObjectInfo->dwOleMiscFlags)
|
|
#define BITMAPIDOFCONTROL(p) ((p)->_pObjectInfo->nidToolbarBitmap)
|
|
|
|
extern OBJECTINFO g_ObjectInfo[];
|
|
|
|
#ifdef __cplusplus
|
|
extern "C" {
|
|
#endif
|
|
|
|
HRESULT PurgeDownloadDirectory(LPCSTR pszDownloadDir);
|
|
|
|
#ifdef __cplusplus
|
|
} // end of extern "C"
|
|
#endif
|