home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / tolkit45.zip / os2tk45 / idl / wpobject.idl < prev    next >
Text File  |  1999-03-15  |  62KB  |  1,400 lines

  1.  
  2. //  Module Header
  3. //
  4. //  Module Name: WPOBJECT
  5. //
  6. //  OS/2 Presentation Manager Workplace class definitions
  7. //
  8. //  Copyright (c) International Business Machines Corporation 1991, 1992
  9. //
  10.  
  11. #ifndef wpobject_idl
  12. #define wpobject_idl
  13.  
  14. #include <somobj.idl>
  15. #include <sombacls.idl>
  16.  
  17. interface WPFolder;
  18. interface M_WPObject;
  19. interface M_WPObject;
  20.  
  21. #include "wptypes.idl"
  22.  
  23. interface WPObject : SOMObject
  24.  
  25. {
  26.   ULONG wpAddObjectGeneralPage(in HWND hwndNotebook);
  27.  
  28.   ULONG wpAddObjectGeneralPage2(in HWND hwndNotebook);                          
  29.  
  30.   ULONG wpAddObjectWindowPage(in HWND hwndNotebook);
  31.  
  32.   BOOL wpAddSettingsPages(in HWND hwndNotebook);
  33.  
  34.   BOOL wpAddToObjUseList(in PUSEITEM pUseItem);
  35.  
  36.   PBYTE wpAllocMem(in ULONG cbBytes,
  37.                    in PULONG prc);
  38.  
  39.   BOOL32 wpAppendObject(in WPObject targetObject,
  40.                         in BOOL32 fMove);
  41.  
  42.   BOOL wpAssertObjectMutexSem();
  43.  
  44.   BOOL wpClose();
  45.  
  46.   PMINIRECORDCORE wpCnrInsertObject(in HWND hwndCnr,
  47.                                     in PPOINTL pptlIcon,
  48.                                     in PMINIRECORDCORE preccParent,
  49.                                     in PRECORDINSERT pRecInsert);
  50.  
  51.   BOOL wpCnrRemoveObject(in HWND hwndCnr);
  52.  
  53.   BOOL wpCnrSetEmphasis(in ULONG ulEmphasisAttr,
  54.                         in BOOL fTurnOn);
  55.  
  56.   ULONG wpConfirmDelete(in ULONG fConfirmations);
  57.  
  58.   ULONG wpConfirmObjectTitle(in WPFolder Folder,
  59.                              inout WPObject ppDuplicate,
  60.                              in PSZ pszTitle,
  61.                              in ULONG cbTitle,
  62.                              in ULONG menuID);
  63.  
  64.   VOID wpCopiedFromTemplate();
  65.  
  66.   WPObject wpCopyObject(in WPFolder Folder,
  67.                         in BOOL fLock);
  68.  
  69.   WPObject wpCreateAnother(in PSZ pszTitle,
  70.                            in PSZ pszSetupEnv,
  71.                            in WPFolder Folder);
  72.  
  73.   WPObject wpCreateFromTemplate(in WPFolder folder,
  74.                                 in BOOL fLock);
  75.  
  76.   WPObject wpCreateShadowObject(in WPFolder Folder,
  77.                                 in BOOL fLock);
  78.  
  79.   ULONG wpDelete(in ULONG fConfirmations);
  80.  
  81.   BOOL wpDeleteFromObjUseList(in PUSEITEM pUseItem);
  82.  
  83.   BOOL wpDisplayHelp(in ULONG HelpPanelId,
  84.                      in PSZ HelpLibrary);
  85.  
  86.   HWND   wpDisplayMenu(in HWND hwndOwner, in HWND hwndClient,
  87.                        inout POINTL ptlPopupPt, in ULONG ulMenuType,
  88.                        in ULONG ulReserved);
  89.  
  90.   BOOL wpDoesObjectMatch(in PVOID pvoidExtendedCriteria);
  91.  
  92.   MRESULT wpDraggedOverObject(in WPObject DraggedOverObject);
  93.  
  94.   MRESULT wpDragOver(in HWND hwndCnr,
  95.                      in PDRAGINFO pdrgInfo);
  96.  
  97.   MRESULT wpDrop(in HWND hwndCnr,
  98.                  in PDRAGINFO pdrgInfo,
  99.                  in PDRAGITEM pdrgItem);
  100.  
  101.   BOOL wpDroppedOnObject(in WPObject DroppedOnObject);
  102.  
  103.   MRESULT wpEndConversation(in ULONG ulItemID,
  104.                             in ULONG flResult);
  105.  
  106.   ULONG wpFilterPopupMenu(in ULONG ulFlags,
  107.                           in HWND hwndCnr,
  108.                           in BOOL fMultiSelect);
  109.  
  110.   BOOL  wpFilterMenu(inout FILTERFLAGS  pFlags,
  111.                      in    HWND         hwndCnr,
  112.                      in    BOOL         fMultiSelect,
  113.                      in    ULONG        ulMenuType,
  114.                      in    ULONG        ulView,
  115.                      in    ULONG        ulReserved);
  116.  
  117.   PUSEITEM wpFindUseItem(in ULONG type,
  118.                          in PUSEITEM pCurrentItem);
  119.  
  120.   BOOL wpFormatDragItem(in PDRAGITEM pdrgItem);
  121.  
  122.   BOOL wpFree();
  123.  
  124.   BOOL wpFreeMem(in PBYTE pByte);
  125.  
  126.   BOOL wpHide();
  127.  
  128.   VOID wpInitData();
  129.  
  130.   BOOL wpInsertPopupMenuItems(in HWND hwndMenu,
  131.                               in ULONG iPosition,
  132.                               in HMODULE hmod,
  133.                               in ULONG MenuID,
  134.                               in ULONG SubMenuID);
  135.  
  136.   BOOL wpInsertMenuItems(in HWND hwndMenu,
  137.                          in ULONG iPosition,
  138.                          in HMODULE hmod,
  139.                          in ULONG MenuID,
  140.                          in ULONG SubMenuID);
  141.  
  142.   ULONG wpInsertSettingsPage(in HWND hwndNotebook,
  143.                              in PPAGEINFO ppageinfo);
  144.  
  145.   BOOL wpMenuItemHelpSelected(in ULONG MenuId);
  146.  
  147.   BOOL wpMenuItemSelected(in HWND hwndFrame,
  148.                           in ULONG ulMenuId);
  149.  
  150.   BOOL wpModifyPopupMenu(in HWND hwndMenu,
  151.                          in HWND hwndCnr,
  152.                          in ULONG iPosition);
  153.  
  154.   BOOL wpModifyMenu(in HWND hwndMenu,
  155.                     in HWND hwndCnr,
  156.                     in ULONG iPosition,
  157.                     in ULONG ulMenuType,
  158.                     in ULONG ulView,
  159.                     in ULONG ulReserved);
  160.  
  161.   BOOL wpMoveObject(in WPFolder Folder);
  162.  
  163.   HWND wpOpen(in HWND hwndCnr,
  164.               in ULONG ulView,
  165.               in ULONG param);
  166.  
  167.   BOOL wpPrintObject(in PPRINTDEST pPrintDest,
  168.                      in ULONG ulReserved);
  169.  
  170.   ULONG wpQueryConcurrentView();
  171.  
  172.   ULONG wpQueryButtonAppearance();
  173.  
  174.   ULONG wpQueryConfirmations();
  175.  
  176.   BOOL wpQueryDefaultHelp(in PULONG pHelpPanelId,
  177.                           in PSZ HelpLibrary);
  178.  
  179.   ULONG wpQueryDefaultView();
  180.  
  181.   ULONG wpQueryDetailsData(inout PVOID ppDetailsData,
  182.                            in PULONG pcp);
  183.  
  184.   ULONG wpQueryError();
  185.  
  186.   BOOL wpSetFolder(in WPObject container);
  187.  
  188.   WPObject wpQueryFolder();
  189.  
  190.   HPOINTER wpQueryIcon();
  191.  
  192.   ULONG wpQueryIconData(in PICONINFO pIconInfo);
  193.  
  194.   ULONG wpQueryMinWindow();
  195.  
  196.   ULONG wpQueryNameClashOptions(in ULONG menuID);
  197.  
  198.   ULONG wpQueryStyle();
  199.  
  200.   BOOL32 wpSetTaskRec(in PTASKREC pNew,
  201.                       in PTASKREC pOld);
  202.  
  203.   PTASKREC wpFindTaskRec();
  204.  
  205.   PSZ wpQueryTitle();
  206.  
  207.   BOOL wpRegisterView(in HWND hwndFrame,
  208.                       in PSZ pszViewTitle);
  209.  
  210.   ULONG wpReleaseObjectMutexSem();
  211.  
  212.   MRESULT wpRender(in PDRAGTRANSFER pdxfer);
  213.  
  214.   MRESULT wpRenderComplete(in PDRAGTRANSFER pdxfer,
  215.                            in ULONG ulResult);
  216.  
  217.   BOOL32 wpReplaceObject(in WPObject targetObject,
  218.                          in BOOL32 fMove);
  219.  
  220.   ULONG wpRequestObjectMutexSem(in ULONG ulTimeout);
  221.  
  222.   BOOL wpRestore();
  223.  
  224.   BOOL wpRestoreData(in PSZ pszClass,
  225.                      in ULONG ulKey,
  226.                      in PBYTE pValue,
  227.                      in PULONG pcbValue);
  228.  
  229.   BOOL wpRestoreLong(in PSZ pszClass,
  230.                      in ULONG ulKey,
  231.                      in PULONG pulValue);
  232.  
  233.   BOOL wpRestoreState(in ULONG ulReserved);
  234.  
  235.   BOOL wpRestoreString(in PSZ pszClass,
  236.                        in ULONG ulKey,
  237.                        in PSZ pszValue,
  238.                        in PULONG pcbValue);
  239.  
  240.   BOOL wpSaveData(in PSZ pszClass,
  241.                   in ULONG ulKey,
  242.                   in PBYTE pValue,
  243.                   in ULONG cbValue);
  244.  
  245.   BOOL wpSaveImmediate();
  246.  
  247.   BOOL wpSaveDeferred();
  248.  
  249.   BOOL wpSaveLong(in PSZ pszClass,
  250.                   in ULONG ulKey,
  251.                   in ULONG ulValue);
  252.  
  253.   BOOL wpSaveState();
  254.  
  255.   BOOL wpSaveString(in PSZ pszClass,
  256.                     in ULONG ulKey,
  257.                     in PSZ pszValue);
  258.  
  259.   BOOL wpScanSetupString(in PSZ pszSetupString,
  260.                          in PSZ pszKey,
  261.                          in PSZ pszValue,
  262.                          in PULONG pcbValue);
  263.  
  264.   VOID wpSetConcurrentView(in ULONG ulCCView);
  265.  
  266.   VOID wpSetButtonAppearance(in ULONG ulButtonType);
  267.  
  268.   BOOL wpSetDefaultHelp(in ULONG HelpPanelId,
  269.                         in PSZ HelpLibrary);
  270.  
  271.   BOOL wpSetDefaultView(in ULONG ulView);
  272.  
  273.   BOOL wpSetError(in ULONG ulErrorId);
  274.  
  275.   SGID   wpQueryScreenGroupID( in SGID   sgidPrevSgId );                       
  276.  
  277.   BOOL   wpSetupOnce (in PSZ pszSetupString);
  278.  
  279.   BOOL wpSetIcon(in HPOINTER hptrNewIcon);
  280.  
  281.   BOOL wpSetIconData(in PICONINFO pIconInfo);
  282.  
  283.   VOID wpSetMinWindow(in ULONG ulMinWindow);
  284.  
  285.   BOOL wpModifyStyle(in ULONG ulStyleFlags,
  286.                      in ULONG ulStyleMask);
  287.  
  288.   BOOL wpSetTitle(in PSZ pszNewTitle);
  289.  
  290.   BOOL wpSetup(in PSZ pszSetupString);
  291.  
  292.   BOOL wpSwitchTo(in ULONG View);
  293.  
  294.   VOID wpUnInitData();
  295.  
  296.   HWND wpViewObject(in HWND hwndCnr,
  297.                     in ULONG ulView,
  298.                     in ULONG param);
  299.  
  300.   ULONG wpQueryTrueStyle();
  301.  
  302.   HOBJECT wpQueryHandle();
  303.  
  304.   BOOL wpUnlockObject();
  305.  
  306.    VOID wpObjectReady( in ULONG ulCode, in WPObject refObject );
  307.  
  308.    BOOL wpIsObjectInitialized();
  309.  
  310.    WPObject wpCreateShadowObjectExt( in WPFolder Folder, in BOOL fLock,
  311.                                      in PSZ pszSetup, in M_WPObject shadowClass );
  312.  
  313.   BOOL wpCnrDeleteUseItem(in HWND hwndCnr);
  314.  
  315.   BOOL wpIsDeleteable();
  316.  
  317.   PMINIRECORDCORE wpQueryCoreRecord();
  318.  
  319.   BOOL wpSetObjectID(in PSZ pszObjectID);
  320.  
  321.   PSZ wpQueryObjectID();
  322.  
  323.   BOOL wpSetDefaultIconPos(in PPOINTL pPointl);
  324.  
  325.   BOOL wpQueryDefaultIconPos(in PPOINTL pPointl);
  326.  
  327.   VOID wpCnrRefreshDetails();
  328.  
  329.   PVIEWITEM wpFindViewItem(in ULONG flViews,
  330.                            in PVIEWITEM pCurrentItem);
  331.  
  332.   VOID wpLockObject();
  333.  
  334.   BOOL wpIsLocked();
  335.  
  336.   PULONG wpQueryContainerFlagPtr();
  337.  
  338.   ULONG wpWaitForClose(in LHANDLE lhView,
  339.                        in ULONG ulViews,
  340.                        in LONG lTimeOut,
  341.                        in BOOL bAutoClose);
  342.  
  343.   BOOL wpSetMenuStyle(in ULONG ulStyle);
  344.  
  345. ULONG wpQueryMenuStyle();
  346.  
  347.   BOOL wpIdentify(in PSZ pszIdentity);
  348.  
  349.   BOOL wpSetStyle(in ULONG ulNewStyle);
  350.  
  351.  
  352. #ifdef __SOMIDL__
  353.   implementation {
  354.  
  355.     releaseorder: wpSetTitle,wpQueryTitle,
  356.                   wpSetStyle,
  357.                   wpQueryStyle,wpSetIcon,
  358.                   wpQueryIcon,wpSetFolder,wpQueryFolder,
  359.                   wpObjectPrivate1,
  360.                   wpObjectPrivate2,
  361.                   wpSetDefaultView,wpQueryDefaultView,
  362.                   wpObjectPrivate3,
  363.                   wpSaveState,
  364.                   wpObjectPrivate4,
  365.                   wpObjectPrivate5,
  366.                   wpSaveLong,wpSaveString,wpSaveData,
  367.                   wpObjectPrivate6,
  368.                   wpRestoreState,
  369.                   wpObjectPrivate7,
  370.                   wpObjectPrivate8,
  371.                   wpRestoreLong,
  372.                   wpRestoreString,wpRestoreData,
  373.                   wpObjectPrivate9,
  374.                   wpAllocMem,wpFreeMem,wpAddToObjUseList,wpDeleteFromObjUseList,
  375.                   wpFindUseItem,wpSwitchTo,withdrawn1,wpFilterPopupMenu,
  376.                   wpModifyPopupMenu,wpMenuItemSelected,wpFormatDragItem,
  377.                   wpDrop,wpDragOver,wpRender,wpEndConversation,withdrawn10,
  378.                   wpObjectPrivate10,
  379.                   wpObjectPrivate11,
  380.                   wpFree,wpCopiedFromTemplate,
  381.                   wpAddSettingsPages,wpAddObjectGeneralPage,wpDisplayHelp,
  382.                   wpMenuItemHelpSelected,wpInsertSettingsPage,wpInsertPopupMenuItems,
  383.                   withdrawn5,withdrawn6,withdrawn4,withdrawn3,wpCnrInsertObject,
  384.                   wpCnrRemoveObject,wpInitData,wpUnInitData,wpSetup,
  385.                   wpScanSetupString,wpSaveImmediate,wpOpen,wpClose,
  386.                   wpHide,wpRestore,wpSetIconData,wpQueryIconData,
  387.  
  388.                   wpObjectPrivate12,
  389.                   wpDelete,wpConfirmDelete,withdrawn2,withdrawn11,
  390.                   withdrawn7,wpRegisterView,wpIdentify,wpSetDefaultHelp,
  391.                   wpQueryDefaultHelp,wpDoesObjectMatch,wpCnrRefreshDetails,
  392.                   wpSetError,wpQueryError,wpDraggedOverObject,wpDroppedOnObject,
  393.                   wpSetDefaultIconPos,wpQueryDefaultIconPos,
  394.                   wpObjectPrivate13,
  395.                   wpObjectPrivate14,
  396.                   wpSetObjectID,wpQueryObjectID,wpIsDeleteable,
  397.                   wpQueryHandle,wpSaveDeferred,wpAddObjectWindowPage,
  398.                   wpQueryConcurrentView,wpSetConcurrentView,wpQueryMinWindow,
  399.                   wpSetMinWindow,wpViewObject,wpQueryButtonAppearance,
  400.                   wpSetButtonAppearance,wpQueryConfirmations,wpCnrSetEmphasis,
  401.                   wpQueryCoreRecord,wpFindViewItem,wpCreateFromTemplate,
  402.                   wpQueryTrueStyle,wpAssertObjectMutexSem,wpReleaseObjectMutexSem,
  403.                   wpRequestObjectMutexSem,wpCreateAnother,wpCreateShadowObject,
  404.                   wpCopyObject,wpMoveObject,wpLockObject,wpUnlockObject,
  405.                   wpIsLocked,wpRenderComplete,wpQueryDetailsData,wpPrintObject,
  406.                   wpObjectPrivate15,
  407.                   wpSetTaskRec,
  408.                   wpObjectPrivate16,
  409.                   wpModifyStyle,
  410.                   wpObjectPrivate17,
  411.                   wpFindTaskRec,wpAppendObject,wpReplaceObject,
  412.                   wpQueryNameClashOptions,wpConfirmObjectTitle,_get_pobjNext,
  413.                   wpQueryContainerFlagPtr,
  414.                   wpObjectPrivate18,
  415.                   wpObjectPrivate19,
  416.                   wpObjectPrivate20,
  417.                   wpCnrDeleteUseItem,
  418.                   wpObjectReady, wpIsObjectInitialized,
  419.                   wpCreateShadowObjectExt,
  420.                   wpObjectPrivate21,
  421.                   wpObjectPrivate22,
  422.                   wpObjectPrivate26,
  423.                   wpDisplayMenu,
  424.                   wpWaitForClose, wpQueryScreenGroupID, wpSetupOnce,            
  425.                   wpAddObjectGeneralPage2,
  426.                   wpObjectPrivate23,
  427.                   wpObjectPrivate24,
  428.                   wpModifyMenu, wpFilterMenu, wpInsertMenuItems,                
  429.                   wpSetMenuStyle,wpQueryMenuStyle,                             
  430.                   wpObjectPrivate27,                                           
  431.                   wpObjectPrivate28,                                           
  432.                   wpObjectPrivate29,                                           
  433.                   wpObjectPrivate30,                                           
  434.                   wpQueryOpenView,                                             
  435.                   wpSetOpenView,                                               
  436.  
  437.                  wpObjectPrivate31,                                             
  438.                  wpObjectPrivate32,                                             
  439.                  wpObjectPrivate33;                                             
  440.  
  441.     externalstem = wpobj;
  442.     local;
  443.     externalprefix = obj_;
  444.     majorversion = 1;
  445.     minorversion = 2;
  446.     filestem = wpobject;
  447.     metaclass = M_WPObject;
  448.     callstyle = oidl;
  449.     dllname = "pmwp.dll";               
  450.  
  451.     passthru C_h =      ""
  452. "   #define INCL_WINSTDCNR"
  453. "   #include <pmstddlg.h>"
  454. ""
  455. "      #ifndef __cplusplus"
  456. "        #ifndef M_WPObject"
  457. "          #define M_WPObject SOMClass"
  458. "        #endif"
  459. "        #ifndef WPObject"
  460. "          #define WPObject SOMObject"
  461. "        #endif"
  462. "      #else"
  463. "        class M_WPObject;"
  464. "        class WPObject;"
  465. "      #endif"
  466. ""
  467. "      #ifdef _wpCreateShadowObject2"
  468. "         #undef _wpCreateShadowObject2"
  469. "      #endif"
  470. "      #define _wpCreateShadowObject2 _wpCreateShadowObjectExt"
  471. ""
  472. "      #ifdef __cplusplus                                                 " 
  473. "            extern \"C\" {                                               " 
  474. "      #endif                                                             " 
  475. "      /* Export a convience function to find BS_NOTEBOOKBUTTON buttons */" 
  476. "      HWND APIENTRY WinNotebookButtonFromID(HWND hwndDlg, ULONG id);     " 
  477. ""
  478. "      /* Allow applications to wait for the Shell to be available */     " 
  479. "      #define WWFS_QUERY            0x80000000                           " 
  480. "      #define WWFS_DESKTOPCREATED   1                                    " 
  481. "      #define WWFS_DESKTOPOPENED    2                                    " 
  482. "      #define WWFS_DESKTOPPOPULATED 3                                    " 
  483. "      BOOL APIENTRY WinWaitForShell( ULONG ulEvent );                    " 
  484. "      #ifdef __cplusplus                                                 " 
  485. "            }                                                            " 
  486. "      #endif                                                             " 
  487. "                                                                         " 
  488. ""
  489. "      /* Object style flags (see wpSetStyle) */"
  490. ""
  491. "      #define OBJSTYLE_NOMOVE         0x00000002"                              
  492. "      #define OBJSTYLE_NOLINK         0x00000004"                              
  493. "      #define OBJSTYLE_NOCOPY         0x00000008"                              
  494. "      #define OBJSTYLE_NOTDEFAULTICON 0x00000010   /* Intentionally not declared CLSSTYLE */ " 
  495.  
  496. "      #define OBJSTYLE_TEMPLATE       0x00000020"                              
  497. "      #define OBJSTYLE_NODELETE       0x00000040"                              
  498. "      #define OBJSTYLE_NOPRINT        0x00000080"                              
  499. "      #define OBJSTYLE_NODRAG         0x00000100"                              
  500. "      #define OBJSTYLE_NOTVISIBLE     0x00000200"                              
  501. "      #define OBJSTYLE_NOSETTINGS     0x00000400"                              
  502. "      #define OBJSTYLE_NORENAME       0x00000800"                              
  503. "      #define OBJSTYLE_NODROP         0x00001000"  
  504. "      #define OBJSTYLE_NODROPON       0x00002000   /* Use instead of OBJSTYLE_NODROP, " 
  505. "                                              because OBJSTYLE_NODROP and     "
  506. "                                              CLSSTYLE_PRIVATE have the same  "
  507. "                                              value (DD 86093F) */            "
  508. "      #define OBJSTYLE_CUSTOMICON     0x00004000  /* Use instead of OBJSTYLE_NOTDEFAULTICON  " 
  509. "                                               because OBJSTYLE_NOTDEFAULTICON and    "
  510. "                                               CLSSTYLE_NEVERTEMPLATE have the same   "
  511. "                                               value (DD 86093F) */                   "
  512.  
  513. "      #define OBJSTYLE_LOCKEDINPLACE  0x00020000 /* Lock an object in place */    " 
  514.  
  515. ""
  516. "      /*  Class style flags (see wpclsQueryStyle) */"
  517. ""
  518. "      #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE"
  519. "      #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK"
  520. "      #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY"
  521. "      #define CLSSTYLE_NEVERTEMPLATE  0x00000010"                              
  522. "      #define CLSSTYLE_NEVERDELETE    OBJSTYLE_NODELETE"
  523. "      #define CLSSTYLE_NEVERPRINT     OBJSTYLE_NOPRINT"
  524. "      #define CLSSTYLE_NEVERDRAG      OBJSTYLE_NODRAG"
  525. "      #define CLSSTYLE_NEVERVISIBLE   OBJSTYLE_NOTVISIBLE"
  526. "      #define CLSSTYLE_NEVERRENAME    OBJSTYLE_NORENAME"
  527. "      #define CLSSTYLE_PRIVATE        0x00001000   /* Intentionally not declared OBJSTYLE */     " 
  528. "      #define CLSSTYLE_NEVERSETTINGS  OBJSTYLE_NOSETTINGS                      /*DD 86093F*/ "
  529. "      #define CLSSTYLE_NEVERDROPON    OBJSTYLE_NODROPON                        /*DD 86093F*/ "
  530. "      #define CLSSTYLE_HIDDEN         0x00008000  /* Use instead of CLSSTYLE_PRIVATE          " 
  531. "                                                 because OBJSTYLE_NODROP and             "
  532. "                                                 CLSSTYLE_PRIVATE have the same          "
  533. "                                                 value (DD 86093F) */                    "
  534. "      #define CLSSTYLE_DONTTEMPLATE   0x00010000  /* Use instead of CLSSTYLE_NEVERTEMPLATE    " 
  535. "                                                 because OBJSTYLE_NOTDEFAULTICON and     "
  536. "                                                 CLSSTYLE_NEVERTEMPLATE have the same    "
  537. "                                                 value (DD 86093F) */                    "
  538.  
  539. "      #define CLSSTYLE_ALWAYSTEMPLATE 0x00040000"                              
  540. ""
  541. "      /* Flags for wpObjectReady() method */ "
  542. "      #define OR_NEW           0x00000001"
  543. "      #define OR_AWAKE         0x00000002"
  544. "      #define OR_REFERENCE     0x10000000"
  545. "      #define OR_FROMTEMPLATE (0x00000004 | OR_REFERENCE)"
  546. "      #define OR_FROMCOPY     (0x00000008 | OR_REFERENCE)"
  547. "      #define OR_SHADOW       (0x00000010 | OR_REFERENCE)"
  548. ""
  549. "      /*  Flags for the wpFilterPopupMenu/wpFilterMenu methods */"
  550. ""
  551. "      /* DWORD 0  */"
  552. "      #define CTXT_CRANOTHER     0x0001   /* Flags for ulFlags */"
  553. "      #define CTXT_NEW           CTXT_CRANOTHER"
  554. "      #define CTXT_OPEN          0x0002"
  555. "      #define CTXT_WINDOW        0x0004"
  556. "      #define CTXT_SWITCHTO      CTXT_WINDOW"
  557. "      #define CTXT_CLOSE         0x0008"
  558. "      #define CTXT_SETTINGS      0x0010"
  559. "      #define CTXT_PROPERTIES    CTXT_SETTINGS"         
  560. "      #define CTXT_PRINT         0x0020"
  561. "      #define CTXT_HELP          0x0040"
  562. "      #define CTXT_DELETE        0x0080"
  563. "      #define CTXT_COPY          0x0100"
  564. "      #define CTXT_MOVE          0x0200"
  565. "      #define CTXT_SHADOW        0x0400"
  566. "      #define CTXT_LINK          CTXT_SHADOW"
  567. "      #define CTXT_PROGRAM       0x0800"
  568. "      #define CTXT_ICON        0x001000"
  569. "      #define CTXT_TREE        0x002000"
  570. "      #define CTXT_DETAILS     0x004000"
  571. "      #define CTXT_FIND        0x008000"
  572. "      #define CTXT_SELECT      0x010000"
  573. "      #define CTXT_ARRANGE     0x020000"
  574. "      #define CTXT_SORT        0x040000"
  575. "      #define CTXT_SHUTDOWN    0x080000"
  576. "      #define CTXT_LOCKUP      0x100000"
  577. "      #define CTXT_PALETTE     0x200000"
  578. "      #define CTXT_REFRESH     0x400000"
  579. "      #define CTXT_PICKUP      0x800000"             
  580. "      #define CTXT_PUTDOWN        0x1000000"         
  581. "      #define CTXT_PUTDOWN_CANCEL 0x2000000"         
  582. "      #define CTXT_CHANGETOICON   0x4000000"         
  583. "      #define CTXT_CHANGETOTREE   0x8000000"         
  584. "      #define CTXT_CHANGETODETAILS 0x10000000"       
  585. "      #define CTXT_VIEW            0x20000000"       
  586. "      #define CTXT_PASTE           0x40000000"       
  587. "      #define CTXT_UNDOARRANGE     0x80000000"       
  588. ""
  589. "      /* DWORD 1  */"
  590. "      #define CTXT_SELECTALL      0x00000001" 
  591. "      #define CTXT_DESELECTALL    0x00000002" 
  592. "      #define CTXT_OPENPARENT     0x00000004" 
  593. "      #define CTXT_SETUP          0x00000008" 
  594. "      #define CTXT_PRODINFO       0x00000010" 
  595. "      #define CTXT_ORIGINAL       0x00000020" 
  596. "      #define CTXT_LOCATEORIGINAL 0x00000040" 
  597. "      #define CTXT_DELETEORIGINAL 0x00000080" 
  598. "      #define CTXT_COPYORIGINAL   0x00000100" 
  599. "      #define CTXT_NOOBJECTS      0x00000200" 
  600. "      #define CTXT_MAXIMIZE       0x00000400" 
  601. "      #define CTXT_RESTORE        0x00000800" 
  602. "      #define CTXT_WINDOWLIST     0x00002000" 
  603. "      #define CTXT_CREATEPARTITION 0x00004000" 
  604. "      #define CTXT_COPYDISK       0x00008000" 
  605. "      #define CTXT_FORMATDISK     0x00010000" 
  606. "      #define CTXT_CHECKDISK      0x00020000" 
  607. "      #define CTXT_LOCKDISK       0x00040000" 
  608. "      #define CTXT_UNLOCKDISK     0x00080000" 
  609. "      #define CTXT_EJECTDISK      0x00100000" 
  610. "      #define CTXT_LOGIN          0x00200000" 
  611. "      #define CTXT_LOGOUT         0x00400000" 
  612. "      #define CTXT_ASSIGN         0x00800000" 
  613. "      #define CTXT_UNASSIGN       0x01000000" 
  614. "      #define CTXT_ACCESSNEW      0x02000000" 
  615. "      #define CTXT_DATETIME       0x04000000" 
  616. "      #define CTXT_LOCKEDINPLACE    0x08000000" 
  617. "      #define CTXT_LOCKEDINPLACEYES 0x10000000" 
  618. "      #define CTXT_LOCKEDINPLACENO  0x20000000" 
  619. "      #define CTXT_STANDARD         0x40000000" 
  620. "      #define CTXT_PERIMETER        0x80000000" 
  621. ""
  622. "      /* DWORD 2  */"
  623. "      #define CTXT_SELECTEDHORZ     0x00000001" 
  624. "      #define CTXT_SELECTEDVERT     0x00000002" 
  625. "      #define CTXT_ARRANGETOP       0x00000004" 
  626. "      #define CTXT_LOGOFF           0x00000008" 
  627. "      #define CTXT_ARRANGELEFT      0x00000010" 
  628. "      #define CTXT_ARRANGERIGHT     0x00000020" 
  629. "      #define CTXT_ARRANGEBOTTOM    0x00000040" 
  630. "      #define CTXT_UNDOSORT         0x00000080" 
  631. ""
  632. "     /* Flags for the wpDisplayMenu() method */"
  633. ""
  634. "     #define MENU_OBJECTPOPUP          0x00000001"
  635. "     #define MENU_OPENVIEWPOPUP        0x00000002"
  636. "     #define MENU_TITLEBARPULLDOWN     0x00000003"
  637. "     #define MENU_TITLEBARPULLDOWNINT  0x00000004"
  638. "     #define MENU_FOLDERPULLDOWN       0x00000005" 
  639. "     #define MENU_VIEWPULLDOWN         0x00000006" 
  640. "     #define MENU_HELPPULLDOWN         0x00000007" 
  641. "     #define MENU_EDITPULLDOWN         0x00000008" 
  642. "     #define MENU_SELECTEDPULLDOWN     0x00000009" 
  643. "     #define MENU_FOLDERMENUBAR        0x0000000A" 
  644. "     #define MENU_NODISPLAY            0x40000000" 
  645. "     #define MENU_USER                 0x80000000"
  646. ""
  647. "      typedef struct _FILTERFLAGS"        
  648. "      {"                                  
  649. "         ULONG       cbItem;"             
  650. "         ULONG       Flags[3];"           
  651. "      } FILTERFLAGS;"                     
  652. "      typedef FILTERFLAGS *PFILTERFLAGS;" 
  653. ""
  654. "      /* common context menu ids */"
  655. ""
  656. "      #define WPMENUID_USER          0x6500"
  657. "      #define WPMENUID_PRIMARY            0"
  658. "      #define WPMENUID_OPEN               1"
  659. "      #define WPMENUID_HELP               2"
  660. "      #define WPMENUID_PRINT              3"
  661. "      #define WPMENUID_SELECT             4"
  662. "      #define WPMENUID_SORT               5"
  663. "      #define WPMENUID_TREE               123                                 /*DD 86092F*/  "
  664. "      #define WPMENUID_FIND               8                                   /*DD 86092F*/  "
  665. "      #define WPMENUID_CREATEANOTHER      101                                 /*DD 86092F*/  "
  666. "      #define WPMENUID_MOVE               107                                 /*DD 86092F*/  "
  667. "      #define WPMENUID_COPY               108                                 /*DD 86092F*/  "
  668. "      #define WPMENUID_DELETE             109                                 /*DD 86092F*/  "
  669. "      #define WPMENUID_PROPERTIES         112                                 /*DD 86092F*/  "
  670. "      #define WPMENUID_SELALL             114                                 /*DD 86092F*/  "
  671. "      #define WPMENUID_DESELALL           115                                 /*DD 86092F*/  "
  672. "      #define WPMENUID_RESERVED1          118                                 /*DD 86092F*/  "
  673. "      #define WPMENUID_CLOSE              120                                 /*DD 86092F*/  "
  674. "      #define WPMENUID_FORMAT             124                                 /*DD 86092F*/  "
  675. "      #define WPMENUID_CHKDSK             128                                 /*DD 86092F*/  "
  676. "      #define WPMENUID_FIXDSK             129                                 /*DD 86092F*/  "
  677. "      #define WPMENUID_PROGRAM            132                                 /*DD 86092F*/  "
  678. "      #define WPMENUID_COPYDSK            182                                 /*DD 86092F*/  "
  679. "      #define WPMENUID_LOCKDISK           184                                 /*DD 86092F*/  "
  680. "      #define WPMENUID_EJECTDISK          185                                 /*DD 86092F*/  "
  681. "      #define WPMENUID_UNLOCKDISK         186                                 /*DD 86092F*/  "
  682. "      #define WPMENUID_PICKUP             188                                 /* rme77131*/  "
  683. "      #define WPMENUID_PUTDOWN            189                                 /* rme77131*/  "
  684. "      #define WPMENUID_PUTDOWN_COPY       190                                 /* rme77131*/  "
  685. "      #define WPMENUID_PUTDOWN_MOVE       191                                 /* rme77131*/  "
  686. "      #define WPMENUID_PUTDOWN_LINK       192                                 /* rme77131*/  "
  687. "      #define WPMENUID_PUTDOWN_CANCEL     193                                 /* rme77131*/  "
  688. "      #define WPMENUID_PUTDOWN_CREATE     194                                 /* rme77131*/  "
  689. "      #define WPMENUID_PUTDOWN_CREATEPROGRAMOBJECT     195                    /*rme146942*/  "
  690. "      #define WPMENUID_ICON               303                                 /*DD 86092F*/  "
  691. "      #define WPMENUID_DETAILS            304                                 /*DD 86092F*/  "
  692. "      #define WPMENUID_ARRANGE            309                                 /*DD 86092F*/  "
  693. "      #define WPMENUID_RESERVED2          315                                 /*DD 86092F*/  "
  694. "      #define WPMENUID_CREATESHADOW       316                                 /*DD 86092F*/  "
  695. "      #define WPMENUID_PALETTE            317                                 /*DD 86092F*/  "
  696. "      #define WPMENUID_REFRESH            503                                 /*DD 86092F*/  "
  697. "      #define WPMENUID_HELP_FOR_HELP      601                                 /*DD 86092F*/  "
  698. "      #define WPMENUID_HOWTOGETHELP       601                                 /*DD 86092F*/  "
  699. "      #define WPMENUID_EXTENDEDHELP       602                                 /*DD 86092F*/  "
  700. "      #define WPMENUID_HELPKEYS           603                                 /*DD 86092F*/  "
  701. "      #define WPMENUID_HELPINDEX          604                                 /*DD 86092F*/  "
  702. "      #define WPMENUID_SHUTDOWN           704                                 /*DD 86092F*/  "
  703. "      #define WPMENUID_LOCKUP             705                                 /*DD 86092F*/  "
  704. "      #define WPMENUID_LOGIN              708                                 /*DD 86092F*/  "
  705. "      #define WPMENUID_LOGOUT             709                                 /*DD 86092F*/  "
  706. "      #define WPMENUID_ASSIGN             710                                 /*DD 86092F*/  "
  707. "      #define WPMENUID_UNASSIGN           711                                 /*DD 86092F*/  "
  708. "      #define WPMENUID_ACCESSNEW          712                                 /*DD 86092F*/  "
  709. "      #define WPMENUID_SYSTEMSETUP        713                                 /*DD 86092F*/  "
  710. "      #define WPMENUID_OPENPARENT         714                                 /*DD 86092F*/  "
  711. ""
  712. "      /* menu ids for folder menu bar */"
  713. "      #define WPMENUID_PASTE              715                                 /*pwbopend */  "
  714. "      #define WPMENUID_CHANGETOICON       716                                 /*pwbopend */  "
  715. "      #define WPMENUID_CHANGETOTREE       717                                 /*pwbopend */  "
  716. "      #define WPMENUID_CHANGETODETAILS    718                                 /*pwbopend */  "
  717. "      #define WPMENUID_FOLDERPULLDOWN     719                                 /*pwbopend */  "
  718. "      #define WPMENUID_EDITPULLDOWN       720                                 /*pwbopend */  "
  719. "      #define WPMENUID_VIEWPULLDOWN       721                                 /*pwbopend */  "
  720. "      #define WPMENUID_SELECTEDPULLDOWN   722                                 /*pwbopend */  "
  721. "      #define WPMENUID_HELPPULLDOWN       723                                 /*pwbopend */  "
  722. "      #define WPMENUID_VIEW               104                                 /*pwbopend */  "
  723. "      #define WPMENUID_UNDOARRANGE        724                                 /*pwbopend */  "
  724. "      #define WPMENUID_MAXIMIZE           725                                 /*pwbopend */  "
  725. "      #define WPMENUID_RESTORE            726                                 /*pwbopend */  "
  726. "      #define WPMENUID_WINDOWLIST         728                                 /*pwbopend */  "
  727. "      #define WPMENUID_DOCSHELL           729                                 /*aba142270*/  "
  728. "      #define WPMENUID_LOCKEDINPLACE      730                                 /*lwb146937*/  "
  729. "      #define WPMENUID_LOCKEDINPLACEYES   731                                 /*lwb146937*/  "
  730. "      #define WPMENUID_LOCKEDINPLACENO    732                                 /*lwb146937*/  "
  731. "      #define WPMENUID_STANDARD           733                                 /*lwb146937*/  "
  732. "      #define WPMENUID_ARRANGETOP         734                                 /*lwb149411*/  "
  733. "      #define WPMENUID_ARRANGELEFT        735                                 /*lwb149411*/  "
  734. "      #define WPMENUID_ARRANGERIGHT       736                                 /*lwb149411*/  "
  735. "      #define WPMENUID_ARRANGEBOTTOM      737                                 /*lwb149411*/  "
  736. "      #define WPMENUID_LOGOFF             738                                 /*pgm 141223*/ "
  737. "      #define WPMENUID_PERIMETER          739                                 /*lwb149411*/  "
  738. "      #define WPMENUID_SELECTEDHORZ       740                                 /*lwb149411*/  "
  739. "      #define WPMENUID_SELECTEDVERT       741                                 /*lwb149411*/  "
  740. ""
  741. ""
  742. "      /*  Views for the wpOpen(), wpFilterMenu and wpModifyMenu methods */"
  743. ""
  744. "      #define OPEN_UNKNOWN      -1"
  745. "      #define OPEN_DEFAULT       0"
  746. "      #define OPEN_CONTENTS      1"
  747. "      #define OPEN_SETTINGS      2"
  748. "      #define OPEN_HELP          3"
  749. "      #define OPEN_RUNNING       4"
  750. "      #define OPEN_PROMPTDLG     5"
  751. "      #define OPEN_PALETTE       121" 
  752. "      #define CLOSED_ICON        122" 
  753. "      #define OPEN_USER          0x6500"
  754. ""
  755. "      /*  Definitions for the INUSE list that is kept"
  756. "       *  for every object via wpAddToObjUseList and"
  757. "       *  wpRemoveFromObjUseList methods..."
  758. "       */"
  759. ""
  760. "      /* This structure is always followed immediately by a type"
  761. "       * dependant struct such as MEMORYITEM,RECORDITEM,VIEWITEM"
  762. "       * or some other user defined structure..."
  763. "       */"
  764. "      typedef struct _USEITEM"
  765. "      {"
  766. "         ULONG  type;                  /* Type of this Item */"
  767. "         struct _USEITEM *pNext;   /* Next item in use list */"
  768. "      } USEITEM;"
  769. "      typedef USEITEM *PUSEITEM;"
  770. ""
  771. "      #define USAGE_MEMORY          1  /* Values of 'type' */"
  772. "      #define USAGE_RECORD          4"
  773. "      #define USAGE_OPENVIEW        5"
  774. "      #define USAGE_LINK            6"
  775. "      #define USAGE_OPENFILE       20"
  776. "      #define USAGE_NOTIFY         21"
  777. "      #define USAGE_BACKGROUNDBMP  22"                                         
  778. ""
  779. "      typedef struct _MEMORYITEM       /* USAGE_MEMORY struct */"
  780. "      {"
  781. "         ULONG     cbBuffer;           /* Number of bytes in memory block */"
  782. "      } MEMORYITEM;"
  783. "      typedef MEMORYITEM *PMEMORYITEM;"
  784. ""
  785. "      typedef struct _RECORDITEM       /* USAGE_RECORD struct */"
  786. "      {"
  787. "         HWND            hwndCnr;      /* Cnr into which object is inserted */"
  788. "         PMINIRECORDCORE pRecord;      /* Record pointer within that cnr */"
  789. "         ULONG           ulUser;       /* For application use RECSH */ "
  790. "      } RECORDITEM;"
  791. "      typedef RECORDITEM *PRECORDITEM;"
  792. ""
  793. "      #define VIEWSTATE_OPENING       0x0001   /* The view is being opened */"
  794. "      #define VIEWSTATE_OBJECTDELETED 0x0002   /* The object has been deleted */"
  795. "      #define VIEWSTATE_USERHIDDEN    0x0004   /* The view was hidden by user */"
  796. "      #define VIEWSTATE_POPULATING    0x0008   /* The view is populating      */"
  797. "      #define VIEWSTATE_USERMINIMIZED 0x0010   /* The view was minimized by the user */"
  798. "      #define VIEWSTATE_CLOSING       0x0020   /* The view is closing */"
  799. "      #define VIEWSTATE_DELETING      0x0040   /* The object is being deleted */"
  800. "      #define VIEWSTATE_PAINTED       0x0080   /* The view was painted */"     
  801. ""
  802. "      typedef struct _VIEWITEM         /* USAGE_OPENVIEW struct */"
  803. "      {"
  804. "         ULONG        view;            /* Object view that this represents */"
  805. "         LHANDLE      handle;          /* Open handle */"
  806. "         ULONG        ulViewState;     /* View State flags */"
  807. "         HWND         hwndCnr;         /* System use only (window animation) */"
  808. "         PMINIRECORDCORE pRecord;      /* System use only (window animation) */"
  809. "      } VIEWITEM;"
  810. "      typedef VIEWITEM *PVIEWITEM;"
  811. ""
  812. "      typedef struct _LINKITEM         /* USAGE_LINK and USAGE_NOTIFY struct */"
  813. "      {"
  814. "         WPObject    *LinkObj;         /* The link object */"
  815. "      } LINKITEM;"
  816. "      typedef LINKITEM *PLINKITEM;"
  817. ""
  818. "      typedef struct _VIEWFILE         /* USAGE_OPENFILE struct */"
  819. "      {"
  820. "         ULONG        ulMenuId;        /* Menu id if association or menu page */"
  821. "         LHANDLE      handle;          /* Open handle */"
  822. "         HWND         hwndCnr;         /* System use only (window animation) */"
  823. "         PMINIRECORDCORE pRecord;      /* System use only (window animation) */"
  824. "      } VIEWFILE;"
  825. "      typedef VIEWFILE *PVIEWFILE;"
  826. ""                                                                              
  827. "      typedef struct _BACKGROUNDBMPITEM /* USAGE_BACKGROUNDBMP struc */"       
  828. "      {"                                                                       
  829. "         PVOID        pFolderBackground;"                                      
  830. "      } BACKGROUNDBMPITEM;"                                                    
  831. "      typedef BACKGROUNDBMPITEM *PBACKGROUNDBMPITEM;"                          
  832. ""
  833. "      /* Notes: The class name immediately follows the control block. The"
  834. "       *        first instance variable control block immediately follows"
  835. "       *        this."
  836. "       */"
  837. "      typedef struct _WPSRCLASSBLOCK"
  838. "      {"
  839. "        SHORT   ClassNameLength;       /* Length of class name, including the"
  840. "                                        * .. null terminator. This must be a"
  841. "                                        * .. SHORT and must be at the beginning"
  842. "                                        * .. of the structure."
  843. "                                        */"
  844. "        USHORT  IVarLength;            /* Length of instance variable"
  845. "                                        * .. information, including the two-"
  846. "                                        * .. byte null terminator"
  847. "                                        */"
  848. "      } WPSRCLASSBLOCK;"
  849. ""
  850. "      /*  Persistant storage structures (see wpSaveShort"
  851. "       *  and wpRestoreShort etc...)"
  852. "       */"
  853. ""
  854. ""
  855. "      /* This control structure does not reside in the dormant state."
  856. "       * It is used only when a persistant data block is"
  857. "       * resident in memory - either when an object is being saved or"
  858. "       * when it is being restored..."
  859. "       */"
  860. "      typedef struct _OBJDATA"
  861. "      {"
  862. "         WPSRCLASSBLOCK       *CurrentClass;"
  863. "         WPSRCLASSBLOCK       *First;"
  864. "         PUCHAR                NextData;"
  865. "         USHORT                Length;"
  866. "      } OBJDATA;"
  867. "      typedef OBJDATA *POBJDATA;"
  868. ""
  869. "      /* Note: On PowerPC all structures are word aligned. sizeof"
  870. "       * returns the size of structures aligned to the largest type"
  871. "       * found in structure.  In otherwords, a structure containing"
  872. "       * a long and a short will result in a sizeof 8 rather than 6"
  873. "       * because the larger type long is used to align the structure."
  874. "       * 3 shorts in a structure will return 6 as expected."
  875. "       * The following two macros are used in place of the sizeof operator"
  876. "       * when referencing the OBJDATA structure to ensure we have the"
  877. "       * correct offset.  BEWARE: Changing the OBJDATA structure requires"
  878. "       * that the following macros are change accordingly."
  879. "       */"
  880. "      #define POBJDATA_SIZE             offsetof(OBJDATA,Length)+2"
  881. "      #define ADVANCEOVER_OBJDATA( x )  (((UCHAR*)(x))+POBJDATA_SIZE)"
  882. ""
  883. "      /*  wpCnrInsertObject/wpCnrRemoveObject structs"
  884. "       *  and macros..."
  885. "       */"
  886. ""
  887. "      typedef struct _CLASSDETAILS     /* Class Details struct */"
  888. "      {"
  889. "         PSZ          pszAttribute;    /* Translatable string for a class attribute*/"
  890. "         PVOID        pSortRecord;     /* Function pointer for sort function for attribute*/"
  891. "         struct _CLASSDETAILS *pNext; /* Next item in class details list */"
  892. "      } CLASSDETAILS;"
  893. "      typedef CLASSDETAILS *PCLASSDETAILS;"
  894. ""
  895. "      /* Macro to return the object associated with a given MINIRECORDCORE"
  896. "       * that was inserted using the wpCnrInsertObject method"
  897. "       */"
  898. "      #define OBJECT_FROM_PREC( prec )   ( (PVOID)( * (((PULONG)prec)-2) ) )"
  899. ""
  900. "      /* Macro to access the app defineable dword within the RECORDITEM"
  901. "       * structure that is created when an object is put into a list"
  902. "       * control using the wpCnrInsertObject method."
  903. "       */"
  904. "      PULONG EXPENTRY ShlGetUserWordPtr("
  905. "         HWND            hwndCnr,"
  906. "         PMINIRECORDCORE prec );"
  907. ""
  908. "      #define USERWORD_FROM_PREC( hwnd, prec ) \ "
  909. "         ( (ULONG)( *ShlGetUserWordPtr(hwnd,prec) ) )"
  910. ""
  911. "      /* Details comparison function definition"
  912. "       *"
  913. "       *    Param1  PVOID   - Pointer to details field value"
  914. "       *    Param2  PVOID   - Pointer to value to be compared with"
  915. "       *"
  916. "       *    Returns LONG    - Must be CMP_EQUAL, CMP_GREATER, CMP_LESS"
  917. "       */"
  918. "      typedef LONG (EXPENTRY FNCOMPARE)(PVOID,PVOID);"
  919. "      typedef FNCOMPARE *PFNCOMPARE;"
  920. ""
  921. "      #define CMP_EQUAL            0"
  922. "      #define CMP_GREATER          1"
  923. "      #define CMP_LESS             2"
  924. "      #define CMP_GREATER_OR_EQUAL 3"
  925. "      #define CMP_LESS_OR_EQUAL    4"
  926. "      #define CMP_NOT_EQUAL        5"
  927. ""
  928. "      #define NUM_CMP_VALUES       6"
  929. ""
  930. "      /* Owner draw function definition"
  931. "       *"
  932. "       *    Param1  HWND  - Handle of window that is being painted"
  933. "       *    Param2  PVOID - POWNERITEM structure pointer, see the container"
  934. "       *                    control programming reference for the meaning"
  935. "       *                    of the fields in this structure."
  936. "       *    Param3  PVOID - Pointer to the comparison value to draw (this"
  937. "       *                    is NULL, except when this function is painting"
  938. "       *                    its value into the include criteria dialog"
  939. "       *                    when it points to Criteria.CompareValue...)"
  940. "       *"
  941. "       *    Returns BOOL  - TRUE if the field was ownerdrawn, FALSE if the"
  942. "       *                    container control should do default painting."
  943. "       */"
  944. "      typedef BOOL (EXPENTRY FNOWNDRW)(HWND,PVOID,PVOID);"
  945. "      typedef FNOWNDRW *PFNOWNDRW;"
  946. ""
  947. "      /* Details comparison criteria structure"
  948. "       */"
  949. "      typedef struct _CRITERIA"
  950. "      {"
  951. "         PVOID            pReserved;           /* Reserved - MUST be null!!!! */"
  952. "         struct _CRITERIA *pNext;"
  953. "         struct _CRITERIA *pPrev;"
  954. "         ULONG            ClassFieldInfoIndex; /* Index of the details field  */"
  955. "         ULONG            LogicalOperator;     /* CRITERIA_AND or CRITERIA_OR */"
  956. "         ULONG            ComparisonType;      /* CMP_LESS_OR_EQUAL etc...    */"
  957. "         ULONG            ulLenCompareValue;   /* sizeof(ComparisonData)      */"
  958. "         CHAR             CompareValue[1];     /* Value to be compared with   */"
  959. "      } CRITERIA;"
  960. "      typedef CRITERIA *PCRITERIA;"
  961. ""
  962. "      #define CRITERIA_AND        0"
  963. "      #define CRITERIA_OR         1"
  964. ""
  965. "      /* ClassCriteria structure: points to a linked list of CRITERIA"
  966. "       * for the given class. ClassCriteria may be linked into a list"
  967. "       * too - and passed to a filter object, or the wpclsFindObjectFirst"
  968. "       * method call..."
  969. "       */"
  970. "      typedef struct _CLASSCRITERIA" 
  971. "      {"
  972. "         struct _CLASSCRITERIA *pNext;"
  973. "         struct _CLASSCRITERIA *pPrev;"
  974. "         M_WPObject            *Class;          /* Class object */"
  975. "         PCRITERIA              pCriteria;      /* Linked list of criteria */"
  976. "         WPObject              *NotifyObject;   /* Owner of the criteria list */"
  977. "      } CLASSCRITERIA;"
  978. "      typedef CLASSCRITERIA *PCLASSCRITERIA;"
  979. ""
  980. "      /* This structure is passed to a details criteria edit window"
  981. "       * when it is created, so that it knows the current value and"
  982. "       * min/max values for the criteria to be edited."
  983. "       *"
  984. "       * As the user modifies the compare value using the criteria"
  985. "       * edit window, it should update the buffer pointed to by"
  986. "       * 'pCompareValue'."
  987. "       */"
  988. "      typedef struct _EDITCTLINIT" 
  989. "      {"
  990. "         ULONG cb;                /* must have length in control data! */"
  991. "         PVOID pCompareValue;     /* Buffer containing the current value */"
  992. "         ULONG ulLenCompareValue; /* Length of pCompareValue buffer */"
  993. "         PVOID pMinCompareValue;  /* READ-ONLY parameter, NULL => default */"
  994. "         PVOID pMaxCompareValue;  /* READ-ONLY parameter, NULL => default */"
  995. "      } EDITCTLINIT;"
  996. "      typedef EDITCTLINIT *PEDITCTLINIT;"
  997. ""
  998. "      /* Structure for wpclsQueryDetailsInfo method"
  999. "       *"
  1000. "       * CLASSFIELDINFO is identical to the FIELDINFO structure of the"
  1001. "       * container control with the following differences:"
  1002. "       *"
  1003. "       * - The offStruct field from FIELDINFO is reserved."
  1004. "       * - The offFieldData and usLenFieldData structure elements have"
  1005. "       *   been added."
  1006. "       * - Compare/Sort/Ownerdraw fields have also been added for the"
  1007. "       *   convenience of the programmer, so that object details can"
  1008. "       *   be customized and objects can be found or included by any"
  1009. "       *   of their displayable object details."
  1010. "       *"
  1011. "       * For example if the application has the following details data:"
  1012. "       *"
  1013. "       * typedef struct _SAMPLE {"
  1014. "       *   CDATE   cdate;"
  1015. "       *   CTIME   ctime;"
  1016. "       *   PSZ     psz;"
  1017. "       * }  SAMPLE;"
  1018. "       *"
  1019. "       * classfieldinfo[0].offFieldData   = FIELDOFFSET(SAMPLE,cdate);"
  1020. "       * classfieldinfo[0].ulLenFieldData = FIELDOFFSET(SAMPLE,ctime) -"
  1021. "       *                                    FIELDOFFSET(SAMPLE,cdate);"
  1022. "       *"
  1023. "       * classfieldinfo[1].offFieldData   = FIELDOFFSET(SAMPLE,ctime);"
  1024. "       * classfieldinfo[1].ulLenFieldData = FIELDOFFSET(SAMPLE,psz) -"
  1025. "       *                                    FIELDOFFSET(SAMPLE,ctime);"
  1026. "       *"
  1027. "       * classfieldinfo[2].offFieldData   = FIELDOFFSET(SAMPLE,psz);"
  1028. "       * classfieldinfo[2].ulLenFieldData = sizeof(SAMPLE) -"
  1029. "       *                                    FIELDOFFSET(SAMPLE,psz);"
  1030. "       *"
  1031. "       * NOTE: It is essential that the fields be linked in order ex. above"
  1032. "       *       cdate must be followed by ctime and finally psz."
  1033. "       */"
  1034. "      typedef struct _CLASSFIELDINFO" 
  1035. "      {"
  1036. "         /* Details field attributes"
  1037. "          */"
  1038. "         ULONG      cb;                  /* size of CLASSFIELDINFO struct  */"
  1039. "         ULONG      flData;              /* attributes of field's data     */"
  1040. "         ULONG      flTitle;             /* attributes of field's title    */"
  1041. "         PVOID      pTitleData;          /* title data (default is string) */"
  1042. "                                         /* If CFT_BITMAP, must be HBITMAP */"
  1043. "         ULONG      ulReserved;          /* Reserved                       */"
  1044. "         PVOID      pUserData;           /* pointer to user data           */"
  1045. "         struct _CLASSFIELDINFO *pNextFieldInfo; /* pointer to next linked */"
  1046. "                                                /* CLASSFIELDINFO structure*/"
  1047. "         ULONG      cxWidth;             /* width of field in pels         */"
  1048. "         ULONG      offFieldData;        /* offset from beginning of       */"
  1049. "                                         /*   this class's data for this   */"
  1050. "                                         /*   field. (first field is 0).   */"
  1051. "         ULONG      ulLenFieldData;      /* width of data in bytes.        */"
  1052. "                                         /*   (4 for a pointer).           */"
  1053. "         PFNOWNDRW  pfnOwnerDraw;        /* Ownerdraw procedure for detail */"
  1054. "                                         /* column. Can be NULL except if  */"
  1055. "                                         /* ownerdraw is being used.       */"
  1056. "         /* Include/Sort parameters"
  1057. "          */"
  1058. "         ULONG      flCompare;           /* Flags: for example, use the    */"
  1059. "                                         /*   COMPARE_SUPPORTED flag if    */"
  1060. "                                         /*   your field can be compared   */"
  1061. "         PFNCOMPARE pfnCompare;          /* Comparison function for this   */"
  1062. "                                         /*   field. Can be NULL unless    */"
  1063. "                                         /*   ownerdraw is used.           */"
  1064. "         ULONG      DefaultComparison;   /* This is the default compare    */"
  1065. "                                         /*   operator in the include      */"
  1066. "                                         /*   page criteria dialog. (eg:   */"
  1067. "                                         /*   CMP_LESS_OR_EQUAL)           */"
  1068. "         ULONG      ulLenCompareValue;   /* Maximum length of the compare  */"
  1069. "                                         /*   data. Can be NULL unless     */"
  1070. "                                         /*   ownerdraw is used.           */"
  1071. "         PVOID      pDefCompareValue;    /* The default value to be used   */"
  1072. "                                         /*   for comparisons. Can be NULL */"
  1073. "                                         /*   unless ownerdraw is used.    */"
  1074. "         PVOID      pMinCompareValue;    /* The default value to be used   */"
  1075. "                                         /*   for comparisons.Can be NULL  */"
  1076. "                                         /*   unless ownerdraw is used.    */"
  1077. "         PVOID      pMaxCompareValue;    /* The default value to be used   */"
  1078. "                                         /*   for comparisons.Can be NULL  */"
  1079. "                                         /*   unless ownerdraw is used.    */"
  1080. "         PSZ        pszEditControlClass; /* Window class to be used to edit*/"
  1081. "                                         /*   the compare value. Can be    */"
  1082. "                                         /*   NULL unless ownerdraw is used*/"
  1083. "         PFNCOMPARE pfnSort;             /* Sort function for this         */"
  1084. "                                         /*   field. Can be NULL unless    */"
  1085. "                                         /*   ownerdraw is used.           */"
  1086. "         PSZ        *pNewComp;"
  1087. "      } CLASSFIELDINFO;"
  1088. ""
  1089. "      typedef CLASSFIELDINFO *PCLASSFIELDINFO;"
  1090. ""
  1091. "      #define COMPARE_SUPPORTED      1"
  1092. "      #define SORTBY_SUPPORTED       2"
  1093. ""
  1094. "      /* Standard notebook size constants */"
  1095. "      #define STDNOTEBOOKWIDTH    250"
  1096. "      #define STDNOTEBOOKHEIGHT   125"
  1097. ""
  1098. "      /* Confirm flags */"
  1099. "      #define CONFIRM_DELETE             0x0001"
  1100. "      #define CONFIRM_DELETEFOLDER       0x0002"
  1101. "      #define CONFIRM_RENAMEFILESWITHEXT 0x0004"
  1102. "      #define CONFIRM_KEEPASSOC          0x0008"
  1103. "      #define CONFIRM_ACTION             0x0010"
  1104. "      #define CONFIRM_PROGRESS           0x0020"
  1105. "      #define CONFIRM_ALLOWFORCEDELETE   0x0040"                       
  1106. "      #define CONFIRM_FORCEDELETE        0x0080"                       
  1107. ""
  1108. "      #define OK_DELETE             1"
  1109. "      #define NO_DELETE             2"
  1110. "      #define CANCEL_DELETE         3"
  1111. ""
  1112. "      #define NUM_OBJDETAILS_FIELDS    5     /* number of object details */"
  1113. ""
  1114. "      /* Search Type for wpclsQueryExtendedCriteria */"
  1115. ""
  1116. "      #define SEARCH_ALL_FOLDERS 1"
  1117. "      #define SEARCH_THIS_FOLDER 2"
  1118. "      #define SEARCH_THIS_TREE   3"
  1119. ""
  1120. "      /* Find method related types and constants */"
  1121. ""
  1122. "      typedef WPObject   *OBJECT;" 
  1123. "      typedef OBJECT     *POBJECT;"
  1124. "      typedef M_WPObject *CLASS;"
  1125. "      typedef CLASS      *PCLASS;"
  1126. "      typedef LHANDLE     HFIND;"
  1127. "      typedef HFIND      *PHFIND;"
  1128. ""
  1129. "      /* wpDrop method return code  */"
  1130. ""
  1131. "      #define RC_DROP_DROPCOMPLETE 2"
  1132. "      #define RC_DROP_ITEMCOMPLETE 1"
  1133. "      #define RC_DROP_RENDERING    0"
  1134. "      #define RC_DROP_ERROR       -1"
  1135. ""
  1136. "      /*handle for files being tracked by the shell */"
  1137. ""
  1138. "      typedef LHANDLE HFS;"
  1139. "      typedef LHANDLE HABS;"
  1140. "      #define MAXSZHFS 10       /* size of the translated string */"
  1141. "      #define MAKE_HOBJ(base, handle) ((HOBJECT) (((ULONG)(base) & 0x00FF0000) | (((ULONG)(handle) & 0x00FF0000) << 8) | ((ULONG)(handle) & 0x0000FFFF)) )"
  1142. "      #define BASEHANDLE_FROM_HOBJ(objh) ((ULONG) ((((objh) & 0xFF000000) >> 8) | ((objh) & 0xFFFF)))"
  1143. "      #define HABS_FROM_HOBJ(objh) ((HABS)BASEHANDLE_FROM_HOBJ(objh))"
  1144. "      #define HFS_FROM_HOBJ(objh) ((HFS)BASEHANDLE_FROM_HOBJ(objh))"
  1145. "      #define BASECLS_FROM_HOBJ(objh) ((ULONG) ((objh) & 0x00FF0000))"
  1146. "      #define MAXHANDLE  0x00FFFFFF"
  1147. ""
  1148. "      #define SETTINGS_PAGE_REMOVED  -1"
  1149. ""
  1150. "    /* wpSetConcurrentView values */"
  1151. "      #define CCVIEW_DEFAULT 0"
  1152. "      #define CCVIEW_ON      1"
  1153. "      #define CCVIEW_OFF     2"
  1154. ""
  1155. "    /* wpSetMinWindow values */"
  1156. "      #define MINWIN_DEFAULT 0"
  1157. "      #define MINWIN_HIDDEN  1"
  1158. "      #define MINWIN_VIEWER  2"
  1159. "      #define MINWIN_DESKTOP 3"
  1160. ""
  1161. "    /* wpSetButtonAppearance values */"
  1162. "      #define HIDEBUTTON      1"
  1163. "      #define MINBUTTON      2"
  1164. "      #define DEFAULTBUTTON  3"
  1165. ""                                                                              
  1166. "    /* wpConfirmObjectTitle return values */"                                  
  1167. "      #define NAMECLASH_CANCEL              0x00"                              
  1168. "      #define NAMECLASH_NONE                0x01"                              
  1169. "      #define NAMECLASH_RENAME              0x02"                              
  1170. "      #define NAMECLASH_APPEND              0x04"                              
  1171. "      #define NAMECLASH_REPLACE             0x08"                              
  1172. "      #define NAMECLASH_RENAME_KEEPASSOCS   0x20"                              
  1173. "      #define NAMECLASH_NONE_KEEPASSOCS     0x30"                              
  1174. ""                                                                              
  1175. "    /* wpQueryNameClashOptions return values */"                               
  1176. "      #define NO_NAMECLASH_RENAME           0x10"                              
  1177. "      #define NO_NAMECLASH_APPEND           0x20"                              
  1178. "      #define NO_NAMECLASH_REPLACE          0x40"                              
  1179. "      #define NO_NAMECLASH_DIALOG           0x80"                              
  1180. ""
  1181. "      #define  HIDDENMINWINDOW_DEFAULT MINWIN_VIEWER"
  1182. "      #ifndef __cplusplus"
  1183. "        #ifndef WPFolder"
  1184. "          #define WPFolder SOMObject     /* Define WPFolder */"
  1185. "        #endif"
  1186. "      #else"
  1187. "        class WPFolder;"
  1188. "      #endif"
  1189. ""
  1190. "      typedef struct _TASKREC"
  1191. "      {"
  1192. "         struct _TASKREC *next;     /* next in the list of current tasks   */"
  1193. "         ULONG            useCount; /* can be referenced by multiple object*/"
  1194. "         PVOID            pStdDlg;  /* ptr to standard WP task dialog      */"
  1195. "         WPFolder        *folder;   /* intended folder for the object      */"
  1196. "         LONG             xOrigin;  /* intended position for the object    */"
  1197. "         LONG             yOrigin;  /* intended position for the object    */"
  1198. "         PSZ              pszTitle; /* intended name for the object        */"
  1199. "         ULONG            cbTitle;  /* length of the name buffer           */"
  1200. "         PMINIRECORDCORE  positionAfterRecord; /* intended sort position   */"
  1201. "         BOOL            fKeepAssociations;"
  1202. "         PVOID            pReserved;    /* reserved - equal null           */"
  1203. ""
  1204. "      }  TASKREC;"
  1205. "      typedef TASKREC *PTASKREC;"
  1206. ""
  1207. "      typedef struct _OBJDETAILS"
  1208. "      {"
  1209. "        PSZ    ObjTitle;"
  1210. "        ULONG  ObjStyle;"
  1211. "        PSZ    ObjClass;"
  1212. "      } OBJDETAILS;"
  1213. "      typedef OBJDETAILS *POBJDETAILS;"
  1214. ""
  1215. "#define VIEW_CONTENTS      0x00000001"
  1216. "#define VIEW_SETTINGS      0x00000002"
  1217. "#define VIEW_HELP          0x00000004"
  1218. "#define VIEW_RUNNING       0x00000008"
  1219. "#define VIEW_DETAILS       0x00000010"
  1220. "#define VIEW_TREE          0x00000020"
  1221. "#define VIEW_ANY           0xFFFFFFFF  /* Special case - will find any ViewItem */"
  1222. ""
  1223. "/* Identifier types for the wpIdentify() method */"
  1224. ""
  1225. "#define ID_TYPE_DISK     'H'"
  1226. "#define ID_TYPE_FILE     'F'"
  1227. "#define ID_TYPE_DIR      'D'"
  1228. "#define ID_TYPE_TRANS    'T'"
  1229. "#define ID_TYPE_ABS      'A'"
  1230. ""                                                                      
  1231. "/*"
  1232. " * Passthru some stuff to the .h file"
  1233. " */"
  1234. "";
  1235.  
  1236.  
  1237.     wpQueryTrueStyle: procedure;
  1238.  
  1239.     somInit: override;
  1240.     somUninit: override;
  1241.     somDefaultInit: override;          
  1242.     somDestruct: override;             
  1243.  
  1244.  
  1245.   };
  1246. #endif /* __SOMIDL__ */
  1247. };
  1248.  
  1249. interface M_WPObject : SOMClass
  1250. {
  1251.   BOOL wpclsCreateDefaultTemplates(in WPObject Folder);
  1252.  
  1253.   VOID wpclsInitData();
  1254.  
  1255.   WPObject wpclsMakeAwake(in PSZ pszTitle,
  1256.                           in ULONG ulStyle,
  1257.                           in HPOINTER hptrIcon,
  1258.                           in POBJDATA pObjData,
  1259.                           in WPFolder Folder,
  1260.                           in ULONG ulUser);
  1261.  
  1262.   WPObject wpclsNew(in PSZ pszTitle,
  1263.                     in PSZ pszSetupEnv,
  1264.                     in WPFolder Folder,
  1265.                     in BOOL fLock);
  1266.  
  1267.   BOOL wpclsQueryDefaultHelp(in PULONG pHelpPanelId,
  1268.                              in PSZ pszHelpLibrary);
  1269.  
  1270.   ULONG wpclsQueryDefaultView();
  1271.  
  1272.   PCLASSDETAILS wpclsQueryDetails();
  1273.  
  1274.   ULONG wpclsQueryDetailsInfo(inout PCLASSFIELDINFO ppClassFieldInfo,
  1275.                               in PULONG pSize);
  1276.  
  1277.   BOOL wpclsQueryExtendedCriteria(in PSZ pszName,
  1278.                                   in ULONG ulSearchType,
  1279.                                   in PVOID pvoidExtendedCriteria);
  1280.  
  1281.   WPObject wpclsQueryFolder(in PSZ pszLocation,
  1282.                             in BOOL fLock);
  1283.  
  1284.   HPOINTER wpclsQueryIcon();
  1285.  
  1286.   VOID wpclsQuerySearchInfo(inout M_WPObject ClassExtended,
  1287.                             inout M_WPObject ClassCreate,
  1288.                             in PULONG pulClassCriteriaSize);
  1289.  
  1290.   ULONG wpclsQueryStyle();
  1291.  
  1292.   PSZ wpclsQueryTitle();
  1293.  
  1294.   VOID wpclsUnInitData();
  1295.  
  1296.   BOOL wpclsFindObjectFirst(in PCLASS pClassList,
  1297.                             in PHFIND phFind,
  1298.                             in PSZ pszTitle,
  1299.                             in WPFolder Folder,
  1300.                             in BOOL fSubfolders,
  1301.                             in PVOID pExtendedCriteria,
  1302.                             in POBJECT pBuffer,
  1303.                             in PULONG pCount);
  1304.  
  1305.   BOOL wpclsFindObjectNext(in HFIND hFind,
  1306.                            in POBJECT pBuffer,
  1307.                            in PULONG pCount);
  1308.  
  1309.   BOOL wpclsFindObjectEnd(in HFIND hFind);
  1310.  
  1311.   BOOL wpclsSetError(in ULONG ulErrorId);
  1312.  
  1313.   ULONG wpclsQueryError();
  1314.  
  1315.   BOOL wpclsQuerySettingsPageSize(in PSIZEL pSizl);
  1316.  
  1317.   ULONG wpclsQueryIconData(in PICONINFO pIconInfo);
  1318.  
  1319.   WPObject wpclsQueryObject(in HOBJECT hObject);
  1320.  
  1321.   ULONG wpclsQueryButtonAppearance();
  1322.  
  1323.   VOID wpclsDecUsage();
  1324.  
  1325.   VOID wpclsIncUsage();
  1326.  
  1327.   BOOL wpclsInsertMultipleObjects(in HWND hwndCnr,
  1328.                                   in PPOINTL pptlIcon,
  1329.                                   inout PVOID pObjectArray,
  1330.                                   in PVOID pRecordParent,
  1331.                                   in ULONG NumRecords);
  1332.  
  1333.   WPObject wpclsFindOneObject(in HWND hwndOwner, in PSZ pszFindParams);
  1334.  
  1335.   BOOL wpclsSetSettingsPageSize(in PSIZEL pSizl);
  1336.  
  1337.   BOOL wpclsSetIconData(in PICONINFO pIconInfo);
  1338.  
  1339.   BOOL wpclsSetIcon(in HPOINTER hptrNewIcon);
  1340.  
  1341.   WPObject wpclsObjectFromHandle(in HOBJECT hObject);
  1342.  
  1343.   BOOL wpclsRemoveObjects(in HWND hwndCnr,
  1344.                           inout PVOID pRecordArray,
  1345.                           in ULONG NumRecords,
  1346.                           in BOOL RemoveAll);
  1347.  
  1348.  
  1349. #ifdef __SOMIDL__
  1350.   implementation {
  1351.  
  1352.     releaseorder: wpclsInitData,wpclsUnInitData,withdrawn8,wpclsMakeAwake,
  1353.                   wpclsIncUsage,wpclsDecUsage,wpclsQueryTitle,wpclsQueryIcon,
  1354.                   wpclsQueryDefaultHelp,wpclsQueryStyle,wpclsQueryDetailsInfo,
  1355.                   wpclsQueryDefaultView,wpclsQueryDetails,wpclsQuerySearchInfo,
  1356.                   wpclsQueryExtendedCriteria,wpclsCreateDefaultTemplates,
  1357.                   withdrawn9,wpclsFindObjectFirst,wpclsFindObjectNext,
  1358.                   wpclsFindObjectEnd,
  1359.                   wpclsObjectPrivate1,
  1360.                   wpclsSetError,
  1361.                   wpclsQueryError,wpclsQuerySettingsPageSize,wpclsSetSettingsPageSize,
  1362.                   wpclsQueryIconData,wpclsSetIcon,wpclsSetIconData,
  1363.                   wpclsQueryObject,wpclsObjectFromHandle,
  1364.                   wpclsObjectPrivate2,
  1365.                   wpclsObjectPrivate3,
  1366.                   wpclsObjectPrivate4,
  1367.                   wpclsObjectPrivate5,
  1368.                   wpclsObjectPrivate6,
  1369.                   wpclsQueryButtonAppearance,
  1370.                   wpclsNew,wpclsQueryFolder,
  1371.                   wpclsObjectPrivate7,
  1372.                   wpclsObjectPrivate8,
  1373.                   wpclsRemoveObjects,wpclsInsertMultipleObjects,
  1374.                   wpclsObjectPrivate9,
  1375.                   wpclsFindOneObject,
  1376.                   wpclsObjectPrivate10;
  1377.  
  1378.     externalstem = wpobj;
  1379.     local;
  1380.     externalprefix = objM_;
  1381.     majorversion = 1;
  1382.     minorversion = 2;
  1383.     filestem = wpobject;
  1384.     callstyle = oidl;
  1385.     dllname = "pmwp.dll";             /* sahsom2 */
  1386.  
  1387.  
  1388.     somUninit: override;
  1389.  
  1390.     somClassReady: override;
  1391.     somNew: override;
  1392.     somRenew: override;
  1393.  
  1394.   };
  1395. #endif /* __SOMIDL__ */
  1396. };
  1397.  
  1398.  
  1399. #endif  /* wpobject_idl */
  1400.