home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / ddkx86v1.zip / DDKX86 / IBMH / PMWP.H < prev    next >
Text File  |  1995-04-14  |  9KB  |  239 lines

  1. /*DDK*************************************************************************/
  2. /*                                                                           */
  3. /* COPYRIGHT    Copyright (C) 1995 IBM Corporation                           */
  4. /*                                                                           */
  5. /*    The following IBM OS/2 WARP source code is provided to you solely for  */
  6. /*    the purpose of assisting you in your development of OS/2 WARP device   */
  7. /*    drivers. You may use this code in accordance with the IBM License      */
  8. /*    Agreement provided in the IBM Device Driver Source Kit for OS/2. This  */
  9. /*    Copyright statement may not be removed.                                */
  10. /*                                                                           */
  11. /*****************************************************************************/
  12. /****************************** Module Header ******************************\
  13. *
  14. * Module Name: PMWP.H
  15. *
  16. * OS/2 Presentation Manager Workplace include file.
  17. *
  18. *
  19. * ===========================================================================
  20. *
  21. * The folowing symbols are used in this file for conditional sections.
  22. *
  23. *   #define:                To include:
  24. *
  25. *   INCL_WINWORKPLACE       All of Workplace Shell
  26. *   INCL_WPCLASS            Workplace object class API's
  27. *
  28. * ===========================================================================
  29. *
  30. * Comments at the end of each typedef line give the name tags used in
  31. * the assembler include version of this file.
  32. *
  33. * The assembler include version of this file excludes lines between NOINC
  34. * and INC comments.
  35. *
  36. \***************************************************************************/
  37.  
  38. #ifdef __IBMC__
  39.    #pragma checkout( suspend )
  40.    #ifndef __CHKHDR__
  41.       #pragma checkout( suspend )
  42.    #endif
  43.    #pragma checkout( resume )
  44. #endif
  45.  
  46. /* NOINC */
  47. #ifndef PMWP_INCLUDED  /* multiple include protection */
  48.    /* INC */
  49.    #define PMWP_INCLUDED
  50.    
  51.    #ifdef INCL_WINWORKPLACE
  52.       #define INCL_WPCLASS
  53.    #endif
  54.    
  55.    /*** Common types *******************************************************/
  56.    
  57.    typedef LHANDLE HOBJECT;
  58.    
  59.    /*** Object management calls ********************************************/
  60.    #if (defined(INCL_WPCLASS) || !defined(INCL_NOCOMMON))
  61.       /*** Standard object classes *****************************************/
  62.       
  63.       
  64.       #define CCHMAXCLASS              3      /* Length of a classname     */
  65.       
  66.       #define QC_First                 0      /* Codes for OA_QueryContent */
  67.       #define QC_Next                  1
  68.       #define QC_Last                  2
  69.       #define QC_FIRST              QC_First
  70.       #define QC_NEXT               QC_Next
  71.       #define QC_LAST               QC_Last
  72.       
  73.       #ifndef LOCATION_DESKTOP
  74.          #define LOCATION_DESKTOP ((PSZ)0xFFFF0001) /* Current Desktop             */
  75.          /* use instead of <WP_DESKTOP> */
  76.       #endif
  77.       
  78.       /*** An object's appearance (icon or bitmap or outline) **************/
  79.       
  80.       typedef struct _OBJECTIMAGE     /* oimg */
  81.       {
  82.          HPOINTER hptrObject;
  83.       } OBJECTIMAGE;
  84.       typedef OBJECTIMAGE *POBJECTIMAGE;
  85.       
  86.       /*** Class info structure returned by WinEnumObjectClasses ***********/
  87.       typedef struct _OBJCLASS         /* ocls */
  88.       {
  89.          struct _OBJCLASS *pNext;         /* Null for the last structure.. */
  90.          PSZ               pszClassName;  /* Class name                    */
  91.          PSZ               pszModName;    /* Module name                   */
  92.       } OBJCLASS;
  93.       typedef OBJCLASS *POBJCLASS;
  94.       
  95.       
  96.       /*** Workplace object management functions ***************************/
  97.       
  98.       BOOL APIENTRY WinRegisterObjectClass(PSZ pszClassName,
  99.                                            PSZ pszModName);
  100.       
  101.       BOOL APIENTRY WinDeregisterObjectClass(PSZ pszClassName);
  102.       
  103.       BOOL APIENTRY WinReplaceObjectClass(PSZ pszOldClassName,
  104.                                           PSZ pszNewClassName,
  105.                                           BOOL fReplace);
  106.       
  107.       BOOL APIENTRY WinEnumObjectClasses(POBJCLASS pObjClass,
  108.                                          PULONG pulSize);
  109.       
  110.       HOBJECT APIENTRY WinCreateObject(PSZ pszClassName,
  111.                                        PSZ pszTitle,
  112.                                        PSZ pszSetupString,
  113.                                        PSZ pszLocation,
  114.                                        ULONG ulFlags );
  115.       #define CO_FAILIFEXISTS     0
  116.       #define CO_REPLACEIFEXISTS  1
  117.       #define CO_UPDATEIFEXISTS   2
  118.       
  119.       BOOL APIENTRY WinSetObjectData(HOBJECT hObject,
  120.                                      PSZ pszSetupString);
  121.       
  122.       BOOL APIENTRY WinDestroyObject(HOBJECT hObject);
  123.       
  124.       HOBJECT APIENTRY WinQueryObject(PSZ pszObjectID);
  125.       
  126.       BOOL APIENTRY WinSaveObject(HOBJECT hObject,
  127.                                   BOOL    fAsync);
  128.       
  129.       BOOL APIENTRY WinOpenObject(HOBJECT hObject,
  130.                                   ULONG   ulView,
  131.                                   BOOL    Flag);
  132.       
  133.       HOBJECT APIENTRY WinMoveObject(HOBJECT hObjectofObject,
  134.                                      HOBJECT hObjectofDest,
  135.                                      ULONG   ulReserved);
  136.       
  137.       HOBJECT APIENTRY WinCopyObject(HOBJECT hObjectofObject,
  138.                                      HOBJECT hObjectofDest,
  139.                                      ULONG   ulReserved);
  140.       
  141.       HOBJECT APIENTRY WinCreateShadow(HOBJECT hObjectofObject,
  142.                                        HOBJECT hObjectofDest,
  143.                                        ULONG   ulReserved);
  144.       BOOL APIENTRY WinQueryActiveDesktopPathname(PSZ pszPathName,
  145.                                                   ULONG ulSize);
  146.       BOOL APIENTRY WinQueryObjectPath(HOBJECT hobject,
  147.                                        PSZ pszPathName,
  148.                                        ULONG ulSize);
  149.       
  150.       APIRET  APIENTRY WinRestartWPDServer( BOOL fState );
  151.       BOOL    APIENTRY WinIsWPDServerReady( VOID );
  152.       APIRET  APIENTRY WinRestartSOMDD( BOOL fState );
  153.       BOOL    APIENTRY WinIsSOMDDReady( VOID );
  154.       
  155.    #endif  /*WPCLASS*/
  156.    
  157.    /*** Error codes ********************************************************/
  158.    #define INCL_WPERRORS
  159.    #include <pmerr.h>
  160.    
  161.    /*** Object settings notebook page insertion structure ******************/
  162.    
  163.    typedef struct _PAGEINFO     /* pginf */
  164.    {
  165.       ULONG   cb;
  166.       HWND    hwndPage;
  167.       PFNWP   pfnwp;
  168.       ULONG   resid;
  169.       PVOID   pCreateParams;
  170.       USHORT  dlgid;
  171.       USHORT  usPageStyleFlags;
  172.       USHORT  usPageInsertFlags;
  173.       USHORT  usSettingsFlags;
  174.       PSZ     pszName;
  175.       USHORT  idDefaultHelpPanel;
  176.       USHORT  usReserved2;
  177.       PSZ     pszHelpLibraryName;
  178.       PUSHORT pHelpSubtable;   /* PHELPSUBTABLE when PMHELP.H is included*/
  179.       HMODULE hmodHelpSubtable;
  180.       ULONG   ulPageInsertId;
  181.    } PAGEINFO;
  182.    typedef PAGEINFO *PPAGEINFO;
  183.    
  184.    #define  SETTINGS_PAGE_NUMBERS     0x01
  185.    
  186.    /*** Utility apis +******************************************************/
  187.    
  188.    #if (!defined(INCL_NOCOMMON))
  189.       typedef struct _ICONPOS     /* icp */
  190.       {
  191.          POINTL  ptlIcon;                    /* Location */
  192.          CHAR    szIdentity[1];              /* Object identity string */
  193.       } ICONPOS;
  194.       typedef ICONPOS *PICONPOS;
  195.       
  196.       /*********************************************************************/
  197.       #ifdef INCL_WINPOINTERS
  198.          BOOL APIENTRY WinSetFileIcon(PSZ pszFileName,
  199.                                       PICONINFO pIcnInfo);
  200.          
  201.          BOOL APIENTRY WinSetFileIconN(PSZ pszFileName,
  202.                                        PICONINFO pIcnInfo,
  203.                                        ULONG ulIconIndex);
  204.       #endif
  205.       BOOL APIENTRY WinFreeFileIcon(HPOINTER hptr);
  206.       
  207.       HPOINTER APIENTRY WinLoadFileIcon(PSZ pszFileName,
  208.                                         BOOL fPrivate);
  209.       
  210.       HPOINTER APIENTRY WinLoadFileIconN(PSZ pszFileName,
  211.                                          BOOL fPrivate,
  212.                                          ULONG ulIconIndex);
  213.       
  214.       BOOL APIENTRY WinStoreWindowPos(PSZ pszAppName,
  215.                                       PSZ pszKeyName,
  216.                                       HWND hwnd);
  217.       
  218.       BOOL APIENTRY WinRestoreWindowPos(PSZ pszAppName,
  219.                                         PSZ pszKeyName,
  220.                                         HWND hwnd);
  221.       
  222.       BOOL APIENTRY WinShutdownSystem(HAB hab,
  223.                                       HMQ hmq);
  224.    #endif
  225.    
  226.    /* NOINC */
  227. #endif /* PMWP_INCLUDED */
  228. /* INC */
  229.  
  230. #ifdef __IBMC__
  231.    #pragma checkout( suspend )
  232.    #ifndef __CHKHDR__
  233.       #pragma checkout( resume )
  234.    #endif
  235.    #pragma checkout( resume )
  236. #endif
  237.  
  238. /**************************** end of file **********************************/
  239.