home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / header45.zip / wpobject.xh < prev    next >
Text File  |  1999-03-15  |  110KB  |  3,228 lines

  1.  
  2. /*
  3.  * This file was generated by the SOM Compiler.
  4.  * FileName: E:\cwpsh\rel\os2c\include\base\os2\wpobject.xh.
  5.  * Generated using:
  6.  *     SOM Precompiler somipc: 2.29.1.14
  7.  *     SOM Emitter emitxh: 2.43
  8.  */
  9.  
  10. /*
  11.  *   Module Header
  12.  * 
  13.  *   Module Name: WPTYPES
  14.  * 
  15.  *   OS/2 Presentation Manager Workplace class definitions
  16.  * 
  17.  *   Copyright (c) International Business Machines Corporation 1994
  18.  * 
  19.  */
  20.  
  21.  
  22. #ifndef SOM_WPObject_xh
  23. #define SOM_WPObject_xh
  24.  
  25. class WPObject;
  26.  
  27. #define WPObject_MajorVersion 1
  28. #define WPObject_MinorVersion 2
  29.  
  30. /*
  31.  * Passthru lines: File: "C.h", "before"
  32.  */
  33.  
  34.    #define INCL_WINSTDCNR
  35.    #include <pmstddlg.h>
  36.  
  37.       #ifndef __cplusplus
  38.         #ifndef M_WPObject
  39.           #define M_WPObject SOMClass
  40.         #endif
  41.         #ifndef WPObject
  42.           #define WPObject SOMObject
  43.         #endif
  44.       #else
  45.         class M_WPObject;
  46.         class WPObject;
  47.       #endif
  48.  
  49.       #ifdef _wpCreateShadowObject2
  50.          #undef _wpCreateShadowObject2
  51.       #endif
  52.       #define _wpCreateShadowObject2 _wpCreateShadowObjectExt
  53.  
  54.       #ifdef __cplusplus                                                 
  55.             extern "C" {                                               
  56.       #endif                                                             
  57.       /* Export a convience function to find BS_NOTEBOOKBUTTON buttons */
  58.       HWND APIENTRY WinNotebookButtonFromID(HWND hwndDlg, ULONG id);     
  59.  
  60.       /* Allow applications to wait for the Shell to be available */     
  61.       #define WWFS_QUERY            0x80000000                           
  62.       #define WWFS_DESKTOPCREATED   1                                    
  63.       #define WWFS_DESKTOPOPENED    2                                    
  64.       #define WWFS_DESKTOPPOPULATED 3                                    
  65.       BOOL APIENTRY WinWaitForShell( ULONG ulEvent );                    
  66.       #ifdef __cplusplus                                                 
  67.             }                                                            
  68.       #endif                                                             
  69.                                                                          
  70.  
  71.       /* Object style flags (see wpSetStyle) */
  72.  
  73.       #define OBJSTYLE_NOMOVE         0x00000002
  74.       #define OBJSTYLE_NOLINK         0x00000004
  75.       #define OBJSTYLE_NOCOPY         0x00000008
  76.       #define OBJSTYLE_NOTDEFAULTICON 0x00000010   /* Intentionally not declared CLSSTYLE */ 
  77.       #define OBJSTYLE_TEMPLATE       0x00000020
  78.       #define OBJSTYLE_NODELETE       0x00000040
  79.       #define OBJSTYLE_NOPRINT        0x00000080
  80.       #define OBJSTYLE_NODRAG         0x00000100
  81.       #define OBJSTYLE_NOTVISIBLE     0x00000200
  82.       #define OBJSTYLE_NOSETTINGS     0x00000400
  83.       #define OBJSTYLE_NORENAME       0x00000800
  84.       #define OBJSTYLE_NODROP         0x00001000
  85.       #define OBJSTYLE_NODROPON       0x00002000   /* Use instead of OBJSTYLE_NODROP, 
  86.                                               because OBJSTYLE_NODROP and     
  87.                                               CLSSTYLE_PRIVATE have the same  
  88.                                               value (DD 86093F) */            
  89.       #define OBJSTYLE_CUSTOMICON     0x00004000  /* Use instead of OBJSTYLE_NOTDEFAULTICON  
  90.                                                because OBJSTYLE_NOTDEFAULTICON and    
  91.                                                CLSSTYLE_NEVERTEMPLATE have the same   
  92.                                                value (DD 86093F) */                   
  93.       #define OBJSTYLE_LOCKEDINPLACE  0x00020000 /* Lock an object in place */    
  94.  
  95.       /*  Class style flags (see wpclsQueryStyle) */
  96.  
  97.       #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE
  98.       #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK
  99.       #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY
  100.       #define CLSSTYLE_NEVERTEMPLATE  0x00000010
  101.       #define CLSSTYLE_NEVERDELETE    OBJSTYLE_NODELETE
  102.       #define CLSSTYLE_NEVERPRINT     OBJSTYLE_NOPRINT
  103.       #define CLSSTYLE_NEVERDRAG      OBJSTYLE_NODRAG
  104.       #define CLSSTYLE_NEVERVISIBLE   OBJSTYLE_NOTVISIBLE
  105.       #define CLSSTYLE_NEVERRENAME    OBJSTYLE_NORENAME
  106.       #define CLSSTYLE_PRIVATE        0x00001000   /* Intentionally not declared OBJSTYLE */     
  107.       #define CLSSTYLE_NEVERSETTINGS  OBJSTYLE_NOSETTINGS                      /*DD 86093F*/ 
  108.       #define CLSSTYLE_NEVERDROPON    OBJSTYLE_NODROPON                        /*DD 86093F*/ 
  109.       #define CLSSTYLE_HIDDEN         0x00008000  /* Use instead of CLSSTYLE_PRIVATE          
  110.                                                  because OBJSTYLE_NODROP and             
  111.                                                  CLSSTYLE_PRIVATE have the same          
  112.                                                  value (DD 86093F) */                    
  113.       #define CLSSTYLE_DONTTEMPLATE   0x00010000  /* Use instead of CLSSTYLE_NEVERTEMPLATE    
  114.                                                  because OBJSTYLE_NOTDEFAULTICON and     
  115.                                                  CLSSTYLE_NEVERTEMPLATE have the same    
  116.                                                  value (DD 86093F) */                    
  117.       #define CLSSTYLE_ALWAYSTEMPLATE 0x00040000
  118.  
  119.       /* Flags for wpObjectReady() method */ 
  120.       #define OR_NEW           0x00000001
  121.       #define OR_AWAKE         0x00000002
  122.       #define OR_REFERENCE     0x10000000
  123.       #define OR_FROMTEMPLATE (0x00000004 | OR_REFERENCE)
  124.       #define OR_FROMCOPY     (0x00000008 | OR_REFERENCE)
  125.       #define OR_SHADOW       (0x00000010 | OR_REFERENCE)
  126.  
  127.       /*  Flags for the wpFilterPopupMenu/wpFilterMenu methods */
  128.  
  129.       /* DWORD 0  */
  130.       #define CTXT_CRANOTHER     0x0001   /* Flags for ulFlags */
  131.       #define CTXT_NEW           CTXT_CRANOTHER
  132.       #define CTXT_OPEN          0x0002
  133.       #define CTXT_WINDOW        0x0004
  134.       #define CTXT_SWITCHTO      CTXT_WINDOW
  135.       #define CTXT_CLOSE         0x0008
  136.       #define CTXT_SETTINGS      0x0010
  137.       #define CTXT_PROPERTIES    CTXT_SETTINGS
  138.       #define CTXT_PRINT         0x0020
  139.       #define CTXT_HELP          0x0040
  140.       #define CTXT_DELETE        0x0080
  141.       #define CTXT_COPY          0x0100
  142.       #define CTXT_MOVE          0x0200
  143.       #define CTXT_SHADOW        0x0400
  144.       #define CTXT_LINK          CTXT_SHADOW
  145.       #define CTXT_PROGRAM       0x0800
  146.       #define CTXT_ICON        0x001000
  147.       #define CTXT_TREE        0x002000
  148.       #define CTXT_DETAILS     0x004000
  149.       #define CTXT_FIND        0x008000
  150.       #define CTXT_SELECT      0x010000
  151.       #define CTXT_ARRANGE     0x020000
  152.       #define CTXT_SORT        0x040000
  153.       #define CTXT_SHUTDOWN    0x080000
  154.       #define CTXT_LOCKUP      0x100000
  155.       #define CTXT_PALETTE     0x200000
  156.       #define CTXT_REFRESH     0x400000
  157.       #define CTXT_PICKUP      0x800000
  158.       #define CTXT_PUTDOWN        0x1000000
  159.       #define CTXT_PUTDOWN_CANCEL 0x2000000
  160.       #define CTXT_CHANGETOICON   0x4000000
  161.       #define CTXT_CHANGETOTREE   0x8000000
  162.       #define CTXT_CHANGETODETAILS 0x10000000
  163.       #define CTXT_VIEW            0x20000000
  164.       #define CTXT_PASTE           0x40000000
  165.       #define CTXT_UNDOARRANGE     0x80000000
  166.  
  167.       /* DWORD 1  */
  168.       #define CTXT_SELECTALL      0x00000001
  169.       #define CTXT_DESELECTALL    0x00000002
  170.       #define CTXT_OPENPARENT     0x00000004
  171.       #define CTXT_SETUP          0x00000008
  172.       #define CTXT_PRODINFO       0x00000010
  173.       #define CTXT_ORIGINAL       0x00000020
  174.       #define CTXT_LOCATEORIGINAL 0x00000040
  175.       #define CTXT_DELETEORIGINAL 0x00000080
  176.       #define CTXT_COPYORIGINAL   0x00000100
  177.       #define CTXT_NOOBJECTS      0x00000200
  178.       #define CTXT_MAXIMIZE       0x00000400
  179.       #define CTXT_RESTORE        0x00000800
  180.       #define CTXT_WINDOWLIST     0x00002000
  181.       #define CTXT_CREATEPARTITION 0x00004000
  182.       #define CTXT_COPYDISK       0x00008000
  183.       #define CTXT_FORMATDISK     0x00010000
  184.       #define CTXT_CHECKDISK      0x00020000
  185.       #define CTXT_LOCKDISK       0x00040000
  186.       #define CTXT_UNLOCKDISK     0x00080000
  187.       #define CTXT_EJECTDISK      0x00100000
  188.       #define CTXT_LOGIN          0x00200000
  189.       #define CTXT_LOGOUT         0x00400000
  190.       #define CTXT_ASSIGN         0x00800000
  191.       #define CTXT_UNASSIGN       0x01000000
  192.       #define CTXT_ACCESSNEW      0x02000000
  193.       #define CTXT_DATETIME       0x04000000
  194.       #define CTXT_LOCKEDINPLACE    0x08000000
  195.       #define CTXT_LOCKEDINPLACEYES 0x10000000
  196.       #define CTXT_LOCKEDINPLACENO  0x20000000
  197.       #define CTXT_STANDARD         0x40000000
  198.       #define CTXT_PERIMETER        0x80000000
  199.  
  200.       /* DWORD 2  */
  201.       #define CTXT_SELECTEDHORZ     0x00000001
  202.       #define CTXT_SELECTEDVERT     0x00000002
  203.       #define CTXT_ARRANGETOP       0x00000004
  204.       #define CTXT_LOGOFF           0x00000008
  205.       #define CTXT_ARRANGELEFT      0x00000010
  206.       #define CTXT_ARRANGERIGHT     0x00000020
  207.       #define CTXT_ARRANGEBOTTOM    0x00000040
  208.       #define CTXT_UNDOSORT         0x00000080
  209.  
  210.      /* Flags for the wpDisplayMenu() method */
  211.  
  212.      #define MENU_OBJECTPOPUP          0x00000001
  213.      #define MENU_OPENVIEWPOPUP        0x00000002
  214.      #define MENU_TITLEBARPULLDOWN     0x00000003
  215.      #define MENU_TITLEBARPULLDOWNINT  0x00000004
  216.      #define MENU_FOLDERPULLDOWN       0x00000005
  217.      #define MENU_VIEWPULLDOWN         0x00000006
  218.      #define MENU_HELPPULLDOWN         0x00000007
  219.      #define MENU_EDITPULLDOWN         0x00000008
  220.      #define MENU_SELECTEDPULLDOWN     0x00000009
  221.      #define MENU_FOLDERMENUBAR        0x0000000A
  222.      #define MENU_NODISPLAY            0x40000000
  223.      #define MENU_USER                 0x80000000
  224.  
  225.       typedef struct _FILTERFLAGS
  226.       {
  227.          ULONG       cbItem;
  228.          ULONG       Flags[3];
  229.       } FILTERFLAGS;
  230.       typedef FILTERFLAGS *PFILTERFLAGS;
  231.  
  232.       /* common context menu ids */
  233.  
  234.       #define WPMENUID_USER          0x6500
  235.       #define WPMENUID_PRIMARY            0
  236.       #define WPMENUID_OPEN               1
  237.       #define WPMENUID_HELP               2
  238.       #define WPMENUID_PRINT              3
  239.       #define WPMENUID_SELECT             4
  240.       #define WPMENUID_SORT               5
  241.       #define WPMENUID_TREE               123                                 /*DD 86092F*/  
  242.       #define WPMENUID_FIND               8                                   /*DD 86092F*/  
  243.       #define WPMENUID_CREATEANOTHER      101                                 /*DD 86092F*/  
  244.       #define WPMENUID_MOVE               107                                 /*DD 86092F*/  
  245.       #define WPMENUID_COPY               108                                 /*DD 86092F*/  
  246.       #define WPMENUID_DELETE             109                                 /*DD 86092F*/  
  247.       #define WPMENUID_PROPERTIES         112                                 /*DD 86092F*/  
  248.       #define WPMENUID_SELALL             114                                 /*DD 86092F*/  
  249.       #define WPMENUID_DESELALL           115                                 /*DD 86092F*/  
  250.       #define WPMENUID_RESERVED1          118                                 /*DD 86092F*/  
  251.       #define WPMENUID_CLOSE              120                                 /*DD 86092F*/  
  252.       #define WPMENUID_FORMAT             124                                 /*DD 86092F*/  
  253.       #define WPMENUID_CHKDSK             128                                 /*DD 86092F*/  
  254.       #define WPMENUID_FIXDSK             129                                 /*DD 86092F*/  
  255.       #define WPMENUID_PROGRAM            132                                 /*DD 86092F*/  
  256.       #define WPMENUID_COPYDSK            182                                 /*DD 86092F*/  
  257.       #define WPMENUID_LOCKDISK           184                                 /*DD 86092F*/  
  258.       #define WPMENUID_EJECTDISK          185                                 /*DD 86092F*/  
  259.       #define WPMENUID_UNLOCKDISK         186                                 /*DD 86092F*/  
  260.       #define WPMENUID_PICKUP             188                                 /* rme77131*/  
  261.       #define WPMENUID_PUTDOWN            189                                 /* rme77131*/  
  262.       #define WPMENUID_PUTDOWN_COPY       190                                 /* rme77131*/  
  263.       #define WPMENUID_PUTDOWN_MOVE       191                                 /* rme77131*/  
  264.       #define WPMENUID_PUTDOWN_LINK       192                                 /* rme77131*/  
  265.       #define WPMENUID_PUTDOWN_CANCEL     193                                 /* rme77131*/  
  266.       #define WPMENUID_PUTDOWN_CREATE     194                                 /* rme77131*/  
  267.       #define WPMENUID_PUTDOWN_CREATEPROGRAMOBJECT     195                    /*rme146942*/  
  268.       #define WPMENUID_ICON               303                                 /*DD 86092F*/  
  269.       #define WPMENUID_DETAILS            304                                 /*DD 86092F*/  
  270.       #define WPMENUID_ARRANGE            309                                 /*DD 86092F*/  
  271.       #define WPMENUID_RESERVED2          315                                 /*DD 86092F*/  
  272.       #define WPMENUID_CREATESHADOW       316                                 /*DD 86092F*/  
  273.       #define WPMENUID_PALETTE            317                                 /*DD 86092F*/  
  274.       #define WPMENUID_REFRESH            503                                 /*DD 86092F*/  
  275.       #define WPMENUID_HELP_FOR_HELP      601                                 /*DD 86092F*/  
  276.       #define WPMENUID_HOWTOGETHELP       601                                 /*DD 86092F*/  
  277.       #define WPMENUID_EXTENDEDHELP       602                                 /*DD 86092F*/  
  278.       #define WPMENUID_HELPKEYS           603                                 /*DD 86092F*/  
  279.       #define WPMENUID_HELPINDEX          604                                 /*DD 86092F*/  
  280.       #define WPMENUID_SHUTDOWN           704                                 /*DD 86092F*/  
  281.       #define WPMENUID_LOCKUP             705                                 /*DD 86092F*/  
  282.       #define WPMENUID_LOGIN              708                                 /*DD 86092F*/  
  283.       #define WPMENUID_LOGOUT             709                                 /*DD 86092F*/  
  284.       #define WPMENUID_ASSIGN             710                                 /*DD 86092F*/  
  285.       #define WPMENUID_UNASSIGN           711                                 /*DD 86092F*/  
  286.       #define WPMENUID_ACCESSNEW          712                                 /*DD 86092F*/  
  287.       #define WPMENUID_SYSTEMSETUP        713                                 /*DD 86092F*/  
  288.       #define WPMENUID_OPENPARENT         714                                 /*DD 86092F*/  
  289.  
  290.       /* menu ids for folder menu bar */
  291.       #define WPMENUID_PASTE              715                                 /*pwbopend */  
  292.       #define WPMENUID_CHANGETOICON       716                                 /*pwbopend */  
  293.       #define WPMENUID_CHANGETOTREE       717                                 /*pwbopend */  
  294.       #define WPMENUID_CHANGETODETAILS    718                                 /*pwbopend */  
  295.       #define WPMENUID_FOLDERPULLDOWN     719                                 /*pwbopend */  
  296.       #define WPMENUID_EDITPULLDOWN       720                                 /*pwbopend */  
  297.       #define WPMENUID_VIEWPULLDOWN       721                                 /*pwbopend */  
  298.       #define WPMENUID_SELECTEDPULLDOWN   722                                 /*pwbopend */  
  299.       #define WPMENUID_HELPPULLDOWN       723                                 /*pwbopend */  
  300.       #define WPMENUID_VIEW               104                                 /*pwbopend */  
  301.       #define WPMENUID_UNDOARRANGE        724                                 /*pwbopend */  
  302.       #define WPMENUID_MAXIMIZE           725                                 /*pwbopend */  
  303.       #define WPMENUID_RESTORE            726                                 /*pwbopend */  
  304.       #define WPMENUID_WINDOWLIST         728                                 /*pwbopend */  
  305.       #define WPMENUID_DOCSHELL           729                                 /*aba142270*/  
  306.       #define WPMENUID_LOCKEDINPLACE      730                                 /*lwb146937*/  
  307.       #define WPMENUID_LOCKEDINPLACEYES   731                                 /*lwb146937*/  
  308.       #define WPMENUID_LOCKEDINPLACENO    732                                 /*lwb146937*/  
  309.       #define WPMENUID_STANDARD           733                                 /*lwb146937*/  
  310.       #define WPMENUID_ARRANGETOP         734                                 /*lwb149411*/  
  311.       #define WPMENUID_ARRANGELEFT        735                                 /*lwb149411*/  
  312.       #define WPMENUID_ARRANGERIGHT       736                                 /*lwb149411*/  
  313.       #define WPMENUID_ARRANGEBOTTOM      737                                 /*lwb149411*/  
  314.       #define WPMENUID_LOGOFF             738                                 /*pgm 141223*/ 
  315.       #define WPMENUID_PERIMETER          739                                 /*lwb149411*/  
  316.       #define WPMENUID_SELECTEDHORZ       740                                 /*lwb149411*/  
  317.       #define WPMENUID_SELECTEDVERT       741                                 /*lwb149411*/  
  318.  
  319.  
  320.       /*  Views for the wpOpen(), wpFilterMenu and wpModifyMenu methods */
  321.  
  322.       #define OPEN_UNKNOWN      -1
  323.       #define OPEN_DEFAULT       0
  324.       #define OPEN_CONTENTS      1
  325.       #define OPEN_SETTINGS      2
  326.       #define OPEN_HELP          3
  327.       #define OPEN_RUNNING       4
  328.       #define OPEN_PROMPTDLG     5
  329.       #define OPEN_PALETTE       121
  330.       #define CLOSED_ICON        122
  331.       #define OPEN_USER          0x6500
  332.  
  333.       /*  Definitions for the INUSE list that is kept
  334.        *  for every object via wpAddToObjUseList and
  335.        *  wpRemoveFromObjUseList methods...
  336.        */
  337.  
  338.       /* This structure is always followed immediately by a type
  339.        * dependant struct such as MEMORYITEM,RECORDITEM,VIEWITEM
  340.        * or some other user defined structure...
  341.        */
  342.       typedef struct _USEITEM
  343.       {
  344.          ULONG  type;                  /* Type of this Item */
  345.          struct _USEITEM *pNext;   /* Next item in use list */
  346.       } USEITEM;
  347.       typedef USEITEM *PUSEITEM;
  348.  
  349.       #define USAGE_MEMORY          1  /* Values of 'type' */
  350.       #define USAGE_RECORD          4
  351.       #define USAGE_OPENVIEW        5
  352.       #define USAGE_LINK            6
  353.       #define USAGE_OPENFILE       20
  354.       #define USAGE_NOTIFY         21
  355.       #define USAGE_BACKGROUNDBMP  22
  356.  
  357.       typedef struct _MEMORYITEM       /* USAGE_MEMORY struct */
  358.       {
  359.          ULONG     cbBuffer;           /* Number of bytes in memory block */
  360.       } MEMORYITEM;
  361.       typedef MEMORYITEM *PMEMORYITEM;
  362.  
  363.       typedef struct _RECORDITEM       /* USAGE_RECORD struct */
  364.       {
  365.          HWND            hwndCnr;      /* Cnr into which object is inserted */
  366.          PMINIRECORDCORE pRecord;      /* Record pointer within that cnr */
  367.          ULONG           ulUser;       /* For application use RECSH */ 
  368.       } RECORDITEM;
  369.       typedef RECORDITEM *PRECORDITEM;
  370.  
  371.       #define VIEWSTATE_OPENING       0x0001   /* The view is being opened */
  372.       #define VIEWSTATE_OBJECTDELETED 0x0002   /* The object has been deleted */
  373.       #define VIEWSTATE_USERHIDDEN    0x0004   /* The view was hidden by user */
  374.       #define VIEWSTATE_POPULATING    0x0008   /* The view is populating      */
  375.       #define VIEWSTATE_USERMINIMIZED 0x0010   /* The view was minimized by the user */
  376.       #define VIEWSTATE_CLOSING       0x0020   /* The view is closing */
  377.       #define VIEWSTATE_DELETING      0x0040   /* The object is being deleted */
  378.       #define VIEWSTATE_PAINTED       0x0080   /* The view was painted */
  379.  
  380.       typedef struct _VIEWITEM         /* USAGE_OPENVIEW struct */
  381.       {
  382.          ULONG        view;            /* Object view that this represents */
  383.          LHANDLE      handle;          /* Open handle */
  384.          ULONG        ulViewState;     /* View State flags */
  385.          HWND         hwndCnr;         /* System use only (window animation) */
  386.          PMINIRECORDCORE pRecord;      /* System use only (window animation) */
  387.       } VIEWITEM;
  388.       typedef VIEWITEM *PVIEWITEM;
  389.  
  390.       typedef struct _LINKITEM         /* USAGE_LINK and USAGE_NOTIFY struct */
  391.       {
  392.          WPObject    *LinkObj;         /* The link object */
  393.       } LINKITEM;
  394.       typedef LINKITEM *PLINKITEM;
  395.  
  396.       typedef struct _VIEWFILE         /* USAGE_OPENFILE struct */
  397.       {
  398.          ULONG        ulMenuId;        /* Menu id if association or menu page */
  399.          LHANDLE      handle;          /* Open handle */
  400.          HWND         hwndCnr;         /* System use only (window animation) */
  401.          PMINIRECORDCORE pRecord;      /* System use only (window animation) */
  402.       } VIEWFILE;
  403.       typedef VIEWFILE *PVIEWFILE;
  404.  
  405.       typedef struct _BACKGROUNDBMPITEM /* USAGE_BACKGROUNDBMP struc */
  406.       {
  407.          PVOID        pFolderBackground;
  408.       } BACKGROUNDBMPITEM;
  409.       typedef BACKGROUNDBMPITEM *PBACKGROUNDBMPITEM;
  410.  
  411.       /* Notes: The class name immediately follows the control block. The
  412.        *        first instance variable control block immediately follows
  413.        *        this.
  414.        */
  415.       typedef struct _WPSRCLASSBLOCK
  416.       {
  417.         SHORT   ClassNameLength;       /* Length of class name, including the
  418.                                         * .. null terminator. This must be a
  419.                                         * .. SHORT and must be at the beginning
  420.                                         * .. of the structure.
  421.                                         */
  422.         USHORT  IVarLength;            /* Length of instance variable
  423.                                         * .. information, including the two-
  424.                                         * .. byte null terminator
  425.                                         */
  426.       } WPSRCLASSBLOCK;
  427.  
  428.       /*  Persistant storage structures (see wpSaveShort
  429.        *  and wpRestoreShort etc...)
  430.        */
  431.  
  432.  
  433.       /* This control structure does not reside in the dormant state.
  434.        * It is used only when a persistant data block is
  435.        * resident in memory - either when an object is being saved or
  436.        * when it is being restored...
  437.        */
  438.       typedef struct _OBJDATA
  439.       {
  440.          WPSRCLASSBLOCK       *CurrentClass;
  441.          WPSRCLASSBLOCK       *First;
  442.          PUCHAR                NextData;
  443.          USHORT                Length;
  444.       } OBJDATA;
  445.       typedef OBJDATA *POBJDATA;
  446.  
  447.       /* Note: On PowerPC all structures are word aligned. sizeof
  448.        * returns the size of structures aligned to the largest type
  449.        * found in structure.  In otherwords, a structure containing
  450.        * a long and a short will result in a sizeof 8 rather than 6
  451.        * because the larger type long is used to align the structure.
  452.        * 3 shorts in a structure will return 6 as expected.
  453.        * The following two macros are used in place of the sizeof operator
  454.        * when referencing the OBJDATA structure to ensure we have the
  455.        * correct offset.  BEWARE: Changing the OBJDATA structure requires
  456.        * that the following macros are change accordingly.
  457.        */
  458.       #define POBJDATA_SIZE             offsetof(OBJDATA,Length)+2
  459.       #define ADVANCEOVER_OBJDATA( x )  (((UCHAR*)(x))+POBJDATA_SIZE)
  460.  
  461.       /*  wpCnrInsertObject/wpCnrRemoveObject structs
  462.        *  and macros...
  463.        */
  464.  
  465.       typedef struct _CLASSDETAILS     /* Class Details struct */
  466.       {
  467.          PSZ          pszAttribute;    /* Translatable string for a class attribute*/
  468.          PVOID        pSortRecord;     /* Function pointer for sort function for attribute*/
  469.          struct _CLASSDETAILS *pNext; /* Next item in class details list */
  470.       } CLASSDETAILS;
  471.       typedef CLASSDETAILS *PCLASSDETAILS;
  472.  
  473.       /* Macro to return the object associated with a given MINIRECORDCORE
  474.        * that was inserted using the wpCnrInsertObject method
  475.        */
  476.       #define OBJECT_FROM_PREC( prec )   ( (PVOID)( * (((PULONG)prec)-2) ) )
  477.  
  478.       /* Macro to access the app defineable dword within the RECORDITEM
  479.        * structure that is created when an object is put into a list
  480.        * control using the wpCnrInsertObject method.
  481.        */
  482.       PULONG EXPENTRY ShlGetUserWordPtr(
  483.          HWND            hwndCnr,
  484.          PMINIRECORDCORE prec );
  485.  
  486.       #define USERWORD_FROM_PREC( hwnd, prec ) \ 
  487.          ( (ULONG)( *ShlGetUserWordPtr(hwnd,prec) ) )
  488.  
  489.       /* Details comparison function definition
  490.        *
  491.        *    Param1  PVOID   - Pointer to details field value
  492.        *    Param2  PVOID   - Pointer to value to be compared with
  493.        *
  494.        *    Returns LONG    - Must be CMP_EQUAL, CMP_GREATER, CMP_LESS
  495.        */
  496.       typedef LONG (EXPENTRY FNCOMPARE)(PVOID,PVOID);
  497.       typedef FNCOMPARE *PFNCOMPARE;
  498.  
  499.       #define CMP_EQUAL            0
  500.       #define CMP_GREATER          1
  501.       #define CMP_LESS             2
  502.       #define CMP_GREATER_OR_EQUAL 3
  503.       #define CMP_LESS_OR_EQUAL    4
  504.       #define CMP_NOT_EQUAL        5
  505.  
  506.       #define NUM_CMP_VALUES       6
  507.  
  508.       /* Owner draw function definition
  509.        *
  510.        *    Param1  HWND  - Handle of window that is being painted
  511.        *    Param2  PVOID - POWNERITEM structure pointer, see the container
  512.        *                    control programming reference for the meaning
  513.        *                    of the fields in this structure.
  514.        *    Param3  PVOID - Pointer to the comparison value to draw (this
  515.        *                    is NULL, except when this function is painting
  516.        *                    its value into the include criteria dialog
  517.        *                    when it points to Criteria.CompareValue...)
  518.        *
  519.        *    Returns BOOL  - TRUE if the field was ownerdrawn, FALSE if the
  520.        *                    container control should do default painting.
  521.        */
  522.       typedef BOOL (EXPENTRY FNOWNDRW)(HWND,PVOID,PVOID);
  523.       typedef FNOWNDRW *PFNOWNDRW;
  524.  
  525.       /* Details comparison criteria structure
  526.        */
  527.       typedef struct _CRITERIA
  528.       {
  529.          PVOID            pReserved;           /* Reserved - MUST be null!!!! */
  530.          struct _CRITERIA *pNext;
  531.          struct _CRITERIA *pPrev;
  532.          ULONG            ClassFieldInfoIndex; /* Index of the details field  */
  533.          ULONG            LogicalOperator;     /* CRITERIA_AND or CRITERIA_OR */
  534.          ULONG            ComparisonType;      /* CMP_LESS_OR_EQUAL etc...    */
  535.          ULONG            ulLenCompareValue;   /* sizeof(ComparisonData)      */
  536.          CHAR             CompareValue[1];     /* Value to be compared with   */
  537.       } CRITERIA;
  538.       typedef CRITERIA *PCRITERIA;
  539.  
  540.       #define CRITERIA_AND        0
  541.       #define CRITERIA_OR         1
  542.  
  543.       /* ClassCriteria structure: points to a linked list of CRITERIA
  544.        * for the given class. ClassCriteria may be linked into a list
  545.        * too - and passed to a filter object, or the wpclsFindObjectFirst
  546.        * method call...
  547.        */
  548.       typedef struct _CLASSCRITERIA
  549.       {
  550.          struct _CLASSCRITERIA *pNext;
  551.          struct _CLASSCRITERIA *pPrev;
  552.          M_WPObject            *Class;          /* Class object */
  553.          PCRITERIA              pCriteria;      /* Linked list of criteria */
  554.          WPObject              *NotifyObject;   /* Owner of the criteria list */
  555.       } CLASSCRITERIA;
  556.       typedef CLASSCRITERIA *PCLASSCRITERIA;
  557.  
  558.       /* This structure is passed to a details criteria edit window
  559.        * when it is created, so that it knows the current value and
  560.        * min/max values for the criteria to be edited.
  561.        *
  562.        * As the user modifies the compare value using the criteria
  563.        * edit window, it should update the buffer pointed to by
  564.        * 'pCompareValue'.
  565.        */
  566.       typedef struct _EDITCTLINIT
  567.       {
  568.          ULONG cb;                /* must have length in control data! */
  569.          PVOID pCompareValue;     /* Buffer containing the current value */
  570.          ULONG ulLenCompareValue; /* Length of pCompareValue buffer */
  571.          PVOID pMinCompareValue;  /* READ-ONLY parameter, NULL => default */
  572.          PVOID pMaxCompareValue;  /* READ-ONLY parameter, NULL => default */
  573.       } EDITCTLINIT;
  574.       typedef EDITCTLINIT *PEDITCTLINIT;
  575.  
  576.       /* Structure for wpclsQueryDetailsInfo method
  577.        *
  578.        * CLASSFIELDINFO is identical to the FIELDINFO structure of the
  579.        * container control with the following differences:
  580.        *
  581.        * - The offStruct field from FIELDINFO is reserved.
  582.        * - The offFieldData and usLenFieldData structure elements have
  583.        *   been added.
  584.        * - Compare/Sort/Ownerdraw fields have also been added for the
  585.        *   convenience of the programmer, so that object details can
  586.        *   be customized and objects can be found or included by any
  587.        *   of their displayable object details.
  588.        *
  589.        * For example if the application has the following details data:
  590.        *
  591.        * typedef struct _SAMPLE {
  592.        *   CDATE   cdate;
  593.        *   CTIME   ctime;
  594.        *   PSZ     psz;
  595.        * }  SAMPLE;
  596.        *
  597.        * classfieldinfo[0].offFieldData   = FIELDOFFSET(SAMPLE,cdate);
  598.        * classfieldinfo[0].ulLenFieldData = FIELDOFFSET(SAMPLE,ctime) -
  599.        *                                    FIELDOFFSET(SAMPLE,cdate);
  600.        *
  601.        * classfieldinfo[1].offFieldData   = FIELDOFFSET(SAMPLE,ctime);
  602.        * classfieldinfo[1].ulLenFieldData = FIELDOFFSET(SAMPLE,psz) -
  603.        *                                    FIELDOFFSET(SAMPLE,ctime);
  604.        *
  605.        * classfieldinfo[2].offFieldData   = FIELDOFFSET(SAMPLE,psz);
  606.        * classfieldinfo[2].ulLenFieldData = sizeof(SAMPLE) -
  607.        *                                    FIELDOFFSET(SAMPLE,psz);
  608.        *
  609.        * NOTE: It is essential that the fields be linked in order ex. above
  610.        *       cdate must be followed by ctime and finally psz.
  611.        */
  612.       typedef struct _CLASSFIELDINFO
  613.       {
  614.          /* Details field attributes
  615.           */
  616.          ULONG      cb;                  /* size of CLASSFIELDINFO struct  */
  617.          ULONG      flData;              /* attributes of field's data     */
  618.          ULONG      flTitle;             /* attributes of field's title    */
  619.          PVOID      pTitleData;          /* title data (default is string) */
  620.                                          /* If CFT_BITMAP, must be HBITMAP */
  621.          ULONG      ulReserved;          /* Reserved                       */
  622.          PVOID      pUserData;           /* pointer to user data           */
  623.          struct _CLASSFIELDINFO *pNextFieldInfo; /* pointer to next linked */
  624.                                                 /* CLASSFIELDINFO structure*/
  625.          ULONG      cxWidth;             /* width of field in pels         */
  626.          ULONG      offFieldData;        /* offset from beginning of       */
  627.                                          /*   this class's data for this   */
  628.                                          /*   field. (first field is 0).   */
  629.          ULONG      ulLenFieldData;      /* width of data in bytes.        */
  630.                                          /*   (4 for a pointer).           */
  631.          PFNOWNDRW  pfnOwnerDraw;        /* Ownerdraw procedure for detail */
  632.                                          /* column. Can be NULL except if  */
  633.                                          /* ownerdraw is being used.       */
  634.          /* Include/Sort parameters
  635.           */
  636.          ULONG      flCompare;           /* Flags: for example, use the    */
  637.                                          /*   COMPARE_SUPPORTED flag if    */
  638.                                          /*   your field can be compared   */
  639.          PFNCOMPARE pfnCompare;          /* Comparison function for this   */
  640.                                          /*   field. Can be NULL unless    */
  641.                                          /*   ownerdraw is used.           */
  642.          ULONG      DefaultComparison;   /* This is the default compare    */
  643.                                          /*   operator in the include      */
  644.                                          /*   page criteria dialog. (eg:   */
  645.                                          /*   CMP_LESS_OR_EQUAL)           */
  646.          ULONG      ulLenCompareValue;   /* Maximum length of the compare  */
  647.                                          /*   data. Can be NULL unless     */
  648.                                          /*   ownerdraw is used.           */
  649.          PVOID      pDefCompareValue;    /* The default value to be used   */
  650.                                          /*   for comparisons. Can be NULL */
  651.                                          /*   unless ownerdraw is used.    */
  652.          PVOID      pMinCompareValue;    /* The default value to be used   */
  653.                                          /*   for comparisons.Can be NULL  */
  654.                                          /*   unless ownerdraw is used.    */
  655.          PVOID      pMaxCompareValue;    /* The default value to be used   */
  656.                                          /*   for comparisons.Can be NULL  */
  657.                                          /*   unless ownerdraw is used.    */
  658.          PSZ        pszEditControlClass; /* Window class to be used to edit*/
  659.                                          /*   the compare value. Can be    */
  660.                                          /*   NULL unless ownerdraw is used*/
  661.          PFNCOMPARE pfnSort;             /* Sort function for this         */
  662.                                          /*   field. Can be NULL unless    */
  663.                                          /*   ownerdraw is used.           */
  664.          PSZ        *pNewComp;
  665.       } CLASSFIELDINFO;
  666.  
  667.       typedef CLASSFIELDINFO *PCLASSFIELDINFO;
  668.  
  669.       #define COMPARE_SUPPORTED      1
  670.       #define SORTBY_SUPPORTED       2
  671.  
  672.       /* Standard notebook size constants */
  673.       #define STDNOTEBOOKWIDTH    250
  674.       #define STDNOTEBOOKHEIGHT   125
  675.  
  676.       /* Confirm flags */
  677.       #define CONFIRM_DELETE             0x0001
  678.       #define CONFIRM_DELETEFOLDER       0x0002
  679.       #define CONFIRM_RENAMEFILESWITHEXT 0x0004
  680.       #define CONFIRM_KEEPASSOC          0x0008
  681.       #define CONFIRM_ACTION             0x0010
  682.       #define CONFIRM_PROGRESS           0x0020
  683.       #define CONFIRM_ALLOWFORCEDELETE   0x0040
  684.       #define CONFIRM_FORCEDELETE        0x0080
  685.  
  686.       #define OK_DELETE             1
  687.       #define NO_DELETE             2
  688.       #define CANCEL_DELETE         3
  689.  
  690.       #define NUM_OBJDETAILS_FIELDS    5     /* number of object details */
  691.  
  692.       /* Search Type for wpclsQueryExtendedCriteria */
  693.  
  694.       #define SEARCH_ALL_FOLDERS 1
  695.       #define SEARCH_THIS_FOLDER 2
  696.       #define SEARCH_THIS_TREE   3
  697.  
  698.       /* Find method related types and constants */
  699.  
  700.       typedef WPObject   *OBJECT;
  701.       typedef OBJECT     *POBJECT;
  702.       typedef M_WPObject *CLASS;
  703.       typedef CLASS      *PCLASS;
  704.       typedef LHANDLE     HFIND;
  705.       typedef HFIND      *PHFIND;
  706.  
  707.       /* wpDrop method return code  */
  708.  
  709.       #define RC_DROP_DROPCOMPLETE 2
  710.       #define RC_DROP_ITEMCOMPLETE 1
  711.       #define RC_DROP_RENDERING    0
  712.       #define RC_DROP_ERROR       -1
  713.  
  714.       /*handle for files being tracked by the shell */
  715.  
  716.       typedef LHANDLE HFS;
  717.       typedef LHANDLE HABS;
  718.       #define MAXSZHFS 10       /* size of the translated string */
  719.       #define MAKE_HOBJ(base, handle) ((HOBJECT) (((ULONG)(base) & 0x00FF0000) | (((ULONG)(handle) & 0x00FF0000) << 8) | ((ULONG)(handle) & 0x0000FFFF)) )
  720.       #define BASEHANDLE_FROM_HOBJ(objh) ((ULONG) ((((objh) & 0xFF000000) >> 8) | ((objh) & 0xFFFF)))
  721.       #define HABS_FROM_HOBJ(objh) ((HABS)BASEHANDLE_FROM_HOBJ(objh))
  722.       #define HFS_FROM_HOBJ(objh) ((HFS)BASEHANDLE_FROM_HOBJ(objh))
  723.       #define BASECLS_FROM_HOBJ(objh) ((ULONG) ((objh) & 0x00FF0000))
  724.       #define MAXHANDLE  0x00FFFFFF
  725.  
  726.       #define SETTINGS_PAGE_REMOVED  -1
  727.  
  728.     /* wpSetConcurrentView values */
  729.       #define CCVIEW_DEFAULT 0
  730.       #define CCVIEW_ON      1
  731.       #define CCVIEW_OFF     2
  732.  
  733.     /* wpSetMinWindow values */
  734.       #define MINWIN_DEFAULT 0
  735.       #define MINWIN_HIDDEN  1
  736.       #define MINWIN_VIEWER  2
  737.       #define MINWIN_DESKTOP 3
  738.  
  739.     /* wpSetButtonAppearance values */
  740.       #define HIDEBUTTON      1
  741.       #define MINBUTTON      2
  742.       #define DEFAULTBUTTON  3
  743.  
  744.     /* wpConfirmObjectTitle return values */
  745.       #define NAMECLASH_CANCEL              0x00
  746.       #define NAMECLASH_NONE                0x01
  747.       #define NAMECLASH_RENAME              0x02
  748.       #define NAMECLASH_APPEND              0x04
  749.       #define NAMECLASH_REPLACE             0x08
  750.       #define NAMECLASH_RENAME_KEEPASSOCS   0x20
  751.       #define NAMECLASH_NONE_KEEPASSOCS     0x30
  752.  
  753.     /* wpQueryNameClashOptions return values */
  754.       #define NO_NAMECLASH_RENAME           0x10
  755.       #define NO_NAMECLASH_APPEND           0x20
  756.       #define NO_NAMECLASH_REPLACE          0x40
  757.       #define NO_NAMECLASH_DIALOG           0x80
  758.  
  759.       #define  HIDDENMINWINDOW_DEFAULT MINWIN_VIEWER
  760.       #ifndef __cplusplus
  761.         #ifndef WPFolder
  762.           #define WPFolder SOMObject     /* Define WPFolder */
  763.         #endif
  764.       #else
  765.         class WPFolder;
  766.       #endif
  767.  
  768.       typedef struct _TASKREC
  769.       {
  770.          struct _TASKREC *next;     /* next in the list of current tasks   */
  771.          ULONG            useCount; /* can be referenced by multiple object*/
  772.          PVOID            pStdDlg;  /* ptr to standard WP task dialog      */
  773.          WPFolder        *folder;   /* intended folder for the object      */
  774.          LONG             xOrigin;  /* intended position for the object    */
  775.          LONG             yOrigin;  /* intended position for the object    */
  776.          PSZ              pszTitle; /* intended name for the object        */
  777.          ULONG            cbTitle;  /* length of the name buffer           */
  778.          PMINIRECORDCORE  positionAfterRecord; /* intended sort position   */
  779.          BOOL            fKeepAssociations;
  780.          PVOID            pReserved;    /* reserved - equal null           */
  781.  
  782.       }  TASKREC;
  783.       typedef TASKREC *PTASKREC;
  784.  
  785.       typedef struct _OBJDETAILS
  786.       {
  787.         PSZ    ObjTitle;
  788.         ULONG  ObjStyle;
  789.         PSZ    ObjClass;
  790.       } OBJDETAILS;
  791.       typedef OBJDETAILS *POBJDETAILS;
  792.  
  793. #define VIEW_CONTENTS      0x00000001
  794. #define VIEW_SETTINGS      0x00000002
  795. #define VIEW_HELP          0x00000004
  796. #define VIEW_RUNNING       0x00000008
  797. #define VIEW_DETAILS       0x00000010
  798. #define VIEW_TREE          0x00000020
  799. #define VIEW_ANY           0xFFFFFFFF  /* Special case - will find any ViewItem */
  800.  
  801. /* Identifier types for the wpIdentify() method */
  802.  
  803. #define ID_TYPE_DISK     'H'
  804. #define ID_TYPE_FILE     'F'
  805. #define ID_TYPE_DIR      'D'
  806. #define ID_TYPE_TRANS    'T'
  807. #define ID_TYPE_ABS      'A'
  808.  
  809. /*
  810.  * Passthru some stuff to the .h file
  811.  */
  812.  
  813.  
  814. /* C++ SOM defs */
  815. #include <somcls.xh>
  816. #include <somcm.xh>
  817.  
  818. /* C++ parent defs */
  819. #ifndef SOM_SOMObject_xh
  820. #include <somobj.xh>
  821. #endif
  822.  
  823. #ifndef WPObject_API
  824. #define WPObject_API
  825. /*
  826.  * -- The Class API
  827.  */
  828.  
  829. /*
  830.  * Start of bindings for IDL types
  831.  */
  832.  
  833. class SOMClass;
  834. class SOMObject;
  835. class WPFolder;
  836. class M_WPObject;
  837. class WPObject;
  838. class WPImageFile;
  839.  
  840. /*
  841.  * End of bindings for IDL types.
  842.  */
  843.  
  844. /* A procedure to create the WPObject Class */
  845. class M_WPObject;
  846. SOMEXTERN M_WPObject * SOMLINK WPObjectNewClass(
  847.         integer4 majorVersion,
  848.         integer4 minorVersion);
  849.  
  850. /* The API to the WPObject class object, and the methods it introduces. */
  851. SOMEXTERN struct WPObjectClassDataStructure {
  852.     M_WPObject *classObject;
  853.     somMToken wpSetTitle;
  854.     somMToken wpQueryTitle;
  855.     somMToken wpSetStyle;
  856.     somMToken wpQueryStyle;
  857.     somMToken wpSetIcon;
  858.     somMToken wpQueryIcon;
  859.     somMToken wpSetFolder;
  860.     somMToken wpQueryFolder;
  861.     somMToken wpObjectPrivate1;
  862.     somMToken wpObjectPrivate2;
  863.     somMToken wpSetDefaultView;
  864.     somMToken wpQueryDefaultView;
  865.     somMToken wpObjectPrivate3;
  866.     somMToken wpSaveState;
  867.     somMToken wpObjectPrivate4;
  868.     somMToken wpObjectPrivate5;
  869.     somMToken wpSaveLong;
  870.     somMToken wpSaveString;
  871.     somMToken wpSaveData;
  872.     somMToken wpObjectPrivate6;
  873.     somMToken wpRestoreState;
  874.     somMToken wpObjectPrivate7;
  875.     somMToken wpObjectPrivate8;
  876.     somMToken wpRestoreLong;
  877.     somMToken wpRestoreString;
  878.     somMToken wpRestoreData;
  879.     somMToken wpObjectPrivate9;
  880.     somMToken wpAllocMem;
  881.     somMToken wpFreeMem;
  882.     somMToken wpAddToObjUseList;
  883.     somMToken wpDeleteFromObjUseList;
  884.     somMToken wpFindUseItem;
  885.     somMToken wpSwitchTo;
  886.     somMToken withdrawn1;
  887.     somMToken wpFilterPopupMenu;
  888.     somMToken wpModifyPopupMenu;
  889.     somMToken wpMenuItemSelected;
  890.     somMToken wpFormatDragItem;
  891.     somMToken wpDrop;
  892.     somMToken wpDragOver;
  893.     somMToken wpRender;
  894.     somMToken wpEndConversation;
  895.     somMToken withdrawn10;
  896.     somMToken wpObjectPrivate10;
  897.     somMToken wpObjectPrivate11;
  898.     somMToken wpFree;
  899.     somMToken wpCopiedFromTemplate;
  900.     somMToken wpAddSettingsPages;
  901.     somMToken wpAddObjectGeneralPage;
  902.     somMToken wpDisplayHelp;
  903.     somMToken wpMenuItemHelpSelected;
  904.     somMToken wpInsertSettingsPage;
  905.     somMToken wpInsertPopupMenuItems;
  906.     somMToken withdrawn5;
  907.     somMToken withdrawn6;
  908.     somMToken withdrawn4;
  909.     somMToken withdrawn3;
  910.     somMToken wpCnrInsertObject;
  911.     somMToken wpCnrRemoveObject;
  912.     somMToken wpInitData;
  913.     somMToken wpUnInitData;
  914.     somMToken wpSetup;
  915.     somMToken wpScanSetupString;
  916.     somMToken wpSaveImmediate;
  917.     somMToken wpOpen;
  918.     somMToken wpClose;
  919.     somMToken wpHide;
  920.     somMToken wpRestore;
  921.     somMToken wpSetIconData;
  922.     somMToken wpQueryIconData;
  923.     somMToken wpObjectPrivate12;
  924.     somMToken wpDelete;
  925.     somMToken wpConfirmDelete;
  926.     somMToken withdrawn2;
  927.     somMToken withdrawn11;
  928.     somMToken withdrawn7;
  929.     somMToken wpRegisterView;
  930.     somMToken wpIdentify;
  931.     somMToken wpSetDefaultHelp;
  932.     somMToken wpQueryDefaultHelp;
  933.     somMToken wpDoesObjectMatch;
  934.     somMToken wpCnrRefreshDetails;
  935.     somMToken wpSetError;
  936.     somMToken wpQueryError;
  937.     somMToken wpDraggedOverObject;
  938.     somMToken wpDroppedOnObject;
  939.     somMToken wpSetDefaultIconPos;
  940.     somMToken wpQueryDefaultIconPos;
  941.     somMToken wpObjectPrivate13;
  942.     somMToken wpObjectPrivate14;
  943.     somMToken wpSetObjectID;
  944.     somMToken wpQueryObjectID;
  945.     somMToken wpIsDeleteable;
  946.     somMToken wpQueryHandle;
  947.     somMToken wpSaveDeferred;
  948.     somMToken wpAddObjectWindowPage;
  949.     somMToken wpQueryConcurrentView;
  950.     somMToken wpSetConcurrentView;
  951.     somMToken wpQueryMinWindow;
  952.     somMToken wpSetMinWindow;
  953.     somMToken wpViewObject;
  954.     somMToken wpQueryButtonAppearance;
  955.     somMToken wpSetButtonAppearance;
  956.     somMToken wpQueryConfirmations;
  957.     somMToken wpCnrSetEmphasis;
  958.     somMToken wpQueryCoreRecord;
  959.     somMToken wpFindViewItem;
  960.     somMToken wpCreateFromTemplate;
  961.     somMethodProc *wpQueryTrueStyle;
  962.     somMToken wpAssertObjectMutexSem;
  963.     somMToken wpReleaseObjectMutexSem;
  964.     somMToken wpRequestObjectMutexSem;
  965.     somMToken wpCreateAnother;
  966.     somMToken wpCreateShadowObject;
  967.     somMToken wpCopyObject;
  968.     somMToken wpMoveObject;
  969.     somMToken wpLockObject;
  970.     somMToken wpUnlockObject;
  971.     somMToken wpIsLocked;
  972.     somMToken wpRenderComplete;
  973.     somMToken wpQueryDetailsData;
  974.     somMToken wpPrintObject;
  975.     somMToken wpObjectPrivate15;
  976.     somMToken wpSetTaskRec;
  977.     somMToken wpObjectPrivate16;
  978.     somMToken wpModifyStyle;
  979.     somMToken wpObjectPrivate17;
  980.     somMToken wpFindTaskRec;
  981.     somMToken wpAppendObject;
  982.     somMToken wpReplaceObject;
  983.     somMToken wpQueryNameClashOptions;
  984.     somMToken wpConfirmObjectTitle;
  985.     somMToken _get_pobjNext;
  986.     somMToken wpQueryContainerFlagPtr;
  987.     somMToken wpObjectPrivate18;
  988.     somMToken wpObjectPrivate19;
  989.     somMToken wpObjectPrivate20;
  990.     somMToken wpCnrDeleteUseItem;
  991.     somMToken wpObjectReady;
  992.     somMToken wpIsObjectInitialized;
  993.     somMToken wpCreateShadowObjectExt;
  994.     somMToken wpObjectPrivate21;
  995.     somMToken wpObjectPrivate22;
  996.     somMToken wpObjectPrivate26;
  997.     somMToken wpDisplayMenu;
  998.     somMToken wpWaitForClose;
  999.     somMToken wpQueryScreenGroupID;
  1000.     somMToken wpSetupOnce;
  1001.     somMToken wpAddObjectGeneralPage2;
  1002.     somMToken wpObjectPrivate23;
  1003.     somMToken wpObjectPrivate24;
  1004.     somMToken wpModifyMenu;
  1005.     somMToken wpFilterMenu;
  1006.     somMToken wpInsertMenuItems;
  1007.     somMToken wpSetMenuStyle;
  1008.     somMToken wpQueryMenuStyle;
  1009.     somMToken wpObjectPrivate27;
  1010.     somMToken wpObjectPrivate28;
  1011.     somMToken wpObjectPrivate29;
  1012.     somMToken wpObjectPrivate30;
  1013.     somMToken wpQueryOpenView;
  1014.     somMToken wpSetOpenView;
  1015.     somMToken wpObjectPrivate31;
  1016.     somMToken wpObjectPrivate32;
  1017.     somMToken wpObjectPrivate33;
  1018. } SOMDLINK WPObjectClassData;
  1019. #define _WPObject WPObjectClassData.classObject
  1020.  
  1021. /* The API to parentMtabs for WPObject, and the instance data it introduces. */
  1022. SOMEXTERN struct WPObjectCClassDataStructure {
  1023.     somMethodTabs parentMtab;
  1024.     somDToken              instanceDataToken;
  1025. } SOMDLINK WPObjectCClassData;
  1026.  
  1027. /*
  1028.  * -- Typedefs for WPObject Method Procedures
  1029.  */
  1030. SOMEXTERN {
  1031. typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectGeneralPage(WPObject *somSelf, 
  1032.         HWND hwndNotebook);
  1033. typedef somTP_WPObject_wpAddObjectGeneralPage *somTD_WPObject_wpAddObjectGeneralPage;
  1034. typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectGeneralPage2(WPObject *somSelf, 
  1035.         HWND hwndNotebook);
  1036. typedef somTP_WPObject_wpAddObjectGeneralPage2 *somTD_WPObject_wpAddObjectGeneralPage2;
  1037. typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectWindowPage(WPObject *somSelf, 
  1038.         HWND hwndNotebook);
  1039. typedef somTP_WPObject_wpAddObjectWindowPage *somTD_WPObject_wpAddObjectWindowPage;
  1040. typedef BOOL   SOMLINK somTP_WPObject_wpAddSettingsPages(WPObject *somSelf, 
  1041.         HWND hwndNotebook);
  1042. typedef somTP_WPObject_wpAddSettingsPages *somTD_WPObject_wpAddSettingsPages;
  1043. typedef BOOL   SOMLINK somTP_WPObject_wpAddToObjUseList(WPObject *somSelf, 
  1044.         PUSEITEM pUseItem);
  1045. typedef somTP_WPObject_wpAddToObjUseList *somTD_WPObject_wpAddToObjUseList;
  1046. typedef PBYTE   SOMLINK somTP_WPObject_wpAllocMem(WPObject *somSelf, 
  1047.         ULONG cbBytes, 
  1048.         PULONG prc);
  1049. typedef somTP_WPObject_wpAllocMem *somTD_WPObject_wpAllocMem;
  1050. typedef BOOL32   SOMLINK somTP_WPObject_wpAppendObject(WPObject *somSelf, 
  1051.         WPObject* targetObject, 
  1052.         BOOL32 fMove);
  1053. typedef somTP_WPObject_wpAppendObject *somTD_WPObject_wpAppendObject;
  1054. typedef BOOL   SOMLINK somTP_WPObject_wpAssertObjectMutexSem(WPObject *somSelf);
  1055. typedef somTP_WPObject_wpAssertObjectMutexSem *somTD_WPObject_wpAssertObjectMutexSem;
  1056. typedef BOOL   SOMLINK somTP_WPObject_wpClose(WPObject *somSelf);
  1057. typedef somTP_WPObject_wpClose *somTD_WPObject_wpClose;
  1058. typedef PMINIRECORDCORE   SOMLINK somTP_WPObject_wpCnrInsertObject(WPObject *somSelf, 
  1059.         HWND hwndCnr, 
  1060.         PPOINTL pptlIcon, 
  1061.         PMINIRECORDCORE preccParent, 
  1062.         PRECORDINSERT pRecInsert);
  1063. typedef somTP_WPObject_wpCnrInsertObject *somTD_WPObject_wpCnrInsertObject;
  1064. typedef BOOL   SOMLINK somTP_WPObject_wpCnrRemoveObject(WPObject *somSelf, 
  1065.         HWND hwndCnr);
  1066. typedef somTP_WPObject_wpCnrRemoveObject *somTD_WPObject_wpCnrRemoveObject;
  1067. typedef BOOL   SOMLINK somTP_WPObject_wpCnrSetEmphasis(WPObject *somSelf, 
  1068.         ULONG ulEmphasisAttr, 
  1069.         BOOL fTurnOn);
  1070. typedef somTP_WPObject_wpCnrSetEmphasis *somTD_WPObject_wpCnrSetEmphasis;
  1071. typedef ULONG   SOMLINK somTP_WPObject_wpConfirmDelete(WPObject *somSelf, 
  1072.         ULONG fConfirmations);
  1073. typedef somTP_WPObject_wpConfirmDelete *somTD_WPObject_wpConfirmDelete;
  1074. typedef ULONG   SOMLINK somTP_WPObject_wpConfirmObjectTitle(WPObject *somSelf, 
  1075.         WPFolder* Folder, 
  1076.         WPObject** ppDuplicate, 
  1077.         PSZ pszTitle, 
  1078.         ULONG cbTitle, 
  1079.         ULONG menuID);
  1080. typedef somTP_WPObject_wpConfirmObjectTitle *somTD_WPObject_wpConfirmObjectTitle;
  1081. typedef void   SOMLINK somTP_WPObject_wpCopiedFromTemplate(WPObject *somSelf);
  1082. typedef somTP_WPObject_wpCopiedFromTemplate *somTD_WPObject_wpCopiedFromTemplate;
  1083. typedef WPObject*   SOMLINK somTP_WPObject_wpCopyObject(WPObject *somSelf, 
  1084.         WPFolder* Folder, 
  1085.         BOOL fLock);
  1086. typedef somTP_WPObject_wpCopyObject *somTD_WPObject_wpCopyObject;
  1087. typedef WPObject*   SOMLINK somTP_WPObject_wpCreateAnother(WPObject *somSelf, 
  1088.         PSZ pszTitle, 
  1089.         PSZ pszSetupEnv, 
  1090.         WPFolder* Folder);
  1091. typedef somTP_WPObject_wpCreateAnother *somTD_WPObject_wpCreateAnother;
  1092. typedef WPObject*   SOMLINK somTP_WPObject_wpCreateFromTemplate(WPObject *somSelf, 
  1093.         WPFolder* folder, 
  1094.         BOOL fLock);
  1095. typedef somTP_WPObject_wpCreateFromTemplate *somTD_WPObject_wpCreateFromTemplate;
  1096. typedef WPObject*   SOMLINK somTP_WPObject_wpCreateShadowObject(WPObject *somSelf, 
  1097.         WPFolder* Folder, 
  1098.         BOOL fLock);
  1099. typedef somTP_WPObject_wpCreateShadowObject *somTD_WPObject_wpCreateShadowObject;
  1100. typedef ULONG   SOMLINK somTP_WPObject_wpDelete(WPObject *somSelf, 
  1101.         ULONG fConfirmations);
  1102. typedef somTP_WPObject_wpDelete *somTD_WPObject_wpDelete;
  1103. typedef BOOL   SOMLINK somTP_WPObject_wpDeleteFromObjUseList(WPObject *somSelf, 
  1104.         PUSEITEM pUseItem);
  1105. typedef somTP_WPObject_wpDeleteFromObjUseList *somTD_WPObject_wpDeleteFromObjUseList;
  1106. typedef BOOL   SOMLINK somTP_WPObject_wpDisplayHelp(WPObject *somSelf, 
  1107.         ULONG HelpPanelId, 
  1108.         PSZ HelpLibrary);
  1109. typedef somTP_WPObject_wpDisplayHelp *somTD_WPObject_wpDisplayHelp;
  1110. typedef HWND   SOMLINK somTP_WPObject_wpDisplayMenu(WPObject *somSelf, 
  1111.         HWND hwndOwner, 
  1112.         HWND hwndClient, 
  1113.         POINTL* ptlPopupPt, 
  1114.         ULONG ulMenuType, 
  1115.         ULONG ulReserved);
  1116. typedef somTP_WPObject_wpDisplayMenu *somTD_WPObject_wpDisplayMenu;
  1117. typedef BOOL   SOMLINK somTP_WPObject_wpDoesObjectMatch(WPObject *somSelf, 
  1118.         PVOID pvoidExtendedCriteria);
  1119. typedef somTP_WPObject_wpDoesObjectMatch *somTD_WPObject_wpDoesObjectMatch;
  1120. typedef MRESULT   SOMLINK somTP_WPObject_wpDraggedOverObject(WPObject *somSelf, 
  1121.         WPObject* DraggedOverObject);
  1122. typedef somTP_WPObject_wpDraggedOverObject *somTD_WPObject_wpDraggedOverObject;
  1123. typedef MRESULT   SOMLINK somTP_WPObject_wpDragOver(WPObject *somSelf, 
  1124.         HWND hwndCnr, 
  1125.         PDRAGINFO pdrgInfo);
  1126. typedef somTP_WPObject_wpDragOver *somTD_WPObject_wpDragOver;
  1127. typedef MRESULT   SOMLINK somTP_WPObject_wpDrop(WPObject *somSelf, 
  1128.         HWND hwndCnr, 
  1129.         PDRAGINFO pdrgInfo, 
  1130.         PDRAGITEM pdrgItem);
  1131. typedef somTP_WPObject_wpDrop *somTD_WPObject_wpDrop;
  1132. typedef BOOL   SOMLINK somTP_WPObject_wpDroppedOnObject(WPObject *somSelf, 
  1133.         WPObject* DroppedOnObject);
  1134. typedef somTP_WPObject_wpDroppedOnObject *somTD_WPObject_wpDroppedOnObject;
  1135. typedef MRESULT   SOMLINK somTP_WPObject_wpEndConversation(WPObject *somSelf, 
  1136.         ULONG ulItemID, 
  1137.         ULONG flResult);
  1138. typedef somTP_WPObject_wpEndConversation *somTD_WPObject_wpEndConversation;
  1139. typedef ULONG   SOMLINK somTP_WPObject_wpFilterPopupMenu(WPObject *somSelf, 
  1140.         ULONG ulFlags, 
  1141.         HWND hwndCnr, 
  1142.         BOOL fMultiSelect);
  1143. typedef somTP_WPObject_wpFilterPopupMenu *somTD_WPObject_wpFilterPopupMenu;
  1144. typedef BOOL   SOMLINK somTP_WPObject_wpFilterMenu(WPObject *somSelf, 
  1145.         FILTERFLAGS* pFlags, 
  1146.         HWND hwndCnr, 
  1147.         BOOL fMultiSelect, 
  1148.         ULONG ulMenuType, 
  1149.         ULONG ulView, 
  1150.         ULONG ulReserved);
  1151. typedef somTP_WPObject_wpFilterMenu *somTD_WPObject_wpFilterMenu;
  1152. typedef PUSEITEM   SOMLINK somTP_WPObject_wpFindUseItem(WPObject *somSelf, 
  1153.         ULONG type, 
  1154.         PUSEITEM pCurrentItem);
  1155. typedef somTP_WPObject_wpFindUseItem *somTD_WPObject_wpFindUseItem;
  1156. typedef BOOL   SOMLINK somTP_WPObject_wpFormatDragItem(WPObject *somSelf, 
  1157.         PDRAGITEM pdrgItem);
  1158. typedef somTP_WPObject_wpFormatDragItem *somTD_WPObject_wpFormatDragItem;
  1159. typedef BOOL   SOMLINK somTP_WPObject_wpFree(WPObject *somSelf);
  1160. typedef somTP_WPObject_wpFree *somTD_WPObject_wpFree;
  1161. typedef BOOL   SOMLINK somTP_WPObject_wpFreeMem(WPObject *somSelf, 
  1162.         PBYTE pByte);
  1163. typedef somTP_WPObject_wpFreeMem *somTD_WPObject_wpFreeMem;
  1164. typedef BOOL   SOMLINK somTP_WPObject_wpHide(WPObject *somSelf);
  1165. typedef somTP_WPObject_wpHide *somTD_WPObject_wpHide;
  1166. typedef void   SOMLINK somTP_WPObject_wpInitData(WPObject *somSelf);
  1167. typedef somTP_WPObject_wpInitData *somTD_WPObject_wpInitData;
  1168. typedef BOOL   SOMLINK somTP_WPObject_wpInsertPopupMenuItems(WPObject *somSelf, 
  1169.         HWND hwndMenu, 
  1170.         ULONG iPosition, 
  1171.         HMODULE hmod, 
  1172.         ULONG MenuID, 
  1173.         ULONG SubMenuID);
  1174. typedef somTP_WPObject_wpInsertPopupMenuItems *somTD_WPObject_wpInsertPopupMenuItems;
  1175. typedef BOOL   SOMLINK somTP_WPObject_wpInsertMenuItems(WPObject *somSelf, 
  1176.         HWND hwndMenu, 
  1177.         ULONG iPosition, 
  1178.         HMODULE hmod, 
  1179.         ULONG MenuID, 
  1180.         ULONG SubMenuID);
  1181. typedef somTP_WPObject_wpInsertMenuItems *somTD_WPObject_wpInsertMenuItems;
  1182. typedef ULONG   SOMLINK somTP_WPObject_wpInsertSettingsPage(WPObject *somSelf, 
  1183.         HWND hwndNotebook, 
  1184.         PPAGEINFO ppageinfo);
  1185. typedef somTP_WPObject_wpInsertSettingsPage *somTD_WPObject_wpInsertSettingsPage;
  1186. typedef BOOL   SOMLINK somTP_WPObject_wpMenuItemHelpSelected(WPObject *somSelf, 
  1187.         ULONG MenuId);
  1188. typedef somTP_WPObject_wpMenuItemHelpSelected *somTD_WPObject_wpMenuItemHelpSelected;
  1189. typedef BOOL   SOMLINK somTP_WPObject_wpMenuItemSelected(WPObject *somSelf, 
  1190.         HWND hwndFrame, 
  1191.         ULONG ulMenuId);
  1192. typedef somTP_WPObject_wpMenuItemSelected *somTD_WPObject_wpMenuItemSelected;
  1193. typedef BOOL   SOMLINK somTP_WPObject_wpModifyPopupMenu(WPObject *somSelf, 
  1194.         HWND hwndMenu, 
  1195.         HWND hwndCnr, 
  1196.         ULONG iPosition);
  1197. typedef somTP_WPObject_wpModifyPopupMenu *somTD_WPObject_wpModifyPopupMenu;
  1198. typedef BOOL   SOMLINK somTP_WPObject_wpModifyMenu(WPObject *somSelf, 
  1199.         HWND hwndMenu, 
  1200.         HWND hwndCnr, 
  1201.         ULONG iPosition, 
  1202.         ULONG ulMenuType, 
  1203.         ULONG ulView, 
  1204.         ULONG ulReserved);
  1205. typedef somTP_WPObject_wpModifyMenu *somTD_WPObject_wpModifyMenu;
  1206. typedef BOOL   SOMLINK somTP_WPObject_wpMoveObject(WPObject *somSelf, 
  1207.         WPFolder* Folder);
  1208. typedef somTP_WPObject_wpMoveObject *somTD_WPObject_wpMoveObject;
  1209. typedef HWND   SOMLINK somTP_WPObject_wpOpen(WPObject *somSelf, 
  1210.         HWND hwndCnr, 
  1211.         ULONG ulView, 
  1212.         ULONG param);
  1213. typedef somTP_WPObject_wpOpen *somTD_WPObject_wpOpen;
  1214. typedef BOOL   SOMLINK somTP_WPObject_wpPrintObject(WPObject *somSelf, 
  1215.         PPRINTDEST pPrintDest, 
  1216.         ULONG ulReserved);
  1217. typedef somTP_WPObject_wpPrintObject *somTD_WPObject_wpPrintObject;
  1218. typedef ULONG   SOMLINK somTP_WPObject_wpQueryConcurrentView(WPObject *somSelf);
  1219. typedef somTP_WPObject_wpQueryConcurrentView *somTD_WPObject_wpQueryConcurrentView;
  1220. typedef ULONG   SOMLINK somTP_WPObject_wpQueryButtonAppearance(WPObject *somSelf);
  1221. typedef somTP_WPObject_wpQueryButtonAppearance *somTD_WPObject_wpQueryButtonAppearance;
  1222. typedef ULONG   SOMLINK somTP_WPObject_wpQueryConfirmations(WPObject *somSelf);
  1223. typedef somTP_WPObject_wpQueryConfirmations *somTD_WPObject_wpQueryConfirmations;
  1224. typedef BOOL   SOMLINK somTP_WPObject_wpQueryDefaultHelp(WPObject *somSelf, 
  1225.         PULONG pHelpPanelId, 
  1226.         PSZ HelpLibrary);
  1227. typedef somTP_WPObject_wpQueryDefaultHelp *somTD_WPObject_wpQueryDefaultHelp;
  1228. typedef ULONG   SOMLINK somTP_WPObject_wpQueryDefaultView(WPObject *somSelf);
  1229. typedef somTP_WPObject_wpQueryDefaultView *somTD_WPObject_wpQueryDefaultView;
  1230. typedef ULONG   SOMLINK somTP_WPObject_wpQueryDetailsData(WPObject *somSelf, 
  1231.         PVOID* ppDetailsData, 
  1232.         PULONG pcp);
  1233. typedef somTP_WPObject_wpQueryDetailsData *somTD_WPObject_wpQueryDetailsData;
  1234. typedef ULONG   SOMLINK somTP_WPObject_wpQueryError(WPObject *somSelf);
  1235. typedef somTP_WPObject_wpQueryError *somTD_WPObject_wpQueryError;
  1236. typedef BOOL   SOMLINK somTP_WPObject_wpSetFolder(WPObject *somSelf, 
  1237.         WPObject* container);
  1238. typedef somTP_WPObject_wpSetFolder *somTD_WPObject_wpSetFolder;
  1239. typedef WPObject*   SOMLINK somTP_WPObject_wpQueryFolder(WPObject *somSelf);
  1240. typedef somTP_WPObject_wpQueryFolder *somTD_WPObject_wpQueryFolder;
  1241. typedef HPOINTER   SOMLINK somTP_WPObject_wpQueryIcon(WPObject *somSelf);
  1242. typedef somTP_WPObject_wpQueryIcon *somTD_WPObject_wpQueryIcon;
  1243. typedef ULONG   SOMLINK somTP_WPObject_wpQueryIconData(WPObject *somSelf, 
  1244.         PICONINFO pIconInfo);
  1245. typedef somTP_WPObject_wpQueryIconData *somTD_WPObject_wpQueryIconData;
  1246. typedef ULONG   SOMLINK somTP_WPObject_wpQueryMinWindow(WPObject *somSelf);
  1247. typedef somTP_WPObject_wpQueryMinWindow *somTD_WPObject_wpQueryMinWindow;
  1248. typedef ULONG   SOMLINK somTP_WPObject_wpQueryNameClashOptions(WPObject *somSelf, 
  1249.         ULONG menuID);
  1250. typedef somTP_WPObject_wpQueryNameClashOptions *somTD_WPObject_wpQueryNameClashOptions;
  1251. typedef ULONG   SOMLINK somTP_WPObject_wpQueryStyle(WPObject *somSelf);
  1252. typedef somTP_WPObject_wpQueryStyle *somTD_WPObject_wpQueryStyle;
  1253. typedef BOOL32   SOMLINK somTP_WPObject_wpSetTaskRec(WPObject *somSelf, 
  1254.         PTASKREC pNew, 
  1255.         PTASKREC pOld);
  1256. typedef somTP_WPObject_wpSetTaskRec *somTD_WPObject_wpSetTaskRec;
  1257. typedef PTASKREC   SOMLINK somTP_WPObject_wpFindTaskRec(WPObject *somSelf);
  1258. typedef somTP_WPObject_wpFindTaskRec *somTD_WPObject_wpFindTaskRec;
  1259. typedef PSZ   SOMLINK somTP_WPObject_wpQueryTitle(WPObject *somSelf);
  1260. typedef somTP_WPObject_wpQueryTitle *somTD_WPObject_wpQueryTitle;
  1261. typedef BOOL   SOMLINK somTP_WPObject_wpRegisterView(WPObject *somSelf, 
  1262.         HWND hwndFrame, 
  1263.         PSZ pszViewTitle);
  1264. typedef somTP_WPObject_wpRegisterView *somTD_WPObject_wpRegisterView;
  1265. typedef ULONG   SOMLINK somTP_WPObject_wpReleaseObjectMutexSem(WPObject *somSelf);
  1266. typedef somTP_WPObject_wpReleaseObjectMutexSem *somTD_WPObject_wpReleaseObjectMutexSem;
  1267. typedef MRESULT   SOMLINK somTP_WPObject_wpRender(WPObject *somSelf, 
  1268.         PDRAGTRANSFER pdxfer);
  1269. typedef somTP_WPObject_wpRender *somTD_WPObject_wpRender;
  1270. typedef MRESULT   SOMLINK somTP_WPObject_wpRenderComplete(WPObject *somSelf, 
  1271.         PDRAGTRANSFER pdxfer, 
  1272.         ULONG ulResult);
  1273. typedef somTP_WPObject_wpRenderComplete *somTD_WPObject_wpRenderComplete;
  1274. typedef BOOL32   SOMLINK somTP_WPObject_wpReplaceObject(WPObject *somSelf, 
  1275.         WPObject* targetObject, 
  1276.         BOOL32 fMove);
  1277. typedef somTP_WPObject_wpReplaceObject *somTD_WPObject_wpReplaceObject;
  1278. typedef ULONG   SOMLINK somTP_WPObject_wpRequestObjectMutexSem(WPObject *somSelf, 
  1279.         ULONG ulTimeout);
  1280. typedef somTP_WPObject_wpRequestObjectMutexSem *somTD_WPObject_wpRequestObjectMutexSem;
  1281. typedef BOOL   SOMLINK somTP_WPObject_wpRestore(WPObject *somSelf);
  1282. typedef somTP_WPObject_wpRestore *somTD_WPObject_wpRestore;
  1283. typedef BOOL   SOMLINK somTP_WPObject_wpRestoreData(WPObject *somSelf, 
  1284.         PSZ pszClass, 
  1285.         ULONG ulKey, 
  1286.         PBYTE pValue, 
  1287.         PULONG pcbValue);
  1288. typedef somTP_WPObject_wpRestoreData *somTD_WPObject_wpRestoreData;
  1289. typedef BOOL   SOMLINK somTP_WPObject_wpRestoreLong(WPObject *somSelf, 
  1290.         PSZ pszClass, 
  1291.         ULONG ulKey, 
  1292.         PULONG pulValue);
  1293. typedef somTP_WPObject_wpRestoreLong *somTD_WPObject_wpRestoreLong;
  1294. typedef BOOL   SOMLINK somTP_WPObject_wpRestoreState(WPObject *somSelf, 
  1295.         ULONG ulReserved);
  1296. typedef somTP_WPObject_wpRestoreState *somTD_WPObject_wpRestoreState;
  1297. typedef BOOL   SOMLINK somTP_WPObject_wpRestoreString(WPObject *somSelf, 
  1298.         PSZ pszClass, 
  1299.         ULONG ulKey, 
  1300.         PSZ pszValue, 
  1301.         PULONG pcbValue);
  1302. typedef somTP_WPObject_wpRestoreString *somTD_WPObject_wpRestoreString;
  1303. typedef BOOL   SOMLINK somTP_WPObject_wpSaveData(WPObject *somSelf, 
  1304.         PSZ pszClass, 
  1305.         ULONG ulKey, 
  1306.         PBYTE pValue, 
  1307.         ULONG cbValue);
  1308. typedef somTP_WPObject_wpSaveData *somTD_WPObject_wpSaveData;
  1309. typedef BOOL   SOMLINK somTP_WPObject_wpSaveImmediate(WPObject *somSelf);
  1310. typedef somTP_WPObject_wpSaveImmediate *somTD_WPObject_wpSaveImmediate;
  1311. typedef BOOL   SOMLINK somTP_WPObject_wpSaveDeferred(WPObject *somSelf);
  1312. typedef somTP_WPObject_wpSaveDeferred *somTD_WPObject_wpSaveDeferred;
  1313. typedef BOOL   SOMLINK somTP_WPObject_wpSaveLong(WPObject *somSelf, 
  1314.         PSZ pszClass, 
  1315.         ULONG ulKey, 
  1316.         ULONG ulValue);
  1317. typedef somTP_WPObject_wpSaveLong *somTD_WPObject_wpSaveLong;
  1318. typedef BOOL   SOMLINK somTP_WPObject_wpSaveState(WPObject *somSelf);
  1319. typedef somTP_WPObject_wpSaveState *somTD_WPObject_wpSaveState;
  1320. typedef BOOL   SOMLINK somTP_WPObject_wpSaveString(WPObject *somSelf, 
  1321.         PSZ pszClass, 
  1322.         ULONG ulKey, 
  1323.         PSZ pszValue);
  1324. typedef somTP_WPObject_wpSaveString *somTD_WPObject_wpSaveString;
  1325. typedef BOOL   SOMLINK somTP_WPObject_wpScanSetupString(WPObject *somSelf, 
  1326.         PSZ pszSetupString, 
  1327.         PSZ pszKey, 
  1328.         PSZ pszValue, 
  1329.         PULONG pcbValue);
  1330. typedef somTP_WPObject_wpScanSetupString *somTD_WPObject_wpScanSetupString;
  1331. typedef void   SOMLINK somTP_WPObject_wpSetConcurrentView(WPObject *somSelf, 
  1332.         ULONG ulCCView);
  1333. typedef somTP_WPObject_wpSetConcurrentView *somTD_WPObject_wpSetConcurrentView;
  1334. typedef void   SOMLINK somTP_WPObject_wpSetButtonAppearance(WPObject *somSelf, 
  1335.         ULONG ulButtonType);
  1336. typedef somTP_WPObject_wpSetButtonAppearance *somTD_WPObject_wpSetButtonAppearance;
  1337. typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultHelp(WPObject *somSelf, 
  1338.         ULONG HelpPanelId, 
  1339.         PSZ HelpLibrary);
  1340. typedef somTP_WPObject_wpSetDefaultHelp *somTD_WPObject_wpSetDefaultHelp;
  1341. typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultView(WPObject *somSelf, 
  1342.         ULONG ulView);
  1343. typedef somTP_WPObject_wpSetDefaultView *somTD_WPObject_wpSetDefaultView;
  1344. typedef BOOL   SOMLINK somTP_WPObject_wpSetError(WPObject *somSelf, 
  1345.         ULONG ulErrorId);
  1346. typedef somTP_WPObject_wpSetError *somTD_WPObject_wpSetError;
  1347. typedef SGID   SOMLINK somTP_WPObject_wpQueryScreenGroupID(WPObject *somSelf, 
  1348.         SGID sgidPrevSgId);
  1349. typedef somTP_WPObject_wpQueryScreenGroupID *somTD_WPObject_wpQueryScreenGroupID;
  1350. typedef BOOL   SOMLINK somTP_WPObject_wpSetupOnce(WPObject *somSelf, 
  1351.         PSZ pszSetupString);
  1352. typedef somTP_WPObject_wpSetupOnce *somTD_WPObject_wpSetupOnce;
  1353. typedef BOOL   SOMLINK somTP_WPObject_wpSetIcon(WPObject *somSelf, 
  1354.         HPOINTER hptrNewIcon);
  1355. typedef somTP_WPObject_wpSetIcon *somTD_WPObject_wpSetIcon;
  1356. typedef BOOL   SOMLINK somTP_WPObject_wpSetIconData(WPObject *somSelf, 
  1357.         PICONINFO pIconInfo);
  1358. typedef somTP_WPObject_wpSetIconData *somTD_WPObject_wpSetIconData;
  1359. typedef void   SOMLINK somTP_WPObject_wpSetMinWindow(WPObject *somSelf, 
  1360.         ULONG ulMinWindow);
  1361. typedef somTP_WPObject_wpSetMinWindow *somTD_WPObject_wpSetMinWindow;
  1362. typedef BOOL   SOMLINK somTP_WPObject_wpModifyStyle(WPObject *somSelf, 
  1363.         ULONG ulStyleFlags, 
  1364.         ULONG ulStyleMask);
  1365. typedef somTP_WPObject_wpModifyStyle *somTD_WPObject_wpModifyStyle;
  1366. typedef BOOL   SOMLINK somTP_WPObject_wpSetTitle(WPObject *somSelf, 
  1367.         PSZ pszNewTitle);
  1368. typedef somTP_WPObject_wpSetTitle *somTD_WPObject_wpSetTitle;
  1369. typedef BOOL   SOMLINK somTP_WPObject_wpSetup(WPObject *somSelf, 
  1370.         PSZ pszSetupString);
  1371. typedef somTP_WPObject_wpSetup *somTD_WPObject_wpSetup;
  1372. typedef BOOL   SOMLINK somTP_WPObject_wpSwitchTo(WPObject *somSelf, 
  1373.         ULONG View);
  1374. typedef somTP_WPObject_wpSwitchTo *somTD_WPObject_wpSwitchTo;
  1375. typedef void   SOMLINK somTP_WPObject_wpUnInitData(WPObject *somSelf);
  1376. typedef somTP_WPObject_wpUnInitData *somTD_WPObject_wpUnInitData;
  1377. typedef HWND   SOMLINK somTP_WPObject_wpViewObject(WPObject *somSelf, 
  1378.         HWND hwndCnr, 
  1379.         ULONG ulView, 
  1380.         ULONG param);
  1381. typedef somTP_WPObject_wpViewObject *somTD_WPObject_wpViewObject;
  1382. typedef ULONG   SOMLINK somTP_WPObject_wpQueryTrueStyle(WPObject *somSelf);
  1383. typedef somTP_WPObject_wpQueryTrueStyle *somTD_WPObject_wpQueryTrueStyle;
  1384. typedef HOBJECT   SOMLINK somTP_WPObject_wpQueryHandle(WPObject *somSelf);
  1385. typedef somTP_WPObject_wpQueryHandle *somTD_WPObject_wpQueryHandle;
  1386. typedef BOOL   SOMLINK somTP_WPObject_wpUnlockObject(WPObject *somSelf);
  1387. typedef somTP_WPObject_wpUnlockObject *somTD_WPObject_wpUnlockObject;
  1388. typedef void   SOMLINK somTP_WPObject_wpObjectReady(WPObject *somSelf, 
  1389.         ULONG ulCode, 
  1390.         WPObject* refObject);
  1391. typedef somTP_WPObject_wpObjectReady *somTD_WPObject_wpObjectReady;
  1392. typedef BOOL   SOMLINK somTP_WPObject_wpIsObjectInitialized(WPObject *somSelf);
  1393. typedef somTP_WPObject_wpIsObjectInitialized *somTD_WPObject_wpIsObjectInitialized;
  1394. typedef WPObject*   SOMLINK somTP_WPObject_wpCreateShadowObjectExt(WPObject *somSelf, 
  1395.         WPFolder* Folder, 
  1396.         BOOL fLock, 
  1397.         PSZ pszSetup, 
  1398.         M_WPObject* shadowClass);
  1399. typedef somTP_WPObject_wpCreateShadowObjectExt *somTD_WPObject_wpCreateShadowObjectExt;
  1400. typedef BOOL   SOMLINK somTP_WPObject_wpCnrDeleteUseItem(WPObject *somSelf, 
  1401.         HWND hwndCnr);
  1402. typedef somTP_WPObject_wpCnrDeleteUseItem *somTD_WPObject_wpCnrDeleteUseItem;
  1403. typedef BOOL   SOMLINK somTP_WPObject_wpIsDeleteable(WPObject *somSelf);
  1404. typedef somTP_WPObject_wpIsDeleteable *somTD_WPObject_wpIsDeleteable;
  1405. typedef PMINIRECORDCORE   SOMLINK somTP_WPObject_wpQueryCoreRecord(WPObject *somSelf);
  1406. typedef somTP_WPObject_wpQueryCoreRecord *somTD_WPObject_wpQueryCoreRecord;
  1407. typedef BOOL   SOMLINK somTP_WPObject_wpSetObjectID(WPObject *somSelf, 
  1408.         PSZ pszObjectID);
  1409. typedef somTP_WPObject_wpSetObjectID *somTD_WPObject_wpSetObjectID;
  1410. typedef PSZ   SOMLINK somTP_WPObject_wpQueryObjectID(WPObject *somSelf);
  1411. typedef somTP_WPObject_wpQueryObjectID *somTD_WPObject_wpQueryObjectID;
  1412. typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultIconPos(WPObject *somSelf, 
  1413.         PPOINTL pPointl);
  1414. typedef somTP_WPObject_wpSetDefaultIconPos *somTD_WPObject_wpSetDefaultIconPos;
  1415. typedef BOOL   SOMLINK somTP_WPObject_wpQueryDefaultIconPos(WPObject *somSelf, 
  1416.         PPOINTL pPointl);
  1417. typedef somTP_WPObject_wpQueryDefaultIconPos *somTD_WPObject_wpQueryDefaultIconPos;
  1418. typedef void   SOMLINK somTP_WPObject_wpCnrRefreshDetails(WPObject *somSelf);
  1419. typedef somTP_WPObject_wpCnrRefreshDetails *somTD_WPObject_wpCnrRefreshDetails;
  1420. typedef PVIEWITEM   SOMLINK somTP_WPObject_wpFindViewItem(WPObject *somSelf, 
  1421.         ULONG flViews, 
  1422.         PVIEWITEM pCurrentItem);
  1423. typedef somTP_WPObject_wpFindViewItem *somTD_WPObject_wpFindViewItem;
  1424. typedef void   SOMLINK somTP_WPObject_wpLockObject(WPObject *somSelf);
  1425. typedef somTP_WPObject_wpLockObject *somTD_WPObject_wpLockObject;
  1426. typedef BOOL   SOMLINK somTP_WPObject_wpIsLocked(WPObject *somSelf);
  1427. typedef somTP_WPObject_wpIsLocked *somTD_WPObject_wpIsLocked;
  1428. typedef PULONG   SOMLINK somTP_WPObject_wpQueryContainerFlagPtr(WPObject *somSelf);
  1429. typedef somTP_WPObject_wpQueryContainerFlagPtr *somTD_WPObject_wpQueryContainerFlagPtr;
  1430. typedef ULONG   SOMLINK somTP_WPObject_wpWaitForClose(WPObject *somSelf, 
  1431.         LHANDLE lhView, 
  1432.         ULONG ulViews, 
  1433.         long lTimeOut, 
  1434.         BOOL bAutoClose);
  1435. typedef somTP_WPObject_wpWaitForClose *somTD_WPObject_wpWaitForClose;
  1436. typedef BOOL   SOMLINK somTP_WPObject_wpSetMenuStyle(WPObject *somSelf, 
  1437.         ULONG ulStyle);
  1438. typedef somTP_WPObject_wpSetMenuStyle *somTD_WPObject_wpSetMenuStyle;
  1439. typedef ULONG   SOMLINK somTP_WPObject_wpQueryMenuStyle(WPObject *somSelf);
  1440. typedef somTP_WPObject_wpQueryMenuStyle *somTD_WPObject_wpQueryMenuStyle;
  1441. typedef BOOL   SOMLINK somTP_WPObject_wpIdentify(WPObject *somSelf, 
  1442.         PSZ pszIdentity);
  1443. typedef somTP_WPObject_wpIdentify *somTD_WPObject_wpIdentify;
  1444. typedef BOOL   SOMLINK somTP_WPObject_wpSetStyle(WPObject *somSelf, 
  1445.         ULONG ulNewStyle);
  1446. typedef somTP_WPObject_wpSetStyle *somTD_WPObject_wpSetStyle;
  1447.  
  1448. /*
  1449.  * -- Typedefs for Reintroduced Wrapper Methods
  1450.  */
  1451. typedef M_WPObject*   SOMLINK somTP_WPObject_somGetClass(WPObject *somSelf);
  1452. typedef somTP_WPObject_somGetClass *somTD_WPObject_somGetClass;
  1453. }
  1454.  
  1455. #endif /* WPObject_API */
  1456.  
  1457.  
  1458. /*
  1459.  * -- This emitter treats Method Tokens as Thunks by default.
  1460.  * -- Use the sc modifier "nothunks" to change this default
  1461.  */
  1462. #undef somresolve_
  1463. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  1464.  
  1465. /*
  1466.  * -- The C++ Wrapper Class for WPObject
  1467.  */
  1468. class WPObject : public SOMObject
  1469. {
  1470. public:
  1471.  
  1472. // WPObject::new creates the class object if necessary, and then uses somNewNoInit
  1473. // to allocate memory and create the object. Initialization is in ctors.
  1474. void *operator new(size_t)
  1475. {
  1476.    if (!_WPObject) WPObjectNewClass(WPObject_MajorVersion,WPObject_MinorVersion);
  1477.    return (void*)
  1478.       SOM_Resolve(_WPObject,SOMClass,somNewNoInit)
  1479.          ((SOMClass *)((void*)_WPObject));
  1480. }
  1481.  
  1482. // WPObject::delete uses somDestruct.
  1483. void operator delete(void * obj)
  1484. {
  1485.    if (obj && *(void**)obj) {
  1486.       SOM_Resolve(obj,SOMObject,somDestruct)
  1487.          ((SOMObject*)obj, 1, 0);
  1488.    }
  1489. }
  1490.  
  1491. WPObject& operator=(WPObject& fromObj)
  1492. {
  1493.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  1494.    return *this;
  1495. }
  1496.  
  1497. WPObject()
  1498. {
  1499.    if (*(void**)this != 
  1500.        ((somParentMtabStructPtr)
  1501.         (WPObjectCClassData.parentMtab))->mtab)
  1502.       return;
  1503.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  1504. }
  1505.  
  1506. WPObject(WPObject* fromObj)
  1507. {
  1508.    if (*(void**)this != 
  1509.        ((somParentMtabStructPtr)
  1510.         (WPObjectCClassData.parentMtab))->mtab)
  1511.       return;
  1512.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  1513. }
  1514.  
  1515. WPObject(const WPObject* fromObj)
  1516. {
  1517.    if (*(void**)this != 
  1518.        ((somParentMtabStructPtr)
  1519.         (WPObjectCClassData.parentMtab))->mtab)
  1520.       return;
  1521.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  1522. }
  1523.  
  1524.  
  1525. /* method: wpAddObjectGeneralPage */
  1526. ULONG   wpAddObjectGeneralPage(HWND hwndNotebook)
  1527. {
  1528.    return SOM_ResolveD(this,WPObject,WPObject,wpAddObjectGeneralPage)
  1529.     (this,hwndNotebook);
  1530. }
  1531.  
  1532.  
  1533. /* method: wpAddObjectGeneralPage2 */
  1534. ULONG   wpAddObjectGeneralPage2(HWND hwndNotebook)
  1535. {
  1536.    return SOM_ResolveD(this,WPObject,WPObject,wpAddObjectGeneralPage2)
  1537.     (this,hwndNotebook);
  1538. }
  1539.  
  1540.  
  1541. /* method: wpAddObjectWindowPage */
  1542. ULONG   wpAddObjectWindowPage(HWND hwndNotebook)
  1543. {
  1544.    return SOM_ResolveD(this,WPObject,WPObject,wpAddObjectWindowPage)
  1545.     (this,hwndNotebook);
  1546. }
  1547.  
  1548.  
  1549. /* method: wpAddSettingsPages */
  1550. BOOL   wpAddSettingsPages(HWND hwndNotebook)
  1551. {
  1552.    return SOM_ResolveD(this,WPObject,WPObject,wpAddSettingsPages)
  1553.     (this,hwndNotebook);
  1554. }
  1555.  
  1556.  
  1557. /* method: wpAddToObjUseList */
  1558. BOOL   wpAddToObjUseList(PUSEITEM pUseItem)
  1559. {
  1560.    return SOM_ResolveD(this,WPObject,WPObject,wpAddToObjUseList)
  1561.     (this,pUseItem);
  1562. }
  1563.  
  1564.  
  1565. /* method: wpAllocMem */
  1566. PBYTE   wpAllocMem(ULONG cbBytes, 
  1567.         PULONG prc)
  1568. {
  1569.    return SOM_ResolveD(this,WPObject,WPObject,wpAllocMem)
  1570.     (this,cbBytes,prc);
  1571. }
  1572.  
  1573.  
  1574. /* method: wpAppendObject */
  1575. BOOL32   wpAppendObject(WPObject* targetObject, 
  1576.         BOOL32 fMove)
  1577. {
  1578.    return SOM_ResolveD(this,WPObject,WPObject,wpAppendObject)
  1579.     (this,targetObject,fMove);
  1580. }
  1581.  
  1582.  
  1583. /* method: wpAssertObjectMutexSem */
  1584. BOOL   wpAssertObjectMutexSem()
  1585. {
  1586.    return SOM_ResolveD(this,WPObject,WPObject,wpAssertObjectMutexSem)
  1587.     (this);
  1588. }
  1589.  
  1590.  
  1591. /* method: wpClose */
  1592. BOOL   wpClose()
  1593. {
  1594.    return SOM_ResolveD(this,WPObject,WPObject,wpClose)
  1595.     (this);
  1596. }
  1597.  
  1598.  
  1599. /* method: wpCnrInsertObject */
  1600. PMINIRECORDCORE   wpCnrInsertObject(HWND hwndCnr, 
  1601.         PPOINTL pptlIcon, 
  1602.         PMINIRECORDCORE preccParent, 
  1603.         PRECORDINSERT pRecInsert)
  1604. {
  1605.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrInsertObject)
  1606.     (this,hwndCnr,pptlIcon,preccParent,pRecInsert);
  1607. }
  1608.  
  1609.  
  1610. /* method: wpCnrRemoveObject */
  1611. BOOL   wpCnrRemoveObject(HWND hwndCnr)
  1612. {
  1613.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrRemoveObject)
  1614.     (this,hwndCnr);
  1615. }
  1616.  
  1617.  
  1618. /* method: wpCnrSetEmphasis */
  1619. BOOL   wpCnrSetEmphasis(ULONG ulEmphasisAttr, 
  1620.         BOOL fTurnOn)
  1621. {
  1622.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrSetEmphasis)
  1623.     (this,ulEmphasisAttr,fTurnOn);
  1624. }
  1625.  
  1626.  
  1627. /* method: wpConfirmDelete */
  1628. ULONG   wpConfirmDelete(ULONG fConfirmations)
  1629. {
  1630.    return SOM_ResolveD(this,WPObject,WPObject,wpConfirmDelete)
  1631.     (this,fConfirmations);
  1632. }
  1633.  
  1634.  
  1635. /* method: wpConfirmObjectTitle */
  1636. ULONG   wpConfirmObjectTitle(WPFolder* Folder, 
  1637.         WPObject** ppDuplicate, 
  1638.         PSZ pszTitle, 
  1639.         ULONG cbTitle, 
  1640.         ULONG menuID)
  1641. {
  1642.    return SOM_ResolveD(this,WPObject,WPObject,wpConfirmObjectTitle)
  1643.     (this,Folder,ppDuplicate,pszTitle,cbTitle,menuID);
  1644. }
  1645.  
  1646.  
  1647. /* method: wpCopiedFromTemplate */
  1648. void   wpCopiedFromTemplate()
  1649. {
  1650.    SOM_ResolveD(this,WPObject,WPObject,wpCopiedFromTemplate)
  1651.     (this);
  1652. }
  1653.  
  1654.  
  1655. /* method: wpCopyObject */
  1656. WPObject*   wpCopyObject(WPFolder* Folder, 
  1657.         BOOL fLock)
  1658. {
  1659.    return SOM_ResolveD(this,WPObject,WPObject,wpCopyObject)
  1660.     (this,Folder,fLock);
  1661. }
  1662.  
  1663.  
  1664. /* method: wpCreateAnother */
  1665. WPObject*   wpCreateAnother(PSZ pszTitle, 
  1666.         PSZ pszSetupEnv, 
  1667.         WPFolder* Folder)
  1668. {
  1669.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateAnother)
  1670.     (this,pszTitle,pszSetupEnv,Folder);
  1671. }
  1672.  
  1673.  
  1674. /* method: wpCreateFromTemplate */
  1675. WPObject*   wpCreateFromTemplate(WPFolder* folder, 
  1676.         BOOL fLock)
  1677. {
  1678.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateFromTemplate)
  1679.     (this,folder,fLock);
  1680. }
  1681.  
  1682.  
  1683. /* method: wpCreateShadowObject */
  1684. WPObject*   wpCreateShadowObject(WPFolder* Folder, 
  1685.         BOOL fLock)
  1686. {
  1687.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateShadowObject)
  1688.     (this,Folder,fLock);
  1689. }
  1690.  
  1691.  
  1692. /* method: wpDelete */
  1693. ULONG   wpDelete(ULONG fConfirmations)
  1694. {
  1695.    return SOM_ResolveD(this,WPObject,WPObject,wpDelete)
  1696.     (this,fConfirmations);
  1697. }
  1698.  
  1699.  
  1700. /* method: wpDeleteFromObjUseList */
  1701. BOOL   wpDeleteFromObjUseList(PUSEITEM pUseItem)
  1702. {
  1703.    return SOM_ResolveD(this,WPObject,WPObject,wpDeleteFromObjUseList)
  1704.     (this,pUseItem);
  1705. }
  1706.  
  1707.  
  1708. /* method: wpDisplayHelp */
  1709. BOOL   wpDisplayHelp(ULONG HelpPanelId, 
  1710.         PSZ HelpLibrary)
  1711. {
  1712.    return SOM_ResolveD(this,WPObject,WPObject,wpDisplayHelp)
  1713.     (this,HelpPanelId,HelpLibrary);
  1714. }
  1715.  
  1716.  
  1717. /* method: wpDisplayMenu */
  1718. HWND   wpDisplayMenu(HWND hwndOwner, 
  1719.         HWND hwndClient, 
  1720.         POINTL* ptlPopupPt, 
  1721.         ULONG ulMenuType, 
  1722.         ULONG ulReserved)
  1723. {
  1724.    return SOM_ResolveD(this,WPObject,WPObject,wpDisplayMenu)
  1725.     (this,hwndOwner,hwndClient,ptlPopupPt,ulMenuType,ulReserved);
  1726. }
  1727.  
  1728.  
  1729. /* method: wpDoesObjectMatch */
  1730. BOOL   wpDoesObjectMatch(PVOID pvoidExtendedCriteria)
  1731. {
  1732.    return SOM_ResolveD(this,WPObject,WPObject,wpDoesObjectMatch)
  1733.     (this,pvoidExtendedCriteria);
  1734. }
  1735.  
  1736.  
  1737. /* method: wpDraggedOverObject */
  1738. MRESULT   wpDraggedOverObject(WPObject* DraggedOverObject)
  1739. {
  1740.    return SOM_ResolveD(this,WPObject,WPObject,wpDraggedOverObject)
  1741.     (this,DraggedOverObject);
  1742. }
  1743.  
  1744.  
  1745. /* method: wpDragOver */
  1746. MRESULT   wpDragOver(HWND hwndCnr, 
  1747.         PDRAGINFO pdrgInfo)
  1748. {
  1749.    return SOM_ResolveD(this,WPObject,WPObject,wpDragOver)
  1750.     (this,hwndCnr,pdrgInfo);
  1751. }
  1752.  
  1753.  
  1754. /* method: wpDrop */
  1755. MRESULT   wpDrop(HWND hwndCnr, 
  1756.         PDRAGINFO pdrgInfo, 
  1757.         PDRAGITEM pdrgItem)
  1758. {
  1759.    return SOM_ResolveD(this,WPObject,WPObject,wpDrop)
  1760.     (this,hwndCnr,pdrgInfo,pdrgItem);
  1761. }
  1762.  
  1763.  
  1764. /* method: wpDroppedOnObject */
  1765. BOOL   wpDroppedOnObject(WPObject* DroppedOnObject)
  1766. {
  1767.    return SOM_ResolveD(this,WPObject,WPObject,wpDroppedOnObject)
  1768.     (this,DroppedOnObject);
  1769. }
  1770.  
  1771.  
  1772. /* method: wpEndConversation */
  1773. MRESULT   wpEndConversation(ULONG ulItemID, 
  1774.         ULONG flResult)
  1775. {
  1776.    return SOM_ResolveD(this,WPObject,WPObject,wpEndConversation)
  1777.     (this,ulItemID,flResult);
  1778. }
  1779.  
  1780.  
  1781. /* method: wpFilterPopupMenu */
  1782. ULONG   wpFilterPopupMenu(ULONG ulFlags, 
  1783.         HWND hwndCnr, 
  1784.         BOOL fMultiSelect)
  1785. {
  1786.    return SOM_ResolveD(this,WPObject,WPObject,wpFilterPopupMenu)
  1787.     (this,ulFlags,hwndCnr,fMultiSelect);
  1788. }
  1789.  
  1790.  
  1791. /* method: wpFilterMenu */
  1792. BOOL   wpFilterMenu(FILTERFLAGS* pFlags, 
  1793.         HWND hwndCnr, 
  1794.         BOOL fMultiSelect, 
  1795.         ULONG ulMenuType, 
  1796.         ULONG ulView, 
  1797.         ULONG ulReserved)
  1798. {
  1799.    return SOM_ResolveD(this,WPObject,WPObject,wpFilterMenu)
  1800.     (this,pFlags,hwndCnr,fMultiSelect,ulMenuType,ulView,ulReserved);
  1801. }
  1802.  
  1803.  
  1804. /* method: wpFindUseItem */
  1805. PUSEITEM   wpFindUseItem(ULONG type, 
  1806.         PUSEITEM pCurrentItem)
  1807. {
  1808.    return SOM_ResolveD(this,WPObject,WPObject,wpFindUseItem)
  1809.     (this,type,pCurrentItem);
  1810. }
  1811.  
  1812.  
  1813. /* method: wpFormatDragItem */
  1814. BOOL   wpFormatDragItem(PDRAGITEM pdrgItem)
  1815. {
  1816.    return SOM_ResolveD(this,WPObject,WPObject,wpFormatDragItem)
  1817.     (this,pdrgItem);
  1818. }
  1819.  
  1820.  
  1821. /* method: wpFree */
  1822. BOOL   wpFree()
  1823. {
  1824.    return SOM_ResolveD(this,WPObject,WPObject,wpFree)
  1825.     (this);
  1826. }
  1827.  
  1828.  
  1829. /* method: wpFreeMem */
  1830. BOOL   wpFreeMem(PBYTE pByte)
  1831. {
  1832.    return SOM_ResolveD(this,WPObject,WPObject,wpFreeMem)
  1833.     (this,pByte);
  1834. }
  1835.  
  1836.  
  1837. /* method: wpHide */
  1838. BOOL   wpHide()
  1839. {
  1840.    return SOM_ResolveD(this,WPObject,WPObject,wpHide)
  1841.     (this);
  1842. }
  1843.  
  1844.  
  1845. /* method: wpInitData */
  1846. void   wpInitData()
  1847. {
  1848.    SOM_ResolveD(this,WPObject,WPObject,wpInitData)
  1849.     (this);
  1850. }
  1851.  
  1852.  
  1853. /* method: wpInsertPopupMenuItems */
  1854. BOOL   wpInsertPopupMenuItems(HWND hwndMenu, 
  1855.         ULONG iPosition, 
  1856.         HMODULE hmod, 
  1857.         ULONG MenuID, 
  1858.         ULONG SubMenuID)
  1859. {
  1860.    return SOM_ResolveD(this,WPObject,WPObject,wpInsertPopupMenuItems)
  1861.     (this,hwndMenu,iPosition,hmod,MenuID,SubMenuID);
  1862. }
  1863.  
  1864.  
  1865. /* method: wpInsertMenuItems */
  1866. BOOL   wpInsertMenuItems(HWND hwndMenu, 
  1867.         ULONG iPosition, 
  1868.         HMODULE hmod, 
  1869.         ULONG MenuID, 
  1870.         ULONG SubMenuID)
  1871. {
  1872.    return SOM_ResolveD(this,WPObject,WPObject,wpInsertMenuItems)
  1873.     (this,hwndMenu,iPosition,hmod,MenuID,SubMenuID);
  1874. }
  1875.  
  1876.  
  1877. /* method: wpInsertSettingsPage */
  1878. ULONG   wpInsertSettingsPage(HWND hwndNotebook, 
  1879.         PPAGEINFO ppageinfo)
  1880. {
  1881.    return SOM_ResolveD(this,WPObject,WPObject,wpInsertSettingsPage)
  1882.     (this,hwndNotebook,ppageinfo);
  1883. }
  1884.  
  1885.  
  1886. /* method: wpMenuItemHelpSelected */
  1887. BOOL   wpMenuItemHelpSelected(ULONG MenuId)
  1888. {
  1889.    return SOM_ResolveD(this,WPObject,WPObject,wpMenuItemHelpSelected)
  1890.     (this,MenuId);
  1891. }
  1892.  
  1893.  
  1894. /* method: wpMenuItemSelected */
  1895. BOOL   wpMenuItemSelected(HWND hwndFrame, 
  1896.         ULONG ulMenuId)
  1897. {
  1898.    return SOM_ResolveD(this,WPObject,WPObject,wpMenuItemSelected)
  1899.     (this,hwndFrame,ulMenuId);
  1900. }
  1901.  
  1902.  
  1903. /* method: wpModifyPopupMenu */
  1904. BOOL   wpModifyPopupMenu(HWND hwndMenu, 
  1905.         HWND hwndCnr, 
  1906.         ULONG iPosition)
  1907. {
  1908.    return SOM_ResolveD(this,WPObject,WPObject,wpModifyPopupMenu)
  1909.     (this,hwndMenu,hwndCnr,iPosition);
  1910. }
  1911.  
  1912.  
  1913. /* method: wpModifyMenu */
  1914. BOOL   wpModifyMenu(HWND hwndMenu, 
  1915.         HWND hwndCnr, 
  1916.         ULONG iPosition, 
  1917.         ULONG ulMenuType, 
  1918.         ULONG ulView, 
  1919.         ULONG ulReserved)
  1920. {
  1921.    return SOM_ResolveD(this,WPObject,WPObject,wpModifyMenu)
  1922.     (this,hwndMenu,hwndCnr,iPosition,ulMenuType,ulView,ulReserved);
  1923. }
  1924.  
  1925.  
  1926. /* method: wpMoveObject */
  1927. BOOL   wpMoveObject(WPFolder* Folder)
  1928. {
  1929.    return SOM_ResolveD(this,WPObject,WPObject,wpMoveObject)
  1930.     (this,Folder);
  1931. }
  1932.  
  1933.  
  1934. /* method: wpOpen */
  1935. HWND   wpOpen(HWND hwndCnr, 
  1936.         ULONG ulView, 
  1937.         ULONG param)
  1938. {
  1939.    return SOM_ResolveD(this,WPObject,WPObject,wpOpen)
  1940.     (this,hwndCnr,ulView,param);
  1941. }
  1942.  
  1943.  
  1944. /* method: wpPrintObject */
  1945. BOOL   wpPrintObject(PPRINTDEST pPrintDest, 
  1946.         ULONG ulReserved)
  1947. {
  1948.    return SOM_ResolveD(this,WPObject,WPObject,wpPrintObject)
  1949.     (this,pPrintDest,ulReserved);
  1950. }
  1951.  
  1952.  
  1953. /* method: wpQueryConcurrentView */
  1954. ULONG   wpQueryConcurrentView()
  1955. {
  1956.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryConcurrentView)
  1957.     (this);
  1958. }
  1959.  
  1960.  
  1961. /* method: wpQueryButtonAppearance */
  1962. ULONG   wpQueryButtonAppearance()
  1963. {
  1964.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryButtonAppearance)
  1965.     (this);
  1966. }
  1967.  
  1968.  
  1969. /* method: wpQueryConfirmations */
  1970. ULONG   wpQueryConfirmations()
  1971. {
  1972.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryConfirmations)
  1973.     (this);
  1974. }
  1975.  
  1976.  
  1977. /* method: wpQueryDefaultHelp */
  1978. BOOL   wpQueryDefaultHelp(PULONG pHelpPanelId, 
  1979.         PSZ HelpLibrary)
  1980. {
  1981.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDefaultHelp)
  1982.     (this,pHelpPanelId,HelpLibrary);
  1983. }
  1984.  
  1985.  
  1986. /* method: wpQueryDefaultView */
  1987. ULONG   wpQueryDefaultView()
  1988. {
  1989.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDefaultView)
  1990.     (this);
  1991. }
  1992.  
  1993.  
  1994. /* method: wpQueryDetailsData */
  1995. ULONG   wpQueryDetailsData(PVOID* ppDetailsData, 
  1996.         PULONG pcp)
  1997. {
  1998.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDetailsData)
  1999.     (this,ppDetailsData,pcp);
  2000. }
  2001.  
  2002.  
  2003. /* method: wpQueryError */
  2004. ULONG   wpQueryError()
  2005. {
  2006.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryError)
  2007.     (this);
  2008. }
  2009.  
  2010.  
  2011. /* method: wpSetFolder */
  2012. BOOL   wpSetFolder(WPObject* container)
  2013. {
  2014.    return SOM_ResolveD(this,WPObject,WPObject,wpSetFolder)
  2015.     (this,container);
  2016. }
  2017.  
  2018.  
  2019. /* method: wpQueryFolder */
  2020. WPObject*   wpQueryFolder()
  2021. {
  2022.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryFolder)
  2023.     (this);
  2024. }
  2025.  
  2026.  
  2027. /* method: wpQueryIcon */
  2028. HPOINTER   wpQueryIcon()
  2029. {
  2030.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryIcon)
  2031.     (this);
  2032. }
  2033.  
  2034.  
  2035. /* method: wpQueryIconData */
  2036. ULONG   wpQueryIconData(PICONINFO pIconInfo)
  2037. {
  2038.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryIconData)
  2039.     (this,pIconInfo);
  2040. }
  2041.  
  2042.  
  2043. /* method: wpQueryMinWindow */
  2044. ULONG   wpQueryMinWindow()
  2045. {
  2046.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryMinWindow)
  2047.     (this);
  2048. }
  2049.  
  2050.  
  2051. /* method: wpQueryNameClashOptions */
  2052. ULONG   wpQueryNameClashOptions(ULONG menuID)
  2053. {
  2054.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryNameClashOptions)
  2055.     (this,menuID);
  2056. }
  2057.  
  2058.  
  2059. /* method: wpQueryStyle */
  2060. ULONG   wpQueryStyle()
  2061. {
  2062.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryStyle)
  2063.     (this);
  2064. }
  2065.  
  2066.  
  2067. /* method: wpSetTaskRec */
  2068. BOOL32   wpSetTaskRec(PTASKREC pNew, 
  2069.         PTASKREC pOld)
  2070. {
  2071.    return SOM_ResolveD(this,WPObject,WPObject,wpSetTaskRec)
  2072.     (this,pNew,pOld);
  2073. }
  2074.  
  2075.  
  2076. /* method: wpFindTaskRec */
  2077. PTASKREC   wpFindTaskRec()
  2078. {
  2079.    return SOM_ResolveD(this,WPObject,WPObject,wpFindTaskRec)
  2080.     (this);
  2081. }
  2082.  
  2083.  
  2084. /* method: wpQueryTitle */
  2085. PSZ   wpQueryTitle()
  2086. {
  2087.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryTitle)
  2088.     (this);
  2089. }
  2090.  
  2091.  
  2092. /* method: wpRegisterView */
  2093. BOOL   wpRegisterView(HWND hwndFrame, 
  2094.         PSZ pszViewTitle)
  2095. {
  2096.    return SOM_ResolveD(this,WPObject,WPObject,wpRegisterView)
  2097.     (this,hwndFrame,pszViewTitle);
  2098. }
  2099.  
  2100.  
  2101. /* method: wpReleaseObjectMutexSem */
  2102. ULONG   wpReleaseObjectMutexSem()
  2103. {
  2104.    return SOM_ResolveD(this,WPObject,WPObject,wpReleaseObjectMutexSem)
  2105.     (this);
  2106. }
  2107.  
  2108.  
  2109. /* method: wpRender */
  2110. MRESULT   wpRender(PDRAGTRANSFER pdxfer)
  2111. {
  2112.    return SOM_ResolveD(this,WPObject,WPObject,wpRender)
  2113.     (this,pdxfer);
  2114. }
  2115.  
  2116.  
  2117. /* method: wpRenderComplete */
  2118. MRESULT   wpRenderComplete(PDRAGTRANSFER pdxfer, 
  2119.         ULONG ulResult)
  2120. {
  2121.    return SOM_ResolveD(this,WPObject,WPObject,wpRenderComplete)
  2122.     (this,pdxfer,ulResult);
  2123. }
  2124.  
  2125.  
  2126. /* method: wpReplaceObject */
  2127. BOOL32   wpReplaceObject(WPObject* targetObject, 
  2128.         BOOL32 fMove)
  2129. {
  2130.    return SOM_ResolveD(this,WPObject,WPObject,wpReplaceObject)
  2131.     (this,targetObject,fMove);
  2132. }
  2133.  
  2134.  
  2135. /* method: wpRequestObjectMutexSem */
  2136. ULONG   wpRequestObjectMutexSem(ULONG ulTimeout)
  2137. {
  2138.    return SOM_ResolveD(this,WPObject,WPObject,wpRequestObjectMutexSem)
  2139.     (this,ulTimeout);
  2140. }
  2141.  
  2142.  
  2143. /* method: wpRestore */
  2144. BOOL   wpRestore()
  2145. {
  2146.    return SOM_ResolveD(this,WPObject,WPObject,wpRestore)
  2147.     (this);
  2148. }
  2149.  
  2150.  
  2151. /* method: wpRestoreData */
  2152. BOOL   wpRestoreData(PSZ pszClass, 
  2153.         ULONG ulKey, 
  2154.         PBYTE pValue, 
  2155.         PULONG pcbValue)
  2156. {
  2157.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreData)
  2158.     (this,pszClass,ulKey,pValue,pcbValue);
  2159. }
  2160.  
  2161.  
  2162. /* method: wpRestoreLong */
  2163. BOOL   wpRestoreLong(PSZ pszClass, 
  2164.         ULONG ulKey, 
  2165.         PULONG pulValue)
  2166. {
  2167.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreLong)
  2168.     (this,pszClass,ulKey,pulValue);
  2169. }
  2170.  
  2171.  
  2172. /* method: wpRestoreState */
  2173. BOOL   wpRestoreState(ULONG ulReserved)
  2174. {
  2175.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreState)
  2176.     (this,ulReserved);
  2177. }
  2178.  
  2179.  
  2180. /* method: wpRestoreString */
  2181. BOOL   wpRestoreString(PSZ pszClass, 
  2182.         ULONG ulKey, 
  2183.         PSZ pszValue, 
  2184.         PULONG pcbValue)
  2185. {
  2186.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreString)
  2187.     (this,pszClass,ulKey,pszValue,pcbValue);
  2188. }
  2189.  
  2190.  
  2191. /* method: wpSaveData */
  2192. BOOL   wpSaveData(PSZ pszClass, 
  2193.         ULONG ulKey, 
  2194.         PBYTE pValue, 
  2195.         ULONG cbValue)
  2196. {
  2197.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveData)
  2198.     (this,pszClass,ulKey,pValue,cbValue);
  2199. }
  2200.  
  2201.  
  2202. /* method: wpSaveImmediate */
  2203. BOOL   wpSaveImmediate()
  2204. {
  2205.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveImmediate)
  2206.     (this);
  2207. }
  2208.  
  2209.  
  2210. /* method: wpSaveDeferred */
  2211. BOOL   wpSaveDeferred()
  2212. {
  2213.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveDeferred)
  2214.     (this);
  2215. }
  2216.  
  2217.  
  2218. /* method: wpSaveLong */
  2219. BOOL   wpSaveLong(PSZ pszClass, 
  2220.         ULONG ulKey, 
  2221.         ULONG ulValue)
  2222. {
  2223.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveLong)
  2224.     (this,pszClass,ulKey,ulValue);
  2225. }
  2226.  
  2227.  
  2228. /* method: wpSaveState */
  2229. BOOL   wpSaveState()
  2230. {
  2231.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveState)
  2232.     (this);
  2233. }
  2234.  
  2235.  
  2236. /* method: wpSaveString */
  2237. BOOL   wpSaveString(PSZ pszClass, 
  2238.         ULONG ulKey, 
  2239.         PSZ pszValue)
  2240. {
  2241.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveString)
  2242.     (this,pszClass,ulKey,pszValue);
  2243. }
  2244.  
  2245.  
  2246. /* method: wpScanSetupString */
  2247. BOOL   wpScanSetupString(PSZ pszSetupString, 
  2248.         PSZ pszKey, 
  2249.         PSZ pszValue, 
  2250.         PULONG pcbValue)
  2251. {
  2252.    return SOM_ResolveD(this,WPObject,WPObject,wpScanSetupString)
  2253.     (this,pszSetupString,pszKey,pszValue,pcbValue);
  2254. }
  2255.  
  2256.  
  2257. /* method: wpSetConcurrentView */
  2258. void   wpSetConcurrentView(ULONG ulCCView)
  2259. {
  2260.    SOM_ResolveD(this,WPObject,WPObject,wpSetConcurrentView)
  2261.     (this,ulCCView);
  2262. }
  2263.  
  2264.  
  2265. /* method: wpSetButtonAppearance */
  2266. void   wpSetButtonAppearance(ULONG ulButtonType)
  2267. {
  2268.    SOM_ResolveD(this,WPObject,WPObject,wpSetButtonAppearance)
  2269.     (this,ulButtonType);
  2270. }
  2271.  
  2272.  
  2273. /* method: wpSetDefaultHelp */
  2274. BOOL   wpSetDefaultHelp(ULONG HelpPanelId, 
  2275.         PSZ HelpLibrary)
  2276. {
  2277.    return SOM_ResolveD(this,WPObject,WPObject,wpSetDefaultHelp)
  2278.     (this,HelpPanelId,HelpLibrary);
  2279. }
  2280.  
  2281.  
  2282. /* method: wpSetDefaultView */
  2283. BOOL   wpSetDefaultView(ULONG ulView)
  2284. {
  2285.    return SOM_ResolveD(this,WPObject,WPObject,wpSetDefaultView)
  2286.     (this,ulView);
  2287. }
  2288.  
  2289.  
  2290. /* method: wpSetError */
  2291. BOOL   wpSetError(ULONG ulErrorId)
  2292. {
  2293.    return SOM_ResolveD(this,WPObject,WPObject,wpSetError)
  2294.     (this,ulErrorId);
  2295. }
  2296.  
  2297.  
  2298. /* method: wpQueryScreenGroupID */
  2299. SGID   wpQueryScreenGroupID(SGID sgidPrevSgId)
  2300. {
  2301.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryScreenGroupID)
  2302.     (this,sgidPrevSgId);
  2303. }
  2304.  
  2305.  
  2306. /* method: wpSetupOnce */
  2307. BOOL   wpSetupOnce(PSZ pszSetupString)
  2308. {
  2309.    return SOM_ResolveD(this,WPObject,WPObject,wpSetupOnce)
  2310.     (this,pszSetupString);
  2311. }
  2312.  
  2313.  
  2314. /* method: wpSetIcon */
  2315. BOOL   wpSetIcon(HPOINTER hptrNewIcon)
  2316. {
  2317.    return SOM_ResolveD(this,WPObject,WPObject,wpSetIcon)
  2318.     (this,hptrNewIcon);
  2319. }
  2320.  
  2321.  
  2322. /* method: wpSetIconData */
  2323. BOOL   wpSetIconData(PICONINFO pIconInfo)
  2324. {
  2325.    return SOM_ResolveD(this,WPObject,WPObject,wpSetIconData)
  2326.     (this,pIconInfo);
  2327. }
  2328.  
  2329.  
  2330. /* method: wpSetMinWindow */
  2331. void   wpSetMinWindow(ULONG ulMinWindow)
  2332. {
  2333.    SOM_ResolveD(this,WPObject,WPObject,wpSetMinWindow)
  2334.     (this,ulMinWindow);
  2335. }
  2336.  
  2337.  
  2338. /* method: wpModifyStyle */
  2339. BOOL   wpModifyStyle(ULONG ulStyleFlags, 
  2340.         ULONG ulStyleMask)
  2341. {
  2342.    return SOM_ResolveD(this,WPObject,WPObject,wpModifyStyle)
  2343.     (this,ulStyleFlags,ulStyleMask);
  2344. }
  2345.  
  2346.  
  2347. /* method: wpSetTitle */
  2348. BOOL   wpSetTitle(PSZ pszNewTitle)
  2349. {
  2350.    return SOM_ResolveD(this,WPObject,WPObject,wpSetTitle)
  2351.     (this,pszNewTitle);
  2352. }
  2353.  
  2354.  
  2355. /* method: wpSetup */
  2356. BOOL   wpSetup(PSZ pszSetupString)
  2357. {
  2358.    return SOM_ResolveD(this,WPObject,WPObject,wpSetup)
  2359.     (this,pszSetupString);
  2360. }
  2361.  
  2362.  
  2363. /* method: wpSwitchTo */
  2364. BOOL   wpSwitchTo(ULONG View)
  2365. {
  2366.    return SOM_ResolveD(this,WPObject,WPObject,wpSwitchTo)
  2367.     (this,View);
  2368. }
  2369.  
  2370.  
  2371. /* method: wpUnInitData */
  2372. void   wpUnInitData()
  2373. {
  2374.    SOM_ResolveD(this,WPObject,WPObject,wpUnInitData)
  2375.     (this);
  2376. }
  2377.  
  2378.  
  2379. /* method: wpViewObject */
  2380. HWND   wpViewObject(HWND hwndCnr, 
  2381.         ULONG ulView, 
  2382.         ULONG param)
  2383. {
  2384.    return SOM_ResolveD(this,WPObject,WPObject,wpViewObject)
  2385.     (this,hwndCnr,ulView,param);
  2386. }
  2387.  
  2388.  
  2389. /* procedure: wpQueryTrueStyle */
  2390. static ULONG   wpQueryTrueStyle(WPObject *somSelf)
  2391. {
  2392.    return ((somTD_WPObject_wpQueryTrueStyle)WPObjectClassData.wpQueryTrueStyle)
  2393.     (somSelf);
  2394. }
  2395.  
  2396.  
  2397. /* method: wpQueryHandle */
  2398. HOBJECT   wpQueryHandle()
  2399. {
  2400.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryHandle)
  2401.     (this);
  2402. }
  2403.  
  2404.  
  2405. /* method: wpUnlockObject */
  2406. BOOL   wpUnlockObject()
  2407. {
  2408.    return SOM_ResolveD(this,WPObject,WPObject,wpUnlockObject)
  2409.     (this);
  2410. }
  2411.  
  2412.  
  2413. /* method: wpObjectReady */
  2414. void   wpObjectReady(ULONG ulCode, 
  2415.         WPObject* refObject)
  2416. {
  2417.    SOM_ResolveD(this,WPObject,WPObject,wpObjectReady)
  2418.     (this,ulCode,refObject);
  2419. }
  2420.  
  2421.  
  2422. /* method: wpIsObjectInitialized */
  2423. BOOL   wpIsObjectInitialized()
  2424. {
  2425.    return SOM_ResolveD(this,WPObject,WPObject,wpIsObjectInitialized)
  2426.     (this);
  2427. }
  2428.  
  2429.  
  2430. /* method: wpCreateShadowObjectExt */
  2431. WPObject*   wpCreateShadowObjectExt(WPFolder* Folder, 
  2432.         BOOL fLock, 
  2433.         PSZ pszSetup, 
  2434.         M_WPObject* shadowClass)
  2435. {
  2436.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateShadowObjectExt)
  2437.     (this,Folder,fLock,pszSetup,shadowClass);
  2438. }
  2439.  
  2440.  
  2441. /* method: wpCnrDeleteUseItem */
  2442. BOOL   wpCnrDeleteUseItem(HWND hwndCnr)
  2443. {
  2444.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrDeleteUseItem)
  2445.     (this,hwndCnr);
  2446. }
  2447.  
  2448.  
  2449. /* method: wpIsDeleteable */
  2450. BOOL   wpIsDeleteable()
  2451. {
  2452.    return SOM_ResolveD(this,WPObject,WPObject,wpIsDeleteable)
  2453.     (this);
  2454. }
  2455.  
  2456.  
  2457. /* method: wpQueryCoreRecord */
  2458. PMINIRECORDCORE   wpQueryCoreRecord()
  2459. {
  2460.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryCoreRecord)
  2461.     (this);
  2462. }
  2463.  
  2464.  
  2465. /* method: wpSetObjectID */
  2466. BOOL   wpSetObjectID(PSZ pszObjectID)
  2467. {
  2468.    return SOM_ResolveD(this,WPObject,WPObject,wpSetObjectID)
  2469.     (this,pszObjectID);
  2470. }
  2471.  
  2472.  
  2473. /* method: wpQueryObjectID */
  2474. PSZ   wpQueryObjectID()
  2475. {
  2476.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryObjectID)
  2477.     (this);
  2478. }
  2479.  
  2480.  
  2481. /* method: wpSetDefaultIconPos */
  2482. BOOL   wpSetDefaultIconPos(PPOINTL pPointl)
  2483. {
  2484.    return SOM_ResolveD(this,WPObject,WPObject,wpSetDefaultIconPos)
  2485.     (this,pPointl);
  2486. }
  2487.  
  2488.  
  2489. /* method: wpQueryDefaultIconPos */
  2490. BOOL   wpQueryDefaultIconPos(PPOINTL pPointl)
  2491. {
  2492.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDefaultIconPos)
  2493.     (this,pPointl);
  2494. }
  2495.  
  2496.  
  2497. /* method: wpCnrRefreshDetails */
  2498. void   wpCnrRefreshDetails()
  2499. {
  2500.    SOM_ResolveD(this,WPObject,WPObject,wpCnrRefreshDetails)
  2501.     (this);
  2502. }
  2503.  
  2504.  
  2505. /* method: wpFindViewItem */
  2506. PVIEWITEM   wpFindViewItem(ULONG flViews, 
  2507.         PVIEWITEM pCurrentItem)
  2508. {
  2509.    return SOM_ResolveD(this,WPObject,WPObject,wpFindViewItem)
  2510.     (this,flViews,pCurrentItem);
  2511. }
  2512.  
  2513.  
  2514. /* method: wpLockObject */
  2515. void   wpLockObject()
  2516. {
  2517.    SOM_ResolveD(this,WPObject,WPObject,wpLockObject)
  2518.     (this);
  2519. }
  2520.  
  2521.  
  2522. /* method: wpIsLocked */
  2523. BOOL   wpIsLocked()
  2524. {
  2525.    return SOM_ResolveD(this,WPObject,WPObject,wpIsLocked)
  2526.     (this);
  2527. }
  2528.  
  2529.  
  2530. /* method: wpQueryContainerFlagPtr */
  2531. PULONG   wpQueryContainerFlagPtr()
  2532. {
  2533.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryContainerFlagPtr)
  2534.     (this);
  2535. }
  2536.  
  2537.  
  2538. /* method: wpWaitForClose */
  2539. ULONG   wpWaitForClose(LHANDLE lhView, 
  2540.         ULONG ulViews, 
  2541.         long lTimeOut, 
  2542.         BOOL bAutoClose)
  2543. {
  2544.    return SOM_ResolveD(this,WPObject,WPObject,wpWaitForClose)
  2545.     (this,lhView,ulViews,lTimeOut,bAutoClose);
  2546. }
  2547.  
  2548.  
  2549. /* method: wpSetMenuStyle */
  2550. BOOL   wpSetMenuStyle(ULONG ulStyle)
  2551. {
  2552.    return SOM_ResolveD(this,WPObject,WPObject,wpSetMenuStyle)
  2553.     (this,ulStyle);
  2554. }
  2555.  
  2556.  
  2557. /* method: wpQueryMenuStyle */
  2558. ULONG   wpQueryMenuStyle()
  2559. {
  2560.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryMenuStyle)
  2561.     (this);
  2562. }
  2563.  
  2564.  
  2565. /* method: wpIdentify */
  2566. BOOL   wpIdentify(PSZ pszIdentity)
  2567. {
  2568.    return SOM_ResolveD(this,WPObject,WPObject,wpIdentify)
  2569.     (this,pszIdentity);
  2570. }
  2571.  
  2572.  
  2573. /* method: wpSetStyle */
  2574. BOOL   wpSetStyle(ULONG ulNewStyle)
  2575. {
  2576.    return SOM_ResolveD(this,WPObject,WPObject,wpSetStyle)
  2577.     (this,ulNewStyle);
  2578. }
  2579.  
  2580.  
  2581. /*
  2582.  * Reintroduce inherited methods
  2583.  */
  2584.  
  2585. /* method: somGetClass */
  2586. M_WPObject*  somGetClass()
  2587. {
  2588. /*
  2589.  *  Return the receiver's class.
  2590.  */
  2591.    return SOM_ResolveD(this,WPObject,SOMObject,somGetClass)
  2592.     (this);
  2593. }
  2594.  
  2595.  
  2596.  
  2597. };   /* WPObject */
  2598.  
  2599.  
  2600.  
  2601. #endif       /* SOM_WPObject_xh */
  2602.  
  2603. #ifndef SOM_M_WPObject_xh
  2604. #define SOM_M_WPObject_xh
  2605.  
  2606. class M_WPObject;
  2607.  
  2608. #define M_WPObject_MajorVersion 1
  2609. #define M_WPObject_MinorVersion 2
  2610.  
  2611. /* C++ SOM defs */
  2612. #include <somcls.xh>
  2613. #include <somcm.xh>
  2614.  
  2615. /* C++ parent defs */
  2616. #ifndef SOM_SOMClass_xh
  2617. #include <somcls.xh>
  2618. #endif
  2619.  
  2620. #ifndef M_WPObject_API
  2621. #define M_WPObject_API
  2622. /*
  2623.  * -- The Class API
  2624.  */
  2625.  
  2626. /*
  2627.  * Start of bindings for IDL types
  2628.  */
  2629.  
  2630.  
  2631. /*
  2632.  * End of bindings for IDL types.
  2633.  */
  2634.  
  2635. /*
  2636.  * -- M_WPObject is a metaclass for WPObject. Make sure WPObject is known.
  2637.  */
  2638. class WPObject;
  2639.  
  2640.  
  2641. /* A procedure to create the M_WPObject Class */
  2642. SOMEXTERN SOMClass * SOMLINK M_WPObjectNewClass(
  2643.         integer4 majorVersion,
  2644.         integer4 minorVersion);
  2645.  
  2646. /* The API to the M_WPObject class object, and the methods it introduces. */
  2647. SOMEXTERN struct M_WPObjectClassDataStructure {
  2648.     SOMClass *classObject;
  2649.     somMToken wpclsInitData;
  2650.     somMToken wpclsUnInitData;
  2651.     somMToken withdrawn8;
  2652.     somMToken wpclsMakeAwake;
  2653.     somMToken wpclsIncUsage;
  2654.     somMToken wpclsDecUsage;
  2655.     somMToken wpclsQueryTitle;
  2656.     somMToken wpclsQueryIcon;
  2657.     somMToken wpclsQueryDefaultHelp;
  2658.     somMToken wpclsQueryStyle;
  2659.     somMToken wpclsQueryDetailsInfo;
  2660.     somMToken wpclsQueryDefaultView;
  2661.     somMToken wpclsQueryDetails;
  2662.     somMToken wpclsQuerySearchInfo;
  2663.     somMToken wpclsQueryExtendedCriteria;
  2664.     somMToken wpclsCreateDefaultTemplates;
  2665.     somMToken withdrawn9;
  2666.     somMToken wpclsFindObjectFirst;
  2667.     somMToken wpclsFindObjectNext;
  2668.     somMToken wpclsFindObjectEnd;
  2669.     somMToken wpclsObjectPrivate1;
  2670.     somMToken wpclsSetError;
  2671.     somMToken wpclsQueryError;
  2672.     somMToken wpclsQuerySettingsPageSize;
  2673.     somMToken wpclsSetSettingsPageSize;
  2674.     somMToken wpclsQueryIconData;
  2675.     somMToken wpclsSetIcon;
  2676.     somMToken wpclsSetIconData;
  2677.     somMToken wpclsQueryObject;
  2678.     somMToken wpclsObjectFromHandle;
  2679.     somMToken wpclsObjectPrivate2;
  2680.     somMToken wpclsObjectPrivate3;
  2681.     somMToken wpclsObjectPrivate4;
  2682.     somMToken wpclsObjectPrivate5;
  2683.     somMToken wpclsObjectPrivate6;
  2684.     somMToken wpclsQueryButtonAppearance;
  2685.     somMToken wpclsNew;
  2686.     somMToken wpclsQueryFolder;
  2687.     somMToken wpclsObjectPrivate7;
  2688.     somMToken wpclsObjectPrivate8;
  2689.     somMToken wpclsRemoveObjects;
  2690.     somMToken wpclsInsertMultipleObjects;
  2691.     somMToken wpclsObjectPrivate9;
  2692.     somMToken wpclsFindOneObject;
  2693.     somMToken wpclsObjectPrivate10;
  2694. } SOMDLINK M_WPObjectClassData;
  2695. #define _M_WPObject M_WPObjectClassData.classObject
  2696.  
  2697. /* The API to parentMtabs for M_WPObject, and the instance data it introduces. */
  2698. SOMEXTERN struct M_WPObjectCClassDataStructure {
  2699.     somMethodTabs parentMtab;
  2700.     somDToken              instanceDataToken;
  2701. } SOMDLINK M_WPObjectCClassData;
  2702.  
  2703. /*
  2704.  * -- Typedefs for M_WPObject Method Procedures
  2705.  */
  2706. SOMEXTERN {
  2707. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsCreateDefaultTemplates(M_WPObject *somSelf, 
  2708.         WPObject* Folder);
  2709. typedef somTP_M_WPObject_wpclsCreateDefaultTemplates *somTD_M_WPObject_wpclsCreateDefaultTemplates;
  2710. typedef void   SOMLINK somTP_M_WPObject_wpclsInitData(M_WPObject *somSelf);
  2711. typedef somTP_M_WPObject_wpclsInitData *somTD_M_WPObject_wpclsInitData;
  2712. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsMakeAwake(M_WPObject *somSelf, 
  2713.         PSZ pszTitle, 
  2714.         ULONG ulStyle, 
  2715.         HPOINTER hptrIcon, 
  2716.         POBJDATA pObjData, 
  2717.         WPFolder* Folder, 
  2718.         ULONG ulUser);
  2719. typedef somTP_M_WPObject_wpclsMakeAwake *somTD_M_WPObject_wpclsMakeAwake;
  2720. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsNew(M_WPObject *somSelf, 
  2721.         PSZ pszTitle, 
  2722.         PSZ pszSetupEnv, 
  2723.         WPFolder* Folder, 
  2724.         BOOL fLock);
  2725. typedef somTP_M_WPObject_wpclsNew *somTD_M_WPObject_wpclsNew;
  2726. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQueryDefaultHelp(M_WPObject *somSelf, 
  2727.         PULONG pHelpPanelId, 
  2728.         PSZ pszHelpLibrary);
  2729. typedef somTP_M_WPObject_wpclsQueryDefaultHelp *somTD_M_WPObject_wpclsQueryDefaultHelp;
  2730. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryDefaultView(M_WPObject *somSelf);
  2731. typedef somTP_M_WPObject_wpclsQueryDefaultView *somTD_M_WPObject_wpclsQueryDefaultView;
  2732. typedef PCLASSDETAILS   SOMLINK somTP_M_WPObject_wpclsQueryDetails(M_WPObject *somSelf);
  2733. typedef somTP_M_WPObject_wpclsQueryDetails *somTD_M_WPObject_wpclsQueryDetails;
  2734. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryDetailsInfo(M_WPObject *somSelf, 
  2735.         PCLASSFIELDINFO* ppClassFieldInfo, 
  2736.         PULONG pSize);
  2737. typedef somTP_M_WPObject_wpclsQueryDetailsInfo *somTD_M_WPObject_wpclsQueryDetailsInfo;
  2738. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQueryExtendedCriteria(M_WPObject *somSelf, 
  2739.         PSZ pszName, 
  2740.         ULONG ulSearchType, 
  2741.         PVOID pvoidExtendedCriteria);
  2742. typedef somTP_M_WPObject_wpclsQueryExtendedCriteria *somTD_M_WPObject_wpclsQueryExtendedCriteria;
  2743. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsQueryFolder(M_WPObject *somSelf, 
  2744.         PSZ pszLocation, 
  2745.         BOOL fLock);
  2746. typedef somTP_M_WPObject_wpclsQueryFolder *somTD_M_WPObject_wpclsQueryFolder;
  2747. typedef HPOINTER   SOMLINK somTP_M_WPObject_wpclsQueryIcon(M_WPObject *somSelf);
  2748. typedef somTP_M_WPObject_wpclsQueryIcon *somTD_M_WPObject_wpclsQueryIcon;
  2749. typedef void   SOMLINK somTP_M_WPObject_wpclsQuerySearchInfo(M_WPObject *somSelf, 
  2750.         M_WPObject** ClassExtended, 
  2751.         M_WPObject** ClassCreate, 
  2752.         PULONG pulClassCriteriaSize);
  2753. typedef somTP_M_WPObject_wpclsQuerySearchInfo *somTD_M_WPObject_wpclsQuerySearchInfo;
  2754. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryStyle(M_WPObject *somSelf);
  2755. typedef somTP_M_WPObject_wpclsQueryStyle *somTD_M_WPObject_wpclsQueryStyle;
  2756. typedef PSZ   SOMLINK somTP_M_WPObject_wpclsQueryTitle(M_WPObject *somSelf);
  2757. typedef somTP_M_WPObject_wpclsQueryTitle *somTD_M_WPObject_wpclsQueryTitle;
  2758. typedef void   SOMLINK somTP_M_WPObject_wpclsUnInitData(M_WPObject *somSelf);
  2759. typedef somTP_M_WPObject_wpclsUnInitData *somTD_M_WPObject_wpclsUnInitData;
  2760. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectFirst(M_WPObject *somSelf, 
  2761.         PCLASS pClassList, 
  2762.         PHFIND phFind, 
  2763.         PSZ pszTitle, 
  2764.         WPFolder* Folder, 
  2765.         BOOL fSubfolders, 
  2766.         PVOID pExtendedCriteria, 
  2767.         POBJECT pBuffer, 
  2768.         PULONG pCount);
  2769. typedef somTP_M_WPObject_wpclsFindObjectFirst *somTD_M_WPObject_wpclsFindObjectFirst;
  2770. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectNext(M_WPObject *somSelf, 
  2771.         HFIND hFind, 
  2772.         POBJECT pBuffer, 
  2773.         PULONG pCount);
  2774. typedef somTP_M_WPObject_wpclsFindObjectNext *somTD_M_WPObject_wpclsFindObjectNext;
  2775. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectEnd(M_WPObject *somSelf, 
  2776.         HFIND hFind);
  2777. typedef somTP_M_WPObject_wpclsFindObjectEnd *somTD_M_WPObject_wpclsFindObjectEnd;
  2778. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetError(M_WPObject *somSelf, 
  2779.         ULONG ulErrorId);
  2780. typedef somTP_M_WPObject_wpclsSetError *somTD_M_WPObject_wpclsSetError;
  2781. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryError(M_WPObject *somSelf);
  2782. typedef somTP_M_WPObject_wpclsQueryError *somTD_M_WPObject_wpclsQueryError;
  2783. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQuerySettingsPageSize(M_WPObject *somSelf, 
  2784.         PSIZEL pSizl);
  2785. typedef somTP_M_WPObject_wpclsQuerySettingsPageSize *somTD_M_WPObject_wpclsQuerySettingsPageSize;
  2786. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryIconData(M_WPObject *somSelf, 
  2787.         PICONINFO pIconInfo);
  2788. typedef somTP_M_WPObject_wpclsQueryIconData *somTD_M_WPObject_wpclsQueryIconData;
  2789. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsQueryObject(M_WPObject *somSelf, 
  2790.         HOBJECT hObject);
  2791. typedef somTP_M_WPObject_wpclsQueryObject *somTD_M_WPObject_wpclsQueryObject;
  2792. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryButtonAppearance(M_WPObject *somSelf);
  2793. typedef somTP_M_WPObject_wpclsQueryButtonAppearance *somTD_M_WPObject_wpclsQueryButtonAppearance;
  2794. typedef void   SOMLINK somTP_M_WPObject_wpclsDecUsage(M_WPObject *somSelf);
  2795. typedef somTP_M_WPObject_wpclsDecUsage *somTD_M_WPObject_wpclsDecUsage;
  2796. typedef void   SOMLINK somTP_M_WPObject_wpclsIncUsage(M_WPObject *somSelf);
  2797. typedef somTP_M_WPObject_wpclsIncUsage *somTD_M_WPObject_wpclsIncUsage;
  2798. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsInsertMultipleObjects(M_WPObject *somSelf, 
  2799.         HWND hwndCnr, 
  2800.         PPOINTL pptlIcon, 
  2801.         PVOID* pObjectArray, 
  2802.         PVOID pRecordParent, 
  2803.         ULONG NumRecords);
  2804. typedef somTP_M_WPObject_wpclsInsertMultipleObjects *somTD_M_WPObject_wpclsInsertMultipleObjects;
  2805. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsFindOneObject(M_WPObject *somSelf, 
  2806.         HWND hwndOwner, 
  2807.         PSZ pszFindParams);
  2808. typedef somTP_M_WPObject_wpclsFindOneObject *somTD_M_WPObject_wpclsFindOneObject;
  2809. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetSettingsPageSize(M_WPObject *somSelf, 
  2810.         PSIZEL pSizl);
  2811. typedef somTP_M_WPObject_wpclsSetSettingsPageSize *somTD_M_WPObject_wpclsSetSettingsPageSize;
  2812. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetIconData(M_WPObject *somSelf, 
  2813.         PICONINFO pIconInfo);
  2814. typedef somTP_M_WPObject_wpclsSetIconData *somTD_M_WPObject_wpclsSetIconData;
  2815. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetIcon(M_WPObject *somSelf, 
  2816.         HPOINTER hptrNewIcon);
  2817. typedef somTP_M_WPObject_wpclsSetIcon *somTD_M_WPObject_wpclsSetIcon;
  2818. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsObjectFromHandle(M_WPObject *somSelf, 
  2819.         HOBJECT hObject);
  2820. typedef somTP_M_WPObject_wpclsObjectFromHandle *somTD_M_WPObject_wpclsObjectFromHandle;
  2821. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsRemoveObjects(M_WPObject *somSelf, 
  2822.         HWND hwndCnr, 
  2823.         PVOID* pRecordArray, 
  2824.         ULONG NumRecords, 
  2825.         BOOL RemoveAll);
  2826. typedef somTP_M_WPObject_wpclsRemoveObjects *somTD_M_WPObject_wpclsRemoveObjects;
  2827.  
  2828. /*
  2829.  * -- Typedefs for Reintroduced Wrapper Methods
  2830.  */
  2831. typedef WPObject*   SOMLINK somTP_M_WPObject_somNew(M_WPObject *somSelf);
  2832. typedef somTP_M_WPObject_somNew *somTD_M_WPObject_somNew;
  2833. }
  2834.  
  2835. #endif /* M_WPObject_API */
  2836.  
  2837.  
  2838. /*
  2839.  * -- This emitter treats Method Tokens as Thunks by default.
  2840.  * -- Use the sc modifier "nothunks" to change this default
  2841.  */
  2842. #undef somresolve_
  2843. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  2844.  
  2845. /*
  2846.  * -- The C++ Wrapper Class for M_WPObject
  2847.  */
  2848. class M_WPObject : public SOMClass
  2849. {
  2850. public:
  2851.  
  2852. // M_WPObject::new creates the class object if necessary, and then uses somNewNoInit
  2853. // to allocate memory and create the object. Initialization is in ctors.
  2854. void *operator new(size_t)
  2855. {
  2856.    if (!_M_WPObject) M_WPObjectNewClass(M_WPObject_MajorVersion,M_WPObject_MinorVersion);
  2857.    return (void*)
  2858.       SOM_Resolve(_M_WPObject,SOMClass,somNewNoInit)
  2859.          ((SOMClass *)((void*)_M_WPObject));
  2860. }
  2861.  
  2862. // M_WPObject::delete uses somDestruct.
  2863. void operator delete(void * obj)
  2864. {
  2865.    if (obj && *(void**)obj) {
  2866.       SOM_Resolve(obj,SOMObject,somDestruct)
  2867.          ((SOMObject*)obj, 1, 0);
  2868.    }
  2869. }
  2870.  
  2871. M_WPObject& operator=(M_WPObject& fromObj)
  2872. {
  2873.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  2874.    return *this;
  2875. }
  2876.  
  2877. M_WPObject()
  2878. {
  2879.    if (*(void**)this != 
  2880.        ((somParentMtabStructPtr)
  2881.         (M_WPObjectCClassData.parentMtab))->mtab)
  2882.       return;
  2883.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  2884. }
  2885.  
  2886. M_WPObject(M_WPObject* fromObj)
  2887. {
  2888.    if (*(void**)this != 
  2889.        ((somParentMtabStructPtr)
  2890.         (M_WPObjectCClassData.parentMtab))->mtab)
  2891.       return;
  2892.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  2893. }
  2894.  
  2895. M_WPObject(const M_WPObject* fromObj)
  2896. {
  2897.    if (*(void**)this != 
  2898.        ((somParentMtabStructPtr)
  2899.         (M_WPObjectCClassData.parentMtab))->mtab)
  2900.       return;
  2901.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  2902. }
  2903.  
  2904.  
  2905. /* method: wpclsCreateDefaultTemplates */
  2906. BOOL   wpclsCreateDefaultTemplates(WPObject* Folder)
  2907. {
  2908.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsCreateDefaultTemplates)
  2909.     (this,Folder);
  2910. }
  2911.  
  2912.  
  2913. /* method: wpclsInitData */
  2914. void   wpclsInitData()
  2915. {
  2916.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsInitData)
  2917.     (this);
  2918. }
  2919.  
  2920.  
  2921. /* method: wpclsMakeAwake */
  2922. WPObject*   wpclsMakeAwake(PSZ pszTitle, 
  2923.         ULONG ulStyle, 
  2924.         HPOINTER hptrIcon, 
  2925.         POBJDATA pObjData, 
  2926.         WPFolder* Folder, 
  2927.         ULONG ulUser)
  2928. {
  2929.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsMakeAwake)
  2930.     (this,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser);
  2931. }
  2932.  
  2933.  
  2934. /* method: wpclsNew */
  2935. WPObject*   wpclsNew(PSZ pszTitle, 
  2936.         PSZ pszSetupEnv, 
  2937.         WPFolder* Folder, 
  2938.         BOOL fLock)
  2939. {
  2940.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsNew)
  2941.     (this,pszTitle,pszSetupEnv,Folder,fLock);
  2942. }
  2943.  
  2944.  
  2945. /* method: wpclsQueryDefaultHelp */
  2946. BOOL   wpclsQueryDefaultHelp(PULONG pHelpPanelId, 
  2947.         PSZ pszHelpLibrary)
  2948. {
  2949.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDefaultHelp)
  2950.     (this,pHelpPanelId,pszHelpLibrary);
  2951. }
  2952.  
  2953.  
  2954. /* method: wpclsQueryDefaultView */
  2955. ULONG   wpclsQueryDefaultView()
  2956. {
  2957.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDefaultView)
  2958.     (this);
  2959. }
  2960.  
  2961.  
  2962. /* method: wpclsQueryDetails */
  2963. PCLASSDETAILS   wpclsQueryDetails()
  2964. {
  2965.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDetails)
  2966.     (this);
  2967. }
  2968.  
  2969.  
  2970. /* method: wpclsQueryDetailsInfo */
  2971. ULONG   wpclsQueryDetailsInfo(PCLASSFIELDINFO* ppClassFieldInfo, 
  2972.         PULONG pSize)
  2973. {
  2974.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDetailsInfo)
  2975.     (this,ppClassFieldInfo,pSize);
  2976. }
  2977.  
  2978.  
  2979. /* method: wpclsQueryExtendedCriteria */
  2980. BOOL   wpclsQueryExtendedCriteria(PSZ pszName, 
  2981.         ULONG ulSearchType, 
  2982.         PVOID pvoidExtendedCriteria)
  2983. {
  2984.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryExtendedCriteria)
  2985.     (this,pszName,ulSearchType,pvoidExtendedCriteria);
  2986. }
  2987.  
  2988.  
  2989. /* method: wpclsQueryFolder */
  2990. WPObject*   wpclsQueryFolder(PSZ pszLocation, 
  2991.         BOOL fLock)
  2992. {
  2993.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryFolder)
  2994.     (this,pszLocation,fLock);
  2995. }
  2996.  
  2997.  
  2998. /* method: wpclsQueryIcon */
  2999. HPOINTER   wpclsQueryIcon()
  3000. {
  3001.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryIcon)
  3002.     (this);
  3003. }
  3004.  
  3005.  
  3006. /* method: wpclsQuerySearchInfo */
  3007. void   wpclsQuerySearchInfo(M_WPObject** ClassExtended, 
  3008.         M_WPObject** ClassCreate, 
  3009.         PULONG pulClassCriteriaSize)
  3010. {
  3011.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQuerySearchInfo)
  3012.     (this,ClassExtended,ClassCreate,pulClassCriteriaSize);
  3013. }
  3014.  
  3015.  
  3016. /* method: wpclsQueryStyle */
  3017. ULONG   wpclsQueryStyle()
  3018. {
  3019.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryStyle)
  3020.     (this);
  3021. }
  3022.  
  3023.  
  3024. /* method: wpclsQueryTitle */
  3025. PSZ   wpclsQueryTitle()
  3026. {
  3027.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryTitle)
  3028.     (this);
  3029. }
  3030.  
  3031.  
  3032. /* method: wpclsUnInitData */
  3033. void   wpclsUnInitData()
  3034. {
  3035.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsUnInitData)
  3036.     (this);
  3037. }
  3038.  
  3039.  
  3040. /* method: wpclsFindObjectFirst */
  3041. BOOL   wpclsFindObjectFirst(PCLASS pClassList, 
  3042.         PHFIND phFind, 
  3043.         PSZ pszTitle, 
  3044.         WPFolder* Folder, 
  3045.         BOOL fSubfolders, 
  3046.         PVOID pExtendedCriteria, 
  3047.         POBJECT pBuffer, 
  3048.         PULONG pCount)
  3049. {
  3050.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindObjectFirst)
  3051.     (this,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount);
  3052. }
  3053.  
  3054.  
  3055. /* method: wpclsFindObjectNext */
  3056. BOOL   wpclsFindObjectNext(HFIND hFind, 
  3057.         POBJECT pBuffer, 
  3058.         PULONG pCount)
  3059. {
  3060.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindObjectNext)
  3061.     (this,hFind,pBuffer,pCount);
  3062. }
  3063.  
  3064.  
  3065. /* method: wpclsFindObjectEnd */
  3066. BOOL   wpclsFindObjectEnd(HFIND hFind)
  3067. {
  3068.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindObjectEnd)
  3069.     (this,hFind);
  3070. }
  3071.  
  3072.  
  3073. /* method: wpclsSetError */
  3074. BOOL   wpclsSetError(ULONG ulErrorId)
  3075. {
  3076.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetError)
  3077.     (this,ulErrorId);
  3078. }
  3079.  
  3080.  
  3081. /* method: wpclsQueryError */
  3082. ULONG   wpclsQueryError()
  3083. {
  3084.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryError)
  3085.     (this);
  3086. }
  3087.  
  3088.  
  3089. /* method: wpclsQuerySettingsPageSize */
  3090. BOOL   wpclsQuerySettingsPageSize(PSIZEL pSizl)
  3091. {
  3092.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQuerySettingsPageSize)
  3093.     (this,pSizl);
  3094. }
  3095.  
  3096.  
  3097. /* method: wpclsQueryIconData */
  3098. ULONG   wpclsQueryIconData(PICONINFO pIconInfo)
  3099. {
  3100.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryIconData)
  3101.     (this,pIconInfo);
  3102. }
  3103.  
  3104.  
  3105. /* method: wpclsQueryObject */
  3106. WPObject*   wpclsQueryObject(HOBJECT hObject)
  3107. {
  3108.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryObject)
  3109.     (this,hObject);
  3110. }
  3111.  
  3112.  
  3113. /* method: wpclsQueryButtonAppearance */
  3114. ULONG   wpclsQueryButtonAppearance()
  3115. {
  3116.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryButtonAppearance)
  3117.     (this);
  3118. }
  3119.  
  3120.  
  3121. /* method: wpclsDecUsage */
  3122. void   wpclsDecUsage()
  3123. {
  3124.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsDecUsage)
  3125.     (this);
  3126. }
  3127.  
  3128.  
  3129. /* method: wpclsIncUsage */
  3130. void   wpclsIncUsage()
  3131. {
  3132.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsIncUsage)
  3133.     (this);
  3134. }
  3135.  
  3136.  
  3137. /* method: wpclsInsertMultipleObjects */
  3138. BOOL   wpclsInsertMultipleObjects(HWND hwndCnr, 
  3139.         PPOINTL pptlIcon, 
  3140.         PVOID* pObjectArray, 
  3141.         PVOID pRecordParent, 
  3142.         ULONG NumRecords)
  3143. {
  3144.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsInsertMultipleObjects)
  3145.     (this,hwndCnr,pptlIcon,pObjectArray,pRecordParent,NumRecords);
  3146. }
  3147.  
  3148.  
  3149. /* method: wpclsFindOneObject */
  3150. WPObject*   wpclsFindOneObject(HWND hwndOwner, 
  3151.         PSZ pszFindParams)
  3152. {
  3153.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindOneObject)
  3154.     (this,hwndOwner,pszFindParams);
  3155. }
  3156.  
  3157.  
  3158. /* method: wpclsSetSettingsPageSize */
  3159. BOOL   wpclsSetSettingsPageSize(PSIZEL pSizl)
  3160. {
  3161.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetSettingsPageSize)
  3162.     (this,pSizl);
  3163. }
  3164.  
  3165.  
  3166. /* method: wpclsSetIconData */
  3167. BOOL   wpclsSetIconData(PICONINFO pIconInfo)
  3168. {
  3169.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetIconData)
  3170.     (this,pIconInfo);
  3171. }
  3172.  
  3173.  
  3174. /* method: wpclsSetIcon */
  3175. BOOL   wpclsSetIcon(HPOINTER hptrNewIcon)
  3176. {
  3177.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetIcon)
  3178.     (this,hptrNewIcon);
  3179. }
  3180.  
  3181.  
  3182. /* method: wpclsObjectFromHandle */
  3183. WPObject*   wpclsObjectFromHandle(HOBJECT hObject)
  3184. {
  3185.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsObjectFromHandle)
  3186.     (this,hObject);
  3187. }
  3188.  
  3189.  
  3190. /* method: wpclsRemoveObjects */
  3191. BOOL   wpclsRemoveObjects(HWND hwndCnr, 
  3192.         PVOID* pRecordArray, 
  3193.         ULONG NumRecords, 
  3194.         BOOL RemoveAll)
  3195. {
  3196.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsRemoveObjects)
  3197.     (this,hwndCnr,pRecordArray,NumRecords,RemoveAll);
  3198. }
  3199.  
  3200.  
  3201. /*
  3202.  * Reintroduce inherited methods
  3203.  */
  3204.  
  3205. /* method: somNew */
  3206. WPObject*  somNew()
  3207. {
  3208. /*
  3209.  *  Uses SOMMalloc to allocate storage for a new instance of the
  3210.  *  receiving class, and then calls somRenewNoInitNoZero to load the
  3211.  *  new object's method table pointer. Then somDefaultInit is called to
  3212.  *  initialize the new object.  Note: If the instance is a class object,
  3213.  *  somInitMIClass must then be invoked to declare parents and
  3214.  *  initialize the class's instance method table. Upon failure, NULL
  3215.  *  is returned.
  3216.  */
  3217.    return SOM_ResolveD(this,M_WPObject,SOMClass,somNew)
  3218.     (this);
  3219. }
  3220.  
  3221.  
  3222.  
  3223. };   /* M_WPObject */
  3224.  
  3225.  
  3226.  
  3227. #endif       /* SOM_M_WPObject_xh */
  3228.