PRIV.H
上传用户:bangxh
上传日期:2007-01-31
资源大小:42235k
文件大小:1k
源码类别:

Windows编程

开发平台:

Visual C++

  1. //--------------------------------------------------------------
  2. // common user interface routines
  3. //
  4. //
  5. //--------------------------------------------------------------
  6. #define STRICT
  7. #define _INC_OLE        // WIN32, get ole2 from windows.h
  8. #define CONST_VTABLE
  9. #include <windows.h>
  10. #include <commdlg.h>
  11. #include <dlgs.h>       // commdlg IDs
  12. #include <shellapi.h>
  13. #include <commctrl.h>
  14. #include <windowsx.h>
  15. #include <ole2.h>
  16. #include <shlobj.h>
  17. //
  18. // defclsf.c
  19. //
  20. typedef HRESULT (CALLBACK FAR * LPFNCREATEINSTANCE)(LPUNKNOWN pUnkOuter,
  21. REFIID riid, LPVOID FAR* ppvObject);
  22. STDAPI SHCreateDefClassObject(REFIID riid, LPVOID FAR* ppv,
  23.  LPFNCREATEINSTANCE lpfnCI, UINT FAR * pcRefDll,
  24.  REFIID riidInst);
  25. //
  26. // Helper macro for implemting OLE classes in C
  27. //
  28. #define _IOffset(class, itf)         ((UINT)&(((class *)0)->itf))
  29. #define IToClass(class, itf, pitf)   ((class  *)(((LPSTR)pitf)-_IOffset(class, itf)))
  30. #define IToClassN(class, itf, pitf)  IToClass(class, itf, pitf)