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

  1. typedef struct tagOBJECTINFO
  2. {
  3. void *cf;
  4. CLSID const* pclsid;
  5. HRESULT (*pfnCreateInstance)(IUnknown* pUnkOuter, IUnknown** ppunk, const struct tagOBJECTINFO *);
  6. // for automatic registration, type library searching, etc
  7. int nObjectType; // OI_ flag
  8. LPTSTR pszName;
  9. LPTSTR pszFriendlyName;
  10. IID const* piid;
  11. IID const* piidEvents;
  12. long lVersion;
  13. DWORD dwOleMiscFlags;
  14. int nidToolbarBitmap;
  15. } OBJECTINFO;
  16. typedef OBJECTINFO const* LPCOBJECTINFO;
  17. #define VERSION_1 1 // so we don't get confused by too many integers
  18. #define VERSION_0 0
  19. #define OI_NONE 0
  20. #define OI_UNKNOWN 1
  21. #define OI_COCREATEABLE 1
  22. #define OI_AUTOMATION 2
  23. #define OI_CONTROL 3
  24. // to save some typing:
  25. #define CLSIDOFOBJECT(p) (*((p)->_pObjectInfo->pclsid))
  26. #define NAMEOFOBJECT(p) ((p)->_pObjectInfo->pszName)
  27. #define INTERFACEOFOBJECT(p) (*((p)->_pObjectInfo->piid))
  28. #define VERSIONOFOBJECT(p) ((p)->_pObjectInfo->lVersion)
  29. #define EVENTIIDOFCONTROL(p) (*((p)->_pObjectInfo->piidEvents))
  30. #define OLEMISCFLAGSOFCONTROL(p) ((p)->_pObjectInfo->dwOleMiscFlags)
  31. #define BITMAPIDOFCONTROL(p) ((p)->_pObjectInfo->nidToolbarBitmap)
  32. extern OBJECTINFO g_ObjectInfo[];
  33. #ifdef __cplusplus
  34. extern "C" {
  35. #endif
  36. HRESULT PurgeDownloadDirectory(LPCSTR pszDownloadDir);
  37. #ifdef __cplusplus
  38. } // end of extern "C"
  39. #endif