Leaked source code of windows server 2003
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

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