home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / warphead.zip / H / WPOBJECT.XH < prev    next >
Text File  |  1997-07-09  |  110KB  |  3,225 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. } SOMDLINK WPObjectClassData;
  1016. #define _WPObject WPObjectClassData.classObject
  1017.  
  1018. /* The API to parentMtabs for WPObject, and the instance data it introduces. */
  1019. SOMEXTERN struct WPObjectCClassDataStructure {
  1020.     somMethodTabs parentMtab;
  1021.     somDToken              instanceDataToken;
  1022. } SOMDLINK WPObjectCClassData;
  1023.  
  1024. /*
  1025.  * -- Typedefs for WPObject Method Procedures
  1026.  */
  1027. SOMEXTERN {
  1028. typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectGeneralPage(WPObject *somSelf, 
  1029.         HWND hwndNotebook);
  1030. typedef somTP_WPObject_wpAddObjectGeneralPage *somTD_WPObject_wpAddObjectGeneralPage;
  1031. typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectGeneralPage2(WPObject *somSelf, 
  1032.         HWND hwndNotebook);
  1033. typedef somTP_WPObject_wpAddObjectGeneralPage2 *somTD_WPObject_wpAddObjectGeneralPage2;
  1034. typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectWindowPage(WPObject *somSelf, 
  1035.         HWND hwndNotebook);
  1036. typedef somTP_WPObject_wpAddObjectWindowPage *somTD_WPObject_wpAddObjectWindowPage;
  1037. typedef BOOL   SOMLINK somTP_WPObject_wpAddSettingsPages(WPObject *somSelf, 
  1038.         HWND hwndNotebook);
  1039. typedef somTP_WPObject_wpAddSettingsPages *somTD_WPObject_wpAddSettingsPages;
  1040. typedef BOOL   SOMLINK somTP_WPObject_wpAddToObjUseList(WPObject *somSelf, 
  1041.         PUSEITEM pUseItem);
  1042. typedef somTP_WPObject_wpAddToObjUseList *somTD_WPObject_wpAddToObjUseList;
  1043. typedef PBYTE   SOMLINK somTP_WPObject_wpAllocMem(WPObject *somSelf, 
  1044.         ULONG cbBytes, 
  1045.         PULONG prc);
  1046. typedef somTP_WPObject_wpAllocMem *somTD_WPObject_wpAllocMem;
  1047. typedef BOOL32   SOMLINK somTP_WPObject_wpAppendObject(WPObject *somSelf, 
  1048.         WPObject* targetObject, 
  1049.         BOOL32 fMove);
  1050. typedef somTP_WPObject_wpAppendObject *somTD_WPObject_wpAppendObject;
  1051. typedef BOOL   SOMLINK somTP_WPObject_wpAssertObjectMutexSem(WPObject *somSelf);
  1052. typedef somTP_WPObject_wpAssertObjectMutexSem *somTD_WPObject_wpAssertObjectMutexSem;
  1053. typedef BOOL   SOMLINK somTP_WPObject_wpClose(WPObject *somSelf);
  1054. typedef somTP_WPObject_wpClose *somTD_WPObject_wpClose;
  1055. typedef PMINIRECORDCORE   SOMLINK somTP_WPObject_wpCnrInsertObject(WPObject *somSelf, 
  1056.         HWND hwndCnr, 
  1057.         PPOINTL pptlIcon, 
  1058.         PMINIRECORDCORE preccParent, 
  1059.         PRECORDINSERT pRecInsert);
  1060. typedef somTP_WPObject_wpCnrInsertObject *somTD_WPObject_wpCnrInsertObject;
  1061. typedef BOOL   SOMLINK somTP_WPObject_wpCnrRemoveObject(WPObject *somSelf, 
  1062.         HWND hwndCnr);
  1063. typedef somTP_WPObject_wpCnrRemoveObject *somTD_WPObject_wpCnrRemoveObject;
  1064. typedef BOOL   SOMLINK somTP_WPObject_wpCnrSetEmphasis(WPObject *somSelf, 
  1065.         ULONG ulEmphasisAttr, 
  1066.         BOOL fTurnOn);
  1067. typedef somTP_WPObject_wpCnrSetEmphasis *somTD_WPObject_wpCnrSetEmphasis;
  1068. typedef ULONG   SOMLINK somTP_WPObject_wpConfirmDelete(WPObject *somSelf, 
  1069.         ULONG fConfirmations);
  1070. typedef somTP_WPObject_wpConfirmDelete *somTD_WPObject_wpConfirmDelete;
  1071. typedef ULONG   SOMLINK somTP_WPObject_wpConfirmObjectTitle(WPObject *somSelf, 
  1072.         WPFolder* Folder, 
  1073.         WPObject** ppDuplicate, 
  1074.         PSZ pszTitle, 
  1075.         ULONG cbTitle, 
  1076.         ULONG menuID);
  1077. typedef somTP_WPObject_wpConfirmObjectTitle *somTD_WPObject_wpConfirmObjectTitle;
  1078. typedef void   SOMLINK somTP_WPObject_wpCopiedFromTemplate(WPObject *somSelf);
  1079. typedef somTP_WPObject_wpCopiedFromTemplate *somTD_WPObject_wpCopiedFromTemplate;
  1080. typedef WPObject*   SOMLINK somTP_WPObject_wpCopyObject(WPObject *somSelf, 
  1081.         WPFolder* Folder, 
  1082.         BOOL fLock);
  1083. typedef somTP_WPObject_wpCopyObject *somTD_WPObject_wpCopyObject;
  1084. typedef WPObject*   SOMLINK somTP_WPObject_wpCreateAnother(WPObject *somSelf, 
  1085.         PSZ pszTitle, 
  1086.         PSZ pszSetupEnv, 
  1087.         WPFolder* Folder);
  1088. typedef somTP_WPObject_wpCreateAnother *somTD_WPObject_wpCreateAnother;
  1089. typedef WPObject*   SOMLINK somTP_WPObject_wpCreateFromTemplate(WPObject *somSelf, 
  1090.         WPFolder* folder, 
  1091.         BOOL fLock);
  1092. typedef somTP_WPObject_wpCreateFromTemplate *somTD_WPObject_wpCreateFromTemplate;
  1093. typedef WPObject*   SOMLINK somTP_WPObject_wpCreateShadowObject(WPObject *somSelf, 
  1094.         WPFolder* Folder, 
  1095.         BOOL fLock);
  1096. typedef somTP_WPObject_wpCreateShadowObject *somTD_WPObject_wpCreateShadowObject;
  1097. typedef ULONG   SOMLINK somTP_WPObject_wpDelete(WPObject *somSelf, 
  1098.         ULONG fConfirmations);
  1099. typedef somTP_WPObject_wpDelete *somTD_WPObject_wpDelete;
  1100. typedef BOOL   SOMLINK somTP_WPObject_wpDeleteFromObjUseList(WPObject *somSelf, 
  1101.         PUSEITEM pUseItem);
  1102. typedef somTP_WPObject_wpDeleteFromObjUseList *somTD_WPObject_wpDeleteFromObjUseList;
  1103. typedef BOOL   SOMLINK somTP_WPObject_wpDisplayHelp(WPObject *somSelf, 
  1104.         ULONG HelpPanelId, 
  1105.         PSZ HelpLibrary);
  1106. typedef somTP_WPObject_wpDisplayHelp *somTD_WPObject_wpDisplayHelp;
  1107. typedef HWND   SOMLINK somTP_WPObject_wpDisplayMenu(WPObject *somSelf, 
  1108.         HWND hwndOwner, 
  1109.         HWND hwndClient, 
  1110.         POINTL* ptlPopupPt, 
  1111.         ULONG ulMenuType, 
  1112.         ULONG ulReserved);
  1113. typedef somTP_WPObject_wpDisplayMenu *somTD_WPObject_wpDisplayMenu;
  1114. typedef BOOL   SOMLINK somTP_WPObject_wpDoesObjectMatch(WPObject *somSelf, 
  1115.         PVOID pvoidExtendedCriteria);
  1116. typedef somTP_WPObject_wpDoesObjectMatch *somTD_WPObject_wpDoesObjectMatch;
  1117. typedef MRESULT   SOMLINK somTP_WPObject_wpDraggedOverObject(WPObject *somSelf, 
  1118.         WPObject* DraggedOverObject);
  1119. typedef somTP_WPObject_wpDraggedOverObject *somTD_WPObject_wpDraggedOverObject;
  1120. typedef MRESULT   SOMLINK somTP_WPObject_wpDragOver(WPObject *somSelf, 
  1121.         HWND hwndCnr, 
  1122.         PDRAGINFO pdrgInfo);
  1123. typedef somTP_WPObject_wpDragOver *somTD_WPObject_wpDragOver;
  1124. typedef MRESULT   SOMLINK somTP_WPObject_wpDrop(WPObject *somSelf, 
  1125.         HWND hwndCnr, 
  1126.         PDRAGINFO pdrgInfo, 
  1127.         PDRAGITEM pdrgItem);
  1128. typedef somTP_WPObject_wpDrop *somTD_WPObject_wpDrop;
  1129. typedef BOOL   SOMLINK somTP_WPObject_wpDroppedOnObject(WPObject *somSelf, 
  1130.         WPObject* DroppedOnObject);
  1131. typedef somTP_WPObject_wpDroppedOnObject *somTD_WPObject_wpDroppedOnObject;
  1132. typedef MRESULT   SOMLINK somTP_WPObject_wpEndConversation(WPObject *somSelf, 
  1133.         ULONG ulItemID, 
  1134.         ULONG flResult);
  1135. typedef somTP_WPObject_wpEndConversation *somTD_WPObject_wpEndConversation;
  1136. typedef ULONG   SOMLINK somTP_WPObject_wpFilterPopupMenu(WPObject *somSelf, 
  1137.         ULONG ulFlags, 
  1138.         HWND hwndCnr, 
  1139.         BOOL fMultiSelect);
  1140. typedef somTP_WPObject_wpFilterPopupMenu *somTD_WPObject_wpFilterPopupMenu;
  1141. typedef BOOL   SOMLINK somTP_WPObject_wpFilterMenu(WPObject *somSelf, 
  1142.         FILTERFLAGS* pFlags, 
  1143.         HWND hwndCnr, 
  1144.         BOOL fMultiSelect, 
  1145.         ULONG ulMenuType, 
  1146.         ULONG ulView, 
  1147.         ULONG ulReserved);
  1148. typedef somTP_WPObject_wpFilterMenu *somTD_WPObject_wpFilterMenu;
  1149. typedef PUSEITEM   SOMLINK somTP_WPObject_wpFindUseItem(WPObject *somSelf, 
  1150.         ULONG type, 
  1151.         PUSEITEM pCurrentItem);
  1152. typedef somTP_WPObject_wpFindUseItem *somTD_WPObject_wpFindUseItem;
  1153. typedef BOOL   SOMLINK somTP_WPObject_wpFormatDragItem(WPObject *somSelf, 
  1154.         PDRAGITEM pdrgItem);
  1155. typedef somTP_WPObject_wpFormatDragItem *somTD_WPObject_wpFormatDragItem;
  1156. typedef BOOL   SOMLINK somTP_WPObject_wpFree(WPObject *somSelf);
  1157. typedef somTP_WPObject_wpFree *somTD_WPObject_wpFree;
  1158. typedef BOOL   SOMLINK somTP_WPObject_wpFreeMem(WPObject *somSelf, 
  1159.         PBYTE pByte);
  1160. typedef somTP_WPObject_wpFreeMem *somTD_WPObject_wpFreeMem;
  1161. typedef BOOL   SOMLINK somTP_WPObject_wpHide(WPObject *somSelf);
  1162. typedef somTP_WPObject_wpHide *somTD_WPObject_wpHide;
  1163. typedef void   SOMLINK somTP_WPObject_wpInitData(WPObject *somSelf);
  1164. typedef somTP_WPObject_wpInitData *somTD_WPObject_wpInitData;
  1165. typedef BOOL   SOMLINK somTP_WPObject_wpInsertPopupMenuItems(WPObject *somSelf, 
  1166.         HWND hwndMenu, 
  1167.         ULONG iPosition, 
  1168.         HMODULE hmod, 
  1169.         ULONG MenuID, 
  1170.         ULONG SubMenuID);
  1171. typedef somTP_WPObject_wpInsertPopupMenuItems *somTD_WPObject_wpInsertPopupMenuItems;
  1172. typedef BOOL   SOMLINK somTP_WPObject_wpInsertMenuItems(WPObject *somSelf, 
  1173.         HWND hwndMenu, 
  1174.         ULONG iPosition, 
  1175.         HMODULE hmod, 
  1176.         ULONG MenuID, 
  1177.         ULONG SubMenuID);
  1178. typedef somTP_WPObject_wpInsertMenuItems *somTD_WPObject_wpInsertMenuItems;
  1179. typedef ULONG   SOMLINK somTP_WPObject_wpInsertSettingsPage(WPObject *somSelf, 
  1180.         HWND hwndNotebook, 
  1181.         PPAGEINFO ppageinfo);
  1182. typedef somTP_WPObject_wpInsertSettingsPage *somTD_WPObject_wpInsertSettingsPage;
  1183. typedef BOOL   SOMLINK somTP_WPObject_wpMenuItemHelpSelected(WPObject *somSelf, 
  1184.         ULONG MenuId);
  1185. typedef somTP_WPObject_wpMenuItemHelpSelected *somTD_WPObject_wpMenuItemHelpSelected;
  1186. typedef BOOL   SOMLINK somTP_WPObject_wpMenuItemSelected(WPObject *somSelf, 
  1187.         HWND hwndFrame, 
  1188.         ULONG ulMenuId);
  1189. typedef somTP_WPObject_wpMenuItemSelected *somTD_WPObject_wpMenuItemSelected;
  1190. typedef BOOL   SOMLINK somTP_WPObject_wpModifyPopupMenu(WPObject *somSelf, 
  1191.         HWND hwndMenu, 
  1192.         HWND hwndCnr, 
  1193.         ULONG iPosition);
  1194. typedef somTP_WPObject_wpModifyPopupMenu *somTD_WPObject_wpModifyPopupMenu;
  1195. typedef BOOL   SOMLINK somTP_WPObject_wpModifyMenu(WPObject *somSelf, 
  1196.         HWND hwndMenu, 
  1197.         HWND hwndCnr, 
  1198.         ULONG iPosition, 
  1199.         ULONG ulMenuType, 
  1200.         ULONG ulView, 
  1201.         ULONG ulReserved);
  1202. typedef somTP_WPObject_wpModifyMenu *somTD_WPObject_wpModifyMenu;
  1203. typedef BOOL   SOMLINK somTP_WPObject_wpMoveObject(WPObject *somSelf, 
  1204.         WPFolder* Folder);
  1205. typedef somTP_WPObject_wpMoveObject *somTD_WPObject_wpMoveObject;
  1206. typedef HWND   SOMLINK somTP_WPObject_wpOpen(WPObject *somSelf, 
  1207.         HWND hwndCnr, 
  1208.         ULONG ulView, 
  1209.         ULONG param);
  1210. typedef somTP_WPObject_wpOpen *somTD_WPObject_wpOpen;
  1211. typedef BOOL   SOMLINK somTP_WPObject_wpPrintObject(WPObject *somSelf, 
  1212.         PPRINTDEST pPrintDest, 
  1213.         ULONG ulReserved);
  1214. typedef somTP_WPObject_wpPrintObject *somTD_WPObject_wpPrintObject;
  1215. typedef ULONG   SOMLINK somTP_WPObject_wpQueryConcurrentView(WPObject *somSelf);
  1216. typedef somTP_WPObject_wpQueryConcurrentView *somTD_WPObject_wpQueryConcurrentView;
  1217. typedef ULONG   SOMLINK somTP_WPObject_wpQueryButtonAppearance(WPObject *somSelf);
  1218. typedef somTP_WPObject_wpQueryButtonAppearance *somTD_WPObject_wpQueryButtonAppearance;
  1219. typedef ULONG   SOMLINK somTP_WPObject_wpQueryConfirmations(WPObject *somSelf);
  1220. typedef somTP_WPObject_wpQueryConfirmations *somTD_WPObject_wpQueryConfirmations;
  1221. typedef BOOL   SOMLINK somTP_WPObject_wpQueryDefaultHelp(WPObject *somSelf, 
  1222.         PULONG pHelpPanelId, 
  1223.         PSZ HelpLibrary);
  1224. typedef somTP_WPObject_wpQueryDefaultHelp *somTD_WPObject_wpQueryDefaultHelp;
  1225. typedef ULONG   SOMLINK somTP_WPObject_wpQueryDefaultView(WPObject *somSelf);
  1226. typedef somTP_WPObject_wpQueryDefaultView *somTD_WPObject_wpQueryDefaultView;
  1227. typedef ULONG   SOMLINK somTP_WPObject_wpQueryDetailsData(WPObject *somSelf, 
  1228.         PVOID* ppDetailsData, 
  1229.         PULONG pcp);
  1230. typedef somTP_WPObject_wpQueryDetailsData *somTD_WPObject_wpQueryDetailsData;
  1231. typedef ULONG   SOMLINK somTP_WPObject_wpQueryError(WPObject *somSelf);
  1232. typedef somTP_WPObject_wpQueryError *somTD_WPObject_wpQueryError;
  1233. typedef BOOL   SOMLINK somTP_WPObject_wpSetFolder(WPObject *somSelf, 
  1234.         WPObject* container);
  1235. typedef somTP_WPObject_wpSetFolder *somTD_WPObject_wpSetFolder;
  1236. typedef WPObject*   SOMLINK somTP_WPObject_wpQueryFolder(WPObject *somSelf);
  1237. typedef somTP_WPObject_wpQueryFolder *somTD_WPObject_wpQueryFolder;
  1238. typedef HPOINTER   SOMLINK somTP_WPObject_wpQueryIcon(WPObject *somSelf);
  1239. typedef somTP_WPObject_wpQueryIcon *somTD_WPObject_wpQueryIcon;
  1240. typedef ULONG   SOMLINK somTP_WPObject_wpQueryIconData(WPObject *somSelf, 
  1241.         PICONINFO pIconInfo);
  1242. typedef somTP_WPObject_wpQueryIconData *somTD_WPObject_wpQueryIconData;
  1243. typedef ULONG   SOMLINK somTP_WPObject_wpQueryMinWindow(WPObject *somSelf);
  1244. typedef somTP_WPObject_wpQueryMinWindow *somTD_WPObject_wpQueryMinWindow;
  1245. typedef ULONG   SOMLINK somTP_WPObject_wpQueryNameClashOptions(WPObject *somSelf, 
  1246.         ULONG menuID);
  1247. typedef somTP_WPObject_wpQueryNameClashOptions *somTD_WPObject_wpQueryNameClashOptions;
  1248. typedef ULONG   SOMLINK somTP_WPObject_wpQueryStyle(WPObject *somSelf);
  1249. typedef somTP_WPObject_wpQueryStyle *somTD_WPObject_wpQueryStyle;
  1250. typedef BOOL32   SOMLINK somTP_WPObject_wpSetTaskRec(WPObject *somSelf, 
  1251.         PTASKREC pNew, 
  1252.         PTASKREC pOld);
  1253. typedef somTP_WPObject_wpSetTaskRec *somTD_WPObject_wpSetTaskRec;
  1254. typedef PTASKREC   SOMLINK somTP_WPObject_wpFindTaskRec(WPObject *somSelf);
  1255. typedef somTP_WPObject_wpFindTaskRec *somTD_WPObject_wpFindTaskRec;
  1256. typedef PSZ   SOMLINK somTP_WPObject_wpQueryTitle(WPObject *somSelf);
  1257. typedef somTP_WPObject_wpQueryTitle *somTD_WPObject_wpQueryTitle;
  1258. typedef BOOL   SOMLINK somTP_WPObject_wpRegisterView(WPObject *somSelf, 
  1259.         HWND hwndFrame, 
  1260.         PSZ pszViewTitle);
  1261. typedef somTP_WPObject_wpRegisterView *somTD_WPObject_wpRegisterView;
  1262. typedef ULONG   SOMLINK somTP_WPObject_wpReleaseObjectMutexSem(WPObject *somSelf);
  1263. typedef somTP_WPObject_wpReleaseObjectMutexSem *somTD_WPObject_wpReleaseObjectMutexSem;
  1264. typedef MRESULT   SOMLINK somTP_WPObject_wpRender(WPObject *somSelf, 
  1265.         PDRAGTRANSFER pdxfer);
  1266. typedef somTP_WPObject_wpRender *somTD_WPObject_wpRender;
  1267. typedef MRESULT   SOMLINK somTP_WPObject_wpRenderComplete(WPObject *somSelf, 
  1268.         PDRAGTRANSFER pdxfer, 
  1269.         ULONG ulResult);
  1270. typedef somTP_WPObject_wpRenderComplete *somTD_WPObject_wpRenderComplete;
  1271. typedef BOOL32   SOMLINK somTP_WPObject_wpReplaceObject(WPObject *somSelf, 
  1272.         WPObject* targetObject, 
  1273.         BOOL32 fMove);
  1274. typedef somTP_WPObject_wpReplaceObject *somTD_WPObject_wpReplaceObject;
  1275. typedef ULONG   SOMLINK somTP_WPObject_wpRequestObjectMutexSem(WPObject *somSelf, 
  1276.         ULONG ulTimeout);
  1277. typedef somTP_WPObject_wpRequestObjectMutexSem *somTD_WPObject_wpRequestObjectMutexSem;
  1278. typedef BOOL   SOMLINK somTP_WPObject_wpRestore(WPObject *somSelf);
  1279. typedef somTP_WPObject_wpRestore *somTD_WPObject_wpRestore;
  1280. typedef BOOL   SOMLINK somTP_WPObject_wpRestoreData(WPObject *somSelf, 
  1281.         PSZ pszClass, 
  1282.         ULONG ulKey, 
  1283.         PBYTE pValue, 
  1284.         PULONG pcbValue);
  1285. typedef somTP_WPObject_wpRestoreData *somTD_WPObject_wpRestoreData;
  1286. typedef BOOL   SOMLINK somTP_WPObject_wpRestoreLong(WPObject *somSelf, 
  1287.         PSZ pszClass, 
  1288.         ULONG ulKey, 
  1289.         PULONG pulValue);
  1290. typedef somTP_WPObject_wpRestoreLong *somTD_WPObject_wpRestoreLong;
  1291. typedef BOOL   SOMLINK somTP_WPObject_wpRestoreState(WPObject *somSelf, 
  1292.         ULONG ulReserved);
  1293. typedef somTP_WPObject_wpRestoreState *somTD_WPObject_wpRestoreState;
  1294. typedef BOOL   SOMLINK somTP_WPObject_wpRestoreString(WPObject *somSelf, 
  1295.         PSZ pszClass, 
  1296.         ULONG ulKey, 
  1297.         PSZ pszValue, 
  1298.         PULONG pcbValue);
  1299. typedef somTP_WPObject_wpRestoreString *somTD_WPObject_wpRestoreString;
  1300. typedef BOOL   SOMLINK somTP_WPObject_wpSaveData(WPObject *somSelf, 
  1301.         PSZ pszClass, 
  1302.         ULONG ulKey, 
  1303.         PBYTE pValue, 
  1304.         ULONG cbValue);
  1305. typedef somTP_WPObject_wpSaveData *somTD_WPObject_wpSaveData;
  1306. typedef BOOL   SOMLINK somTP_WPObject_wpSaveImmediate(WPObject *somSelf);
  1307. typedef somTP_WPObject_wpSaveImmediate *somTD_WPObject_wpSaveImmediate;
  1308. typedef BOOL   SOMLINK somTP_WPObject_wpSaveDeferred(WPObject *somSelf);
  1309. typedef somTP_WPObject_wpSaveDeferred *somTD_WPObject_wpSaveDeferred;
  1310. typedef BOOL   SOMLINK somTP_WPObject_wpSaveLong(WPObject *somSelf, 
  1311.         PSZ pszClass, 
  1312.         ULONG ulKey, 
  1313.         ULONG ulValue);
  1314. typedef somTP_WPObject_wpSaveLong *somTD_WPObject_wpSaveLong;
  1315. typedef BOOL   SOMLINK somTP_WPObject_wpSaveState(WPObject *somSelf);
  1316. typedef somTP_WPObject_wpSaveState *somTD_WPObject_wpSaveState;
  1317. typedef BOOL   SOMLINK somTP_WPObject_wpSaveString(WPObject *somSelf, 
  1318.         PSZ pszClass, 
  1319.         ULONG ulKey, 
  1320.         PSZ pszValue);
  1321. typedef somTP_WPObject_wpSaveString *somTD_WPObject_wpSaveString;
  1322. typedef BOOL   SOMLINK somTP_WPObject_wpScanSetupString(WPObject *somSelf, 
  1323.         PSZ pszSetupString, 
  1324.         PSZ pszKey, 
  1325.         PSZ pszValue, 
  1326.         PULONG pcbValue);
  1327. typedef somTP_WPObject_wpScanSetupString *somTD_WPObject_wpScanSetupString;
  1328. typedef void   SOMLINK somTP_WPObject_wpSetConcurrentView(WPObject *somSelf, 
  1329.         ULONG ulCCView);
  1330. typedef somTP_WPObject_wpSetConcurrentView *somTD_WPObject_wpSetConcurrentView;
  1331. typedef void   SOMLINK somTP_WPObject_wpSetButtonAppearance(WPObject *somSelf, 
  1332.         ULONG ulButtonType);
  1333. typedef somTP_WPObject_wpSetButtonAppearance *somTD_WPObject_wpSetButtonAppearance;
  1334. typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultHelp(WPObject *somSelf, 
  1335.         ULONG HelpPanelId, 
  1336.         PSZ HelpLibrary);
  1337. typedef somTP_WPObject_wpSetDefaultHelp *somTD_WPObject_wpSetDefaultHelp;
  1338. typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultView(WPObject *somSelf, 
  1339.         ULONG ulView);
  1340. typedef somTP_WPObject_wpSetDefaultView *somTD_WPObject_wpSetDefaultView;
  1341. typedef BOOL   SOMLINK somTP_WPObject_wpSetError(WPObject *somSelf, 
  1342.         ULONG ulErrorId);
  1343. typedef somTP_WPObject_wpSetError *somTD_WPObject_wpSetError;
  1344. typedef SGID   SOMLINK somTP_WPObject_wpQueryScreenGroupID(WPObject *somSelf, 
  1345.         SGID sgidPrevSgId);
  1346. typedef somTP_WPObject_wpQueryScreenGroupID *somTD_WPObject_wpQueryScreenGroupID;
  1347. typedef BOOL   SOMLINK somTP_WPObject_wpSetupOnce(WPObject *somSelf, 
  1348.         PSZ pszSetupString);
  1349. typedef somTP_WPObject_wpSetupOnce *somTD_WPObject_wpSetupOnce;
  1350. typedef BOOL   SOMLINK somTP_WPObject_wpSetIcon(WPObject *somSelf, 
  1351.         HPOINTER hptrNewIcon);
  1352. typedef somTP_WPObject_wpSetIcon *somTD_WPObject_wpSetIcon;
  1353. typedef BOOL   SOMLINK somTP_WPObject_wpSetIconData(WPObject *somSelf, 
  1354.         PICONINFO pIconInfo);
  1355. typedef somTP_WPObject_wpSetIconData *somTD_WPObject_wpSetIconData;
  1356. typedef void   SOMLINK somTP_WPObject_wpSetMinWindow(WPObject *somSelf, 
  1357.         ULONG ulMinWindow);
  1358. typedef somTP_WPObject_wpSetMinWindow *somTD_WPObject_wpSetMinWindow;
  1359. typedef BOOL   SOMLINK somTP_WPObject_wpModifyStyle(WPObject *somSelf, 
  1360.         ULONG ulStyleFlags, 
  1361.         ULONG ulStyleMask);
  1362. typedef somTP_WPObject_wpModifyStyle *somTD_WPObject_wpModifyStyle;
  1363. typedef BOOL   SOMLINK somTP_WPObject_wpSetTitle(WPObject *somSelf, 
  1364.         PSZ pszNewTitle);
  1365. typedef somTP_WPObject_wpSetTitle *somTD_WPObject_wpSetTitle;
  1366. typedef BOOL   SOMLINK somTP_WPObject_wpSetup(WPObject *somSelf, 
  1367.         PSZ pszSetupString);
  1368. typedef somTP_WPObject_wpSetup *somTD_WPObject_wpSetup;
  1369. typedef BOOL   SOMLINK somTP_WPObject_wpSwitchTo(WPObject *somSelf, 
  1370.         ULONG View);
  1371. typedef somTP_WPObject_wpSwitchTo *somTD_WPObject_wpSwitchTo;
  1372. typedef void   SOMLINK somTP_WPObject_wpUnInitData(WPObject *somSelf);
  1373. typedef somTP_WPObject_wpUnInitData *somTD_WPObject_wpUnInitData;
  1374. typedef HWND   SOMLINK somTP_WPObject_wpViewObject(WPObject *somSelf, 
  1375.         HWND hwndCnr, 
  1376.         ULONG ulView, 
  1377.         ULONG param);
  1378. typedef somTP_WPObject_wpViewObject *somTD_WPObject_wpViewObject;
  1379. typedef ULONG   SOMLINK somTP_WPObject_wpQueryTrueStyle(WPObject *somSelf);
  1380. typedef somTP_WPObject_wpQueryTrueStyle *somTD_WPObject_wpQueryTrueStyle;
  1381. typedef HOBJECT   SOMLINK somTP_WPObject_wpQueryHandle(WPObject *somSelf);
  1382. typedef somTP_WPObject_wpQueryHandle *somTD_WPObject_wpQueryHandle;
  1383. typedef BOOL   SOMLINK somTP_WPObject_wpUnlockObject(WPObject *somSelf);
  1384. typedef somTP_WPObject_wpUnlockObject *somTD_WPObject_wpUnlockObject;
  1385. typedef void   SOMLINK somTP_WPObject_wpObjectReady(WPObject *somSelf, 
  1386.         ULONG ulCode, 
  1387.         WPObject* refObject);
  1388. typedef somTP_WPObject_wpObjectReady *somTD_WPObject_wpObjectReady;
  1389. typedef BOOL   SOMLINK somTP_WPObject_wpIsObjectInitialized(WPObject *somSelf);
  1390. typedef somTP_WPObject_wpIsObjectInitialized *somTD_WPObject_wpIsObjectInitialized;
  1391. typedef WPObject*   SOMLINK somTP_WPObject_wpCreateShadowObjectExt(WPObject *somSelf, 
  1392.         WPFolder* Folder, 
  1393.         BOOL fLock, 
  1394.         PSZ pszSetup, 
  1395.         M_WPObject* shadowClass);
  1396. typedef somTP_WPObject_wpCreateShadowObjectExt *somTD_WPObject_wpCreateShadowObjectExt;
  1397. typedef BOOL   SOMLINK somTP_WPObject_wpCnrDeleteUseItem(WPObject *somSelf, 
  1398.         HWND hwndCnr);
  1399. typedef somTP_WPObject_wpCnrDeleteUseItem *somTD_WPObject_wpCnrDeleteUseItem;
  1400. typedef BOOL   SOMLINK somTP_WPObject_wpIsDeleteable(WPObject *somSelf);
  1401. typedef somTP_WPObject_wpIsDeleteable *somTD_WPObject_wpIsDeleteable;
  1402. typedef PMINIRECORDCORE   SOMLINK somTP_WPObject_wpQueryCoreRecord(WPObject *somSelf);
  1403. typedef somTP_WPObject_wpQueryCoreRecord *somTD_WPObject_wpQueryCoreRecord;
  1404. typedef BOOL   SOMLINK somTP_WPObject_wpSetObjectID(WPObject *somSelf, 
  1405.         PSZ pszObjectID);
  1406. typedef somTP_WPObject_wpSetObjectID *somTD_WPObject_wpSetObjectID;
  1407. typedef PSZ   SOMLINK somTP_WPObject_wpQueryObjectID(WPObject *somSelf);
  1408. typedef somTP_WPObject_wpQueryObjectID *somTD_WPObject_wpQueryObjectID;
  1409. typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultIconPos(WPObject *somSelf, 
  1410.         PPOINTL pPointl);
  1411. typedef somTP_WPObject_wpSetDefaultIconPos *somTD_WPObject_wpSetDefaultIconPos;
  1412. typedef BOOL   SOMLINK somTP_WPObject_wpQueryDefaultIconPos(WPObject *somSelf, 
  1413.         PPOINTL pPointl);
  1414. typedef somTP_WPObject_wpQueryDefaultIconPos *somTD_WPObject_wpQueryDefaultIconPos;
  1415. typedef void   SOMLINK somTP_WPObject_wpCnrRefreshDetails(WPObject *somSelf);
  1416. typedef somTP_WPObject_wpCnrRefreshDetails *somTD_WPObject_wpCnrRefreshDetails;
  1417. typedef PVIEWITEM   SOMLINK somTP_WPObject_wpFindViewItem(WPObject *somSelf, 
  1418.         ULONG flViews, 
  1419.         PVIEWITEM pCurrentItem);
  1420. typedef somTP_WPObject_wpFindViewItem *somTD_WPObject_wpFindViewItem;
  1421. typedef void   SOMLINK somTP_WPObject_wpLockObject(WPObject *somSelf);
  1422. typedef somTP_WPObject_wpLockObject *somTD_WPObject_wpLockObject;
  1423. typedef BOOL   SOMLINK somTP_WPObject_wpIsLocked(WPObject *somSelf);
  1424. typedef somTP_WPObject_wpIsLocked *somTD_WPObject_wpIsLocked;
  1425. typedef PULONG   SOMLINK somTP_WPObject_wpQueryContainerFlagPtr(WPObject *somSelf);
  1426. typedef somTP_WPObject_wpQueryContainerFlagPtr *somTD_WPObject_wpQueryContainerFlagPtr;
  1427. typedef ULONG   SOMLINK somTP_WPObject_wpWaitForClose(WPObject *somSelf, 
  1428.         LHANDLE lhView, 
  1429.         ULONG ulViews, 
  1430.         long lTimeOut, 
  1431.         BOOL bAutoClose);
  1432. typedef somTP_WPObject_wpWaitForClose *somTD_WPObject_wpWaitForClose;
  1433. typedef BOOL   SOMLINK somTP_WPObject_wpSetMenuStyle(WPObject *somSelf, 
  1434.         ULONG ulStyle);
  1435. typedef somTP_WPObject_wpSetMenuStyle *somTD_WPObject_wpSetMenuStyle;
  1436. typedef ULONG   SOMLINK somTP_WPObject_wpQueryMenuStyle(WPObject *somSelf);
  1437. typedef somTP_WPObject_wpQueryMenuStyle *somTD_WPObject_wpQueryMenuStyle;
  1438. typedef BOOL   SOMLINK somTP_WPObject_wpIdentify(WPObject *somSelf, 
  1439.         PSZ pszIdentity);
  1440. typedef somTP_WPObject_wpIdentify *somTD_WPObject_wpIdentify;
  1441. typedef BOOL   SOMLINK somTP_WPObject_wpSetStyle(WPObject *somSelf, 
  1442.         ULONG ulNewStyle);
  1443. typedef somTP_WPObject_wpSetStyle *somTD_WPObject_wpSetStyle;
  1444.  
  1445. /*
  1446.  * -- Typedefs for Reintroduced Wrapper Methods
  1447.  */
  1448. typedef M_WPObject*   SOMLINK somTP_WPObject_somGetClass(WPObject *somSelf);
  1449. typedef somTP_WPObject_somGetClass *somTD_WPObject_somGetClass;
  1450. }
  1451.  
  1452. #endif /* WPObject_API */
  1453.  
  1454.  
  1455. /*
  1456.  * -- This emitter treats Method Tokens as Thunks by default.
  1457.  * -- Use the sc modifier "nothunks" to change this default
  1458.  */
  1459. #undef somresolve_
  1460. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  1461.  
  1462. /*
  1463.  * -- The C++ Wrapper Class for WPObject
  1464.  */
  1465. class WPObject : public SOMObject
  1466. {
  1467. public:
  1468.  
  1469. // WPObject::new creates the class object if necessary, and then uses somNewNoInit
  1470. // to allocate memory and create the object. Initialization is in ctors.
  1471. void *operator new(size_t)
  1472. {
  1473.    if (!_WPObject) WPObjectNewClass(WPObject_MajorVersion,WPObject_MinorVersion);
  1474.    return (void*)
  1475.       SOM_Resolve(_WPObject,SOMClass,somNewNoInit)
  1476.          ((SOMClass *)((void*)_WPObject));
  1477. }
  1478.  
  1479. // WPObject::delete uses somDestruct.
  1480. void operator delete(void * obj)
  1481. {
  1482.    if (obj && *(void**)obj) {
  1483.       SOM_Resolve(obj,SOMObject,somDestruct)
  1484.          ((SOMObject*)obj, 1, 0);
  1485.    }
  1486. }
  1487.  
  1488. WPObject& operator=(WPObject& fromObj)
  1489. {
  1490.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  1491.    return *this;
  1492. }
  1493.  
  1494. WPObject()
  1495. {
  1496.    if (*(void**)this != 
  1497.        ((somParentMtabStructPtr)
  1498.         (WPObjectCClassData.parentMtab))->mtab)
  1499.       return;
  1500.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  1501. }
  1502.  
  1503. WPObject(WPObject* fromObj)
  1504. {
  1505.    if (*(void**)this != 
  1506.        ((somParentMtabStructPtr)
  1507.         (WPObjectCClassData.parentMtab))->mtab)
  1508.       return;
  1509.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  1510. }
  1511.  
  1512. WPObject(const WPObject* fromObj)
  1513. {
  1514.    if (*(void**)this != 
  1515.        ((somParentMtabStructPtr)
  1516.         (WPObjectCClassData.parentMtab))->mtab)
  1517.       return;
  1518.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  1519. }
  1520.  
  1521.  
  1522. /* method: wpAddObjectGeneralPage */
  1523. ULONG   wpAddObjectGeneralPage(HWND hwndNotebook)
  1524. {
  1525.    return SOM_ResolveD(this,WPObject,WPObject,wpAddObjectGeneralPage)
  1526.     (this,hwndNotebook);
  1527. }
  1528.  
  1529.  
  1530. /* method: wpAddObjectGeneralPage2 */
  1531. ULONG   wpAddObjectGeneralPage2(HWND hwndNotebook)
  1532. {
  1533.    return SOM_ResolveD(this,WPObject,WPObject,wpAddObjectGeneralPage2)
  1534.     (this,hwndNotebook);
  1535. }
  1536.  
  1537.  
  1538. /* method: wpAddObjectWindowPage */
  1539. ULONG   wpAddObjectWindowPage(HWND hwndNotebook)
  1540. {
  1541.    return SOM_ResolveD(this,WPObject,WPObject,wpAddObjectWindowPage)
  1542.     (this,hwndNotebook);
  1543. }
  1544.  
  1545.  
  1546. /* method: wpAddSettingsPages */
  1547. BOOL   wpAddSettingsPages(HWND hwndNotebook)
  1548. {
  1549.    return SOM_ResolveD(this,WPObject,WPObject,wpAddSettingsPages)
  1550.     (this,hwndNotebook);
  1551. }
  1552.  
  1553.  
  1554. /* method: wpAddToObjUseList */
  1555. BOOL   wpAddToObjUseList(PUSEITEM pUseItem)
  1556. {
  1557.    return SOM_ResolveD(this,WPObject,WPObject,wpAddToObjUseList)
  1558.     (this,pUseItem);
  1559. }
  1560.  
  1561.  
  1562. /* method: wpAllocMem */
  1563. PBYTE   wpAllocMem(ULONG cbBytes, 
  1564.         PULONG prc)
  1565. {
  1566.    return SOM_ResolveD(this,WPObject,WPObject,wpAllocMem)
  1567.     (this,cbBytes,prc);
  1568. }
  1569.  
  1570.  
  1571. /* method: wpAppendObject */
  1572. BOOL32   wpAppendObject(WPObject* targetObject, 
  1573.         BOOL32 fMove)
  1574. {
  1575.    return SOM_ResolveD(this,WPObject,WPObject,wpAppendObject)
  1576.     (this,targetObject,fMove);
  1577. }
  1578.  
  1579.  
  1580. /* method: wpAssertObjectMutexSem */
  1581. BOOL   wpAssertObjectMutexSem()
  1582. {
  1583.    return SOM_ResolveD(this,WPObject,WPObject,wpAssertObjectMutexSem)
  1584.     (this);
  1585. }
  1586.  
  1587.  
  1588. /* method: wpClose */
  1589. BOOL   wpClose()
  1590. {
  1591.    return SOM_ResolveD(this,WPObject,WPObject,wpClose)
  1592.     (this);
  1593. }
  1594.  
  1595.  
  1596. /* method: wpCnrInsertObject */
  1597. PMINIRECORDCORE   wpCnrInsertObject(HWND hwndCnr, 
  1598.         PPOINTL pptlIcon, 
  1599.         PMINIRECORDCORE preccParent, 
  1600.         PRECORDINSERT pRecInsert)
  1601. {
  1602.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrInsertObject)
  1603.     (this,hwndCnr,pptlIcon,preccParent,pRecInsert);
  1604. }
  1605.  
  1606.  
  1607. /* method: wpCnrRemoveObject */
  1608. BOOL   wpCnrRemoveObject(HWND hwndCnr)
  1609. {
  1610.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrRemoveObject)
  1611.     (this,hwndCnr);
  1612. }
  1613.  
  1614.  
  1615. /* method: wpCnrSetEmphasis */
  1616. BOOL   wpCnrSetEmphasis(ULONG ulEmphasisAttr, 
  1617.         BOOL fTurnOn)
  1618. {
  1619.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrSetEmphasis)
  1620.     (this,ulEmphasisAttr,fTurnOn);
  1621. }
  1622.  
  1623.  
  1624. /* method: wpConfirmDelete */
  1625. ULONG   wpConfirmDelete(ULONG fConfirmations)
  1626. {
  1627.    return SOM_ResolveD(this,WPObject,WPObject,wpConfirmDelete)
  1628.     (this,fConfirmations);
  1629. }
  1630.  
  1631.  
  1632. /* method: wpConfirmObjectTitle */
  1633. ULONG   wpConfirmObjectTitle(WPFolder* Folder, 
  1634.         WPObject** ppDuplicate, 
  1635.         PSZ pszTitle, 
  1636.         ULONG cbTitle, 
  1637.         ULONG menuID)
  1638. {
  1639.    return SOM_ResolveD(this,WPObject,WPObject,wpConfirmObjectTitle)
  1640.     (this,Folder,ppDuplicate,pszTitle,cbTitle,menuID);
  1641. }
  1642.  
  1643.  
  1644. /* method: wpCopiedFromTemplate */
  1645. void   wpCopiedFromTemplate()
  1646. {
  1647.    SOM_ResolveD(this,WPObject,WPObject,wpCopiedFromTemplate)
  1648.     (this);
  1649. }
  1650.  
  1651.  
  1652. /* method: wpCopyObject */
  1653. WPObject*   wpCopyObject(WPFolder* Folder, 
  1654.         BOOL fLock)
  1655. {
  1656.    return SOM_ResolveD(this,WPObject,WPObject,wpCopyObject)
  1657.     (this,Folder,fLock);
  1658. }
  1659.  
  1660.  
  1661. /* method: wpCreateAnother */
  1662. WPObject*   wpCreateAnother(PSZ pszTitle, 
  1663.         PSZ pszSetupEnv, 
  1664.         WPFolder* Folder)
  1665. {
  1666.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateAnother)
  1667.     (this,pszTitle,pszSetupEnv,Folder);
  1668. }
  1669.  
  1670.  
  1671. /* method: wpCreateFromTemplate */
  1672. WPObject*   wpCreateFromTemplate(WPFolder* folder, 
  1673.         BOOL fLock)
  1674. {
  1675.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateFromTemplate)
  1676.     (this,folder,fLock);
  1677. }
  1678.  
  1679.  
  1680. /* method: wpCreateShadowObject */
  1681. WPObject*   wpCreateShadowObject(WPFolder* Folder, 
  1682.         BOOL fLock)
  1683. {
  1684.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateShadowObject)
  1685.     (this,Folder,fLock);
  1686. }
  1687.  
  1688.  
  1689. /* method: wpDelete */
  1690. ULONG   wpDelete(ULONG fConfirmations)
  1691. {
  1692.    return SOM_ResolveD(this,WPObject,WPObject,wpDelete)
  1693.     (this,fConfirmations);
  1694. }
  1695.  
  1696.  
  1697. /* method: wpDeleteFromObjUseList */
  1698. BOOL   wpDeleteFromObjUseList(PUSEITEM pUseItem)
  1699. {
  1700.    return SOM_ResolveD(this,WPObject,WPObject,wpDeleteFromObjUseList)
  1701.     (this,pUseItem);
  1702. }
  1703.  
  1704.  
  1705. /* method: wpDisplayHelp */
  1706. BOOL   wpDisplayHelp(ULONG HelpPanelId, 
  1707.         PSZ HelpLibrary)
  1708. {
  1709.    return SOM_ResolveD(this,WPObject,WPObject,wpDisplayHelp)
  1710.     (this,HelpPanelId,HelpLibrary);
  1711. }
  1712.  
  1713.  
  1714. /* method: wpDisplayMenu */
  1715. HWND   wpDisplayMenu(HWND hwndOwner, 
  1716.         HWND hwndClient, 
  1717.         POINTL* ptlPopupPt, 
  1718.         ULONG ulMenuType, 
  1719.         ULONG ulReserved)
  1720. {
  1721.    return SOM_ResolveD(this,WPObject,WPObject,wpDisplayMenu)
  1722.     (this,hwndOwner,hwndClient,ptlPopupPt,ulMenuType,ulReserved);
  1723. }
  1724.  
  1725.  
  1726. /* method: wpDoesObjectMatch */
  1727. BOOL   wpDoesObjectMatch(PVOID pvoidExtendedCriteria)
  1728. {
  1729.    return SOM_ResolveD(this,WPObject,WPObject,wpDoesObjectMatch)
  1730.     (this,pvoidExtendedCriteria);
  1731. }
  1732.  
  1733.  
  1734. /* method: wpDraggedOverObject */
  1735. MRESULT   wpDraggedOverObject(WPObject* DraggedOverObject)
  1736. {
  1737.    return SOM_ResolveD(this,WPObject,WPObject,wpDraggedOverObject)
  1738.     (this,DraggedOverObject);
  1739. }
  1740.  
  1741.  
  1742. /* method: wpDragOver */
  1743. MRESULT   wpDragOver(HWND hwndCnr, 
  1744.         PDRAGINFO pdrgInfo)
  1745. {
  1746.    return SOM_ResolveD(this,WPObject,WPObject,wpDragOver)
  1747.     (this,hwndCnr,pdrgInfo);
  1748. }
  1749.  
  1750.  
  1751. /* method: wpDrop */
  1752. MRESULT   wpDrop(HWND hwndCnr, 
  1753.         PDRAGINFO pdrgInfo, 
  1754.         PDRAGITEM pdrgItem)
  1755. {
  1756.    return SOM_ResolveD(this,WPObject,WPObject,wpDrop)
  1757.     (this,hwndCnr,pdrgInfo,pdrgItem);
  1758. }
  1759.  
  1760.  
  1761. /* method: wpDroppedOnObject */
  1762. BOOL   wpDroppedOnObject(WPObject* DroppedOnObject)
  1763. {
  1764.    return SOM_ResolveD(this,WPObject,WPObject,wpDroppedOnObject)
  1765.     (this,DroppedOnObject);
  1766. }
  1767.  
  1768.  
  1769. /* method: wpEndConversation */
  1770. MRESULT   wpEndConversation(ULONG ulItemID, 
  1771.         ULONG flResult)
  1772. {
  1773.    return SOM_ResolveD(this,WPObject,WPObject,wpEndConversation)
  1774.     (this,ulItemID,flResult);
  1775. }
  1776.  
  1777.  
  1778. /* method: wpFilterPopupMenu */
  1779. ULONG   wpFilterPopupMenu(ULONG ulFlags, 
  1780.         HWND hwndCnr, 
  1781.         BOOL fMultiSelect)
  1782. {
  1783.    return SOM_ResolveD(this,WPObject,WPObject,wpFilterPopupMenu)
  1784.     (this,ulFlags,hwndCnr,fMultiSelect);
  1785. }
  1786.  
  1787.  
  1788. /* method: wpFilterMenu */
  1789. BOOL   wpFilterMenu(FILTERFLAGS* pFlags, 
  1790.         HWND hwndCnr, 
  1791.         BOOL fMultiSelect, 
  1792.         ULONG ulMenuType, 
  1793.         ULONG ulView, 
  1794.         ULONG ulReserved)
  1795. {
  1796.    return SOM_ResolveD(this,WPObject,WPObject,wpFilterMenu)
  1797.     (this,pFlags,hwndCnr,fMultiSelect,ulMenuType,ulView,ulReserved);
  1798. }
  1799.  
  1800.  
  1801. /* method: wpFindUseItem */
  1802. PUSEITEM   wpFindUseItem(ULONG type, 
  1803.         PUSEITEM pCurrentItem)
  1804. {
  1805.    return SOM_ResolveD(this,WPObject,WPObject,wpFindUseItem)
  1806.     (this,type,pCurrentItem);
  1807. }
  1808.  
  1809.  
  1810. /* method: wpFormatDragItem */
  1811. BOOL   wpFormatDragItem(PDRAGITEM pdrgItem)
  1812. {
  1813.    return SOM_ResolveD(this,WPObject,WPObject,wpFormatDragItem)
  1814.     (this,pdrgItem);
  1815. }
  1816.  
  1817.  
  1818. /* method: wpFree */
  1819. BOOL   wpFree()
  1820. {
  1821.    return SOM_ResolveD(this,WPObject,WPObject,wpFree)
  1822.     (this);
  1823. }
  1824.  
  1825.  
  1826. /* method: wpFreeMem */
  1827. BOOL   wpFreeMem(PBYTE pByte)
  1828. {
  1829.    return SOM_ResolveD(this,WPObject,WPObject,wpFreeMem)
  1830.     (this,pByte);
  1831. }
  1832.  
  1833.  
  1834. /* method: wpHide */
  1835. BOOL   wpHide()
  1836. {
  1837.    return SOM_ResolveD(this,WPObject,WPObject,wpHide)
  1838.     (this);
  1839. }
  1840.  
  1841.  
  1842. /* method: wpInitData */
  1843. void   wpInitData()
  1844. {
  1845.    SOM_ResolveD(this,WPObject,WPObject,wpInitData)
  1846.     (this);
  1847. }
  1848.  
  1849.  
  1850. /* method: wpInsertPopupMenuItems */
  1851. BOOL   wpInsertPopupMenuItems(HWND hwndMenu, 
  1852.         ULONG iPosition, 
  1853.         HMODULE hmod, 
  1854.         ULONG MenuID, 
  1855.         ULONG SubMenuID)
  1856. {
  1857.    return SOM_ResolveD(this,WPObject,WPObject,wpInsertPopupMenuItems)
  1858.     (this,hwndMenu,iPosition,hmod,MenuID,SubMenuID);
  1859. }
  1860.  
  1861.  
  1862. /* method: wpInsertMenuItems */
  1863. BOOL   wpInsertMenuItems(HWND hwndMenu, 
  1864.         ULONG iPosition, 
  1865.         HMODULE hmod, 
  1866.         ULONG MenuID, 
  1867.         ULONG SubMenuID)
  1868. {
  1869.    return SOM_ResolveD(this,WPObject,WPObject,wpInsertMenuItems)
  1870.     (this,hwndMenu,iPosition,hmod,MenuID,SubMenuID);
  1871. }
  1872.  
  1873.  
  1874. /* method: wpInsertSettingsPage */
  1875. ULONG   wpInsertSettingsPage(HWND hwndNotebook, 
  1876.         PPAGEINFO ppageinfo)
  1877. {
  1878.    return SOM_ResolveD(this,WPObject,WPObject,wpInsertSettingsPage)
  1879.     (this,hwndNotebook,ppageinfo);
  1880. }
  1881.  
  1882.  
  1883. /* method: wpMenuItemHelpSelected */
  1884. BOOL   wpMenuItemHelpSelected(ULONG MenuId)
  1885. {
  1886.    return SOM_ResolveD(this,WPObject,WPObject,wpMenuItemHelpSelected)
  1887.     (this,MenuId);
  1888. }
  1889.  
  1890.  
  1891. /* method: wpMenuItemSelected */
  1892. BOOL   wpMenuItemSelected(HWND hwndFrame, 
  1893.         ULONG ulMenuId)
  1894. {
  1895.    return SOM_ResolveD(this,WPObject,WPObject,wpMenuItemSelected)
  1896.     (this,hwndFrame,ulMenuId);
  1897. }
  1898.  
  1899.  
  1900. /* method: wpModifyPopupMenu */
  1901. BOOL   wpModifyPopupMenu(HWND hwndMenu, 
  1902.         HWND hwndCnr, 
  1903.         ULONG iPosition)
  1904. {
  1905.    return SOM_ResolveD(this,WPObject,WPObject,wpModifyPopupMenu)
  1906.     (this,hwndMenu,hwndCnr,iPosition);
  1907. }
  1908.  
  1909.  
  1910. /* method: wpModifyMenu */
  1911. BOOL   wpModifyMenu(HWND hwndMenu, 
  1912.         HWND hwndCnr, 
  1913.         ULONG iPosition, 
  1914.         ULONG ulMenuType, 
  1915.         ULONG ulView, 
  1916.         ULONG ulReserved)
  1917. {
  1918.    return SOM_ResolveD(this,WPObject,WPObject,wpModifyMenu)
  1919.     (this,hwndMenu,hwndCnr,iPosition,ulMenuType,ulView,ulReserved);
  1920. }
  1921.  
  1922.  
  1923. /* method: wpMoveObject */
  1924. BOOL   wpMoveObject(WPFolder* Folder)
  1925. {
  1926.    return SOM_ResolveD(this,WPObject,WPObject,wpMoveObject)
  1927.     (this,Folder);
  1928. }
  1929.  
  1930.  
  1931. /* method: wpOpen */
  1932. HWND   wpOpen(HWND hwndCnr, 
  1933.         ULONG ulView, 
  1934.         ULONG param)
  1935. {
  1936.    return SOM_ResolveD(this,WPObject,WPObject,wpOpen)
  1937.     (this,hwndCnr,ulView,param);
  1938. }
  1939.  
  1940.  
  1941. /* method: wpPrintObject */
  1942. BOOL   wpPrintObject(PPRINTDEST pPrintDest, 
  1943.         ULONG ulReserved)
  1944. {
  1945.    return SOM_ResolveD(this,WPObject,WPObject,wpPrintObject)
  1946.     (this,pPrintDest,ulReserved);
  1947. }
  1948.  
  1949.  
  1950. /* method: wpQueryConcurrentView */
  1951. ULONG   wpQueryConcurrentView()
  1952. {
  1953.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryConcurrentView)
  1954.     (this);
  1955. }
  1956.  
  1957.  
  1958. /* method: wpQueryButtonAppearance */
  1959. ULONG   wpQueryButtonAppearance()
  1960. {
  1961.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryButtonAppearance)
  1962.     (this);
  1963. }
  1964.  
  1965.  
  1966. /* method: wpQueryConfirmations */
  1967. ULONG   wpQueryConfirmations()
  1968. {
  1969.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryConfirmations)
  1970.     (this);
  1971. }
  1972.  
  1973.  
  1974. /* method: wpQueryDefaultHelp */
  1975. BOOL   wpQueryDefaultHelp(PULONG pHelpPanelId, 
  1976.         PSZ HelpLibrary)
  1977. {
  1978.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDefaultHelp)
  1979.     (this,pHelpPanelId,HelpLibrary);
  1980. }
  1981.  
  1982.  
  1983. /* method: wpQueryDefaultView */
  1984. ULONG   wpQueryDefaultView()
  1985. {
  1986.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDefaultView)
  1987.     (this);
  1988. }
  1989.  
  1990.  
  1991. /* method: wpQueryDetailsData */
  1992. ULONG   wpQueryDetailsData(PVOID* ppDetailsData, 
  1993.         PULONG pcp)
  1994. {
  1995.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDetailsData)
  1996.     (this,ppDetailsData,pcp);
  1997. }
  1998.  
  1999.  
  2000. /* method: wpQueryError */
  2001. ULONG   wpQueryError()
  2002. {
  2003.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryError)
  2004.     (this);
  2005. }
  2006.  
  2007.  
  2008. /* method: wpSetFolder */
  2009. BOOL   wpSetFolder(WPObject* container)
  2010. {
  2011.    return SOM_ResolveD(this,WPObject,WPObject,wpSetFolder)
  2012.     (this,container);
  2013. }
  2014.  
  2015.  
  2016. /* method: wpQueryFolder */
  2017. WPObject*   wpQueryFolder()
  2018. {
  2019.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryFolder)
  2020.     (this);
  2021. }
  2022.  
  2023.  
  2024. /* method: wpQueryIcon */
  2025. HPOINTER   wpQueryIcon()
  2026. {
  2027.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryIcon)
  2028.     (this);
  2029. }
  2030.  
  2031.  
  2032. /* method: wpQueryIconData */
  2033. ULONG   wpQueryIconData(PICONINFO pIconInfo)
  2034. {
  2035.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryIconData)
  2036.     (this,pIconInfo);
  2037. }
  2038.  
  2039.  
  2040. /* method: wpQueryMinWindow */
  2041. ULONG   wpQueryMinWindow()
  2042. {
  2043.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryMinWindow)
  2044.     (this);
  2045. }
  2046.  
  2047.  
  2048. /* method: wpQueryNameClashOptions */
  2049. ULONG   wpQueryNameClashOptions(ULONG menuID)
  2050. {
  2051.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryNameClashOptions)
  2052.     (this,menuID);
  2053. }
  2054.  
  2055.  
  2056. /* method: wpQueryStyle */
  2057. ULONG   wpQueryStyle()
  2058. {
  2059.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryStyle)
  2060.     (this);
  2061. }
  2062.  
  2063.  
  2064. /* method: wpSetTaskRec */
  2065. BOOL32   wpSetTaskRec(PTASKREC pNew, 
  2066.         PTASKREC pOld)
  2067. {
  2068.    return SOM_ResolveD(this,WPObject,WPObject,wpSetTaskRec)
  2069.     (this,pNew,pOld);
  2070. }
  2071.  
  2072.  
  2073. /* method: wpFindTaskRec */
  2074. PTASKREC   wpFindTaskRec()
  2075. {
  2076.    return SOM_ResolveD(this,WPObject,WPObject,wpFindTaskRec)
  2077.     (this);
  2078. }
  2079.  
  2080.  
  2081. /* method: wpQueryTitle */
  2082. PSZ   wpQueryTitle()
  2083. {
  2084.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryTitle)
  2085.     (this);
  2086. }
  2087.  
  2088.  
  2089. /* method: wpRegisterView */
  2090. BOOL   wpRegisterView(HWND hwndFrame, 
  2091.         PSZ pszViewTitle)
  2092. {
  2093.    return SOM_ResolveD(this,WPObject,WPObject,wpRegisterView)
  2094.     (this,hwndFrame,pszViewTitle);
  2095. }
  2096.  
  2097.  
  2098. /* method: wpReleaseObjectMutexSem */
  2099. ULONG   wpReleaseObjectMutexSem()
  2100. {
  2101.    return SOM_ResolveD(this,WPObject,WPObject,wpReleaseObjectMutexSem)
  2102.     (this);
  2103. }
  2104.  
  2105.  
  2106. /* method: wpRender */
  2107. MRESULT   wpRender(PDRAGTRANSFER pdxfer)
  2108. {
  2109.    return SOM_ResolveD(this,WPObject,WPObject,wpRender)
  2110.     (this,pdxfer);
  2111. }
  2112.  
  2113.  
  2114. /* method: wpRenderComplete */
  2115. MRESULT   wpRenderComplete(PDRAGTRANSFER pdxfer, 
  2116.         ULONG ulResult)
  2117. {
  2118.    return SOM_ResolveD(this,WPObject,WPObject,wpRenderComplete)
  2119.     (this,pdxfer,ulResult);
  2120. }
  2121.  
  2122.  
  2123. /* method: wpReplaceObject */
  2124. BOOL32   wpReplaceObject(WPObject* targetObject, 
  2125.         BOOL32 fMove)
  2126. {
  2127.    return SOM_ResolveD(this,WPObject,WPObject,wpReplaceObject)
  2128.     (this,targetObject,fMove);
  2129. }
  2130.  
  2131.  
  2132. /* method: wpRequestObjectMutexSem */
  2133. ULONG   wpRequestObjectMutexSem(ULONG ulTimeout)
  2134. {
  2135.    return SOM_ResolveD(this,WPObject,WPObject,wpRequestObjectMutexSem)
  2136.     (this,ulTimeout);
  2137. }
  2138.  
  2139.  
  2140. /* method: wpRestore */
  2141. BOOL   wpRestore()
  2142. {
  2143.    return SOM_ResolveD(this,WPObject,WPObject,wpRestore)
  2144.     (this);
  2145. }
  2146.  
  2147.  
  2148. /* method: wpRestoreData */
  2149. BOOL   wpRestoreData(PSZ pszClass, 
  2150.         ULONG ulKey, 
  2151.         PBYTE pValue, 
  2152.         PULONG pcbValue)
  2153. {
  2154.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreData)
  2155.     (this,pszClass,ulKey,pValue,pcbValue);
  2156. }
  2157.  
  2158.  
  2159. /* method: wpRestoreLong */
  2160. BOOL   wpRestoreLong(PSZ pszClass, 
  2161.         ULONG ulKey, 
  2162.         PULONG pulValue)
  2163. {
  2164.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreLong)
  2165.     (this,pszClass,ulKey,pulValue);
  2166. }
  2167.  
  2168.  
  2169. /* method: wpRestoreState */
  2170. BOOL   wpRestoreState(ULONG ulReserved)
  2171. {
  2172.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreState)
  2173.     (this,ulReserved);
  2174. }
  2175.  
  2176.  
  2177. /* method: wpRestoreString */
  2178. BOOL   wpRestoreString(PSZ pszClass, 
  2179.         ULONG ulKey, 
  2180.         PSZ pszValue, 
  2181.         PULONG pcbValue)
  2182. {
  2183.    return SOM_ResolveD(this,WPObject,WPObject,wpRestoreString)
  2184.     (this,pszClass,ulKey,pszValue,pcbValue);
  2185. }
  2186.  
  2187.  
  2188. /* method: wpSaveData */
  2189. BOOL   wpSaveData(PSZ pszClass, 
  2190.         ULONG ulKey, 
  2191.         PBYTE pValue, 
  2192.         ULONG cbValue)
  2193. {
  2194.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveData)
  2195.     (this,pszClass,ulKey,pValue,cbValue);
  2196. }
  2197.  
  2198.  
  2199. /* method: wpSaveImmediate */
  2200. BOOL   wpSaveImmediate()
  2201. {
  2202.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveImmediate)
  2203.     (this);
  2204. }
  2205.  
  2206.  
  2207. /* method: wpSaveDeferred */
  2208. BOOL   wpSaveDeferred()
  2209. {
  2210.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveDeferred)
  2211.     (this);
  2212. }
  2213.  
  2214.  
  2215. /* method: wpSaveLong */
  2216. BOOL   wpSaveLong(PSZ pszClass, 
  2217.         ULONG ulKey, 
  2218.         ULONG ulValue)
  2219. {
  2220.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveLong)
  2221.     (this,pszClass,ulKey,ulValue);
  2222. }
  2223.  
  2224.  
  2225. /* method: wpSaveState */
  2226. BOOL   wpSaveState()
  2227. {
  2228.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveState)
  2229.     (this);
  2230. }
  2231.  
  2232.  
  2233. /* method: wpSaveString */
  2234. BOOL   wpSaveString(PSZ pszClass, 
  2235.         ULONG ulKey, 
  2236.         PSZ pszValue)
  2237. {
  2238.    return SOM_ResolveD(this,WPObject,WPObject,wpSaveString)
  2239.     (this,pszClass,ulKey,pszValue);
  2240. }
  2241.  
  2242.  
  2243. /* method: wpScanSetupString */
  2244. BOOL   wpScanSetupString(PSZ pszSetupString, 
  2245.         PSZ pszKey, 
  2246.         PSZ pszValue, 
  2247.         PULONG pcbValue)
  2248. {
  2249.    return SOM_ResolveD(this,WPObject,WPObject,wpScanSetupString)
  2250.     (this,pszSetupString,pszKey,pszValue,pcbValue);
  2251. }
  2252.  
  2253.  
  2254. /* method: wpSetConcurrentView */
  2255. void   wpSetConcurrentView(ULONG ulCCView)
  2256. {
  2257.    SOM_ResolveD(this,WPObject,WPObject,wpSetConcurrentView)
  2258.     (this,ulCCView);
  2259. }
  2260.  
  2261.  
  2262. /* method: wpSetButtonAppearance */
  2263. void   wpSetButtonAppearance(ULONG ulButtonType)
  2264. {
  2265.    SOM_ResolveD(this,WPObject,WPObject,wpSetButtonAppearance)
  2266.     (this,ulButtonType);
  2267. }
  2268.  
  2269.  
  2270. /* method: wpSetDefaultHelp */
  2271. BOOL   wpSetDefaultHelp(ULONG HelpPanelId, 
  2272.         PSZ HelpLibrary)
  2273. {
  2274.    return SOM_ResolveD(this,WPObject,WPObject,wpSetDefaultHelp)
  2275.     (this,HelpPanelId,HelpLibrary);
  2276. }
  2277.  
  2278.  
  2279. /* method: wpSetDefaultView */
  2280. BOOL   wpSetDefaultView(ULONG ulView)
  2281. {
  2282.    return SOM_ResolveD(this,WPObject,WPObject,wpSetDefaultView)
  2283.     (this,ulView);
  2284. }
  2285.  
  2286.  
  2287. /* method: wpSetError */
  2288. BOOL   wpSetError(ULONG ulErrorId)
  2289. {
  2290.    return SOM_ResolveD(this,WPObject,WPObject,wpSetError)
  2291.     (this,ulErrorId);
  2292. }
  2293.  
  2294.  
  2295. /* method: wpQueryScreenGroupID */
  2296. SGID   wpQueryScreenGroupID(SGID sgidPrevSgId)
  2297. {
  2298.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryScreenGroupID)
  2299.     (this,sgidPrevSgId);
  2300. }
  2301.  
  2302.  
  2303. /* method: wpSetupOnce */
  2304. BOOL   wpSetupOnce(PSZ pszSetupString)
  2305. {
  2306.    return SOM_ResolveD(this,WPObject,WPObject,wpSetupOnce)
  2307.     (this,pszSetupString);
  2308. }
  2309.  
  2310.  
  2311. /* method: wpSetIcon */
  2312. BOOL   wpSetIcon(HPOINTER hptrNewIcon)
  2313. {
  2314.    return SOM_ResolveD(this,WPObject,WPObject,wpSetIcon)
  2315.     (this,hptrNewIcon);
  2316. }
  2317.  
  2318.  
  2319. /* method: wpSetIconData */
  2320. BOOL   wpSetIconData(PICONINFO pIconInfo)
  2321. {
  2322.    return SOM_ResolveD(this,WPObject,WPObject,wpSetIconData)
  2323.     (this,pIconInfo);
  2324. }
  2325.  
  2326.  
  2327. /* method: wpSetMinWindow */
  2328. void   wpSetMinWindow(ULONG ulMinWindow)
  2329. {
  2330.    SOM_ResolveD(this,WPObject,WPObject,wpSetMinWindow)
  2331.     (this,ulMinWindow);
  2332. }
  2333.  
  2334.  
  2335. /* method: wpModifyStyle */
  2336. BOOL   wpModifyStyle(ULONG ulStyleFlags, 
  2337.         ULONG ulStyleMask)
  2338. {
  2339.    return SOM_ResolveD(this,WPObject,WPObject,wpModifyStyle)
  2340.     (this,ulStyleFlags,ulStyleMask);
  2341. }
  2342.  
  2343.  
  2344. /* method: wpSetTitle */
  2345. BOOL   wpSetTitle(PSZ pszNewTitle)
  2346. {
  2347.    return SOM_ResolveD(this,WPObject,WPObject,wpSetTitle)
  2348.     (this,pszNewTitle);
  2349. }
  2350.  
  2351.  
  2352. /* method: wpSetup */
  2353. BOOL   wpSetup(PSZ pszSetupString)
  2354. {
  2355.    return SOM_ResolveD(this,WPObject,WPObject,wpSetup)
  2356.     (this,pszSetupString);
  2357. }
  2358.  
  2359.  
  2360. /* method: wpSwitchTo */
  2361. BOOL   wpSwitchTo(ULONG View)
  2362. {
  2363.    return SOM_ResolveD(this,WPObject,WPObject,wpSwitchTo)
  2364.     (this,View);
  2365. }
  2366.  
  2367.  
  2368. /* method: wpUnInitData */
  2369. void   wpUnInitData()
  2370. {
  2371.    SOM_ResolveD(this,WPObject,WPObject,wpUnInitData)
  2372.     (this);
  2373. }
  2374.  
  2375.  
  2376. /* method: wpViewObject */
  2377. HWND   wpViewObject(HWND hwndCnr, 
  2378.         ULONG ulView, 
  2379.         ULONG param)
  2380. {
  2381.    return SOM_ResolveD(this,WPObject,WPObject,wpViewObject)
  2382.     (this,hwndCnr,ulView,param);
  2383. }
  2384.  
  2385.  
  2386. /* procedure: wpQueryTrueStyle */
  2387. static ULONG   wpQueryTrueStyle(WPObject *somSelf)
  2388. {
  2389.    return ((somTD_WPObject_wpQueryTrueStyle)WPObjectClassData.wpQueryTrueStyle)
  2390.     (somSelf);
  2391. }
  2392.  
  2393.  
  2394. /* method: wpQueryHandle */
  2395. HOBJECT   wpQueryHandle()
  2396. {
  2397.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryHandle)
  2398.     (this);
  2399. }
  2400.  
  2401.  
  2402. /* method: wpUnlockObject */
  2403. BOOL   wpUnlockObject()
  2404. {
  2405.    return SOM_ResolveD(this,WPObject,WPObject,wpUnlockObject)
  2406.     (this);
  2407. }
  2408.  
  2409.  
  2410. /* method: wpObjectReady */
  2411. void   wpObjectReady(ULONG ulCode, 
  2412.         WPObject* refObject)
  2413. {
  2414.    SOM_ResolveD(this,WPObject,WPObject,wpObjectReady)
  2415.     (this,ulCode,refObject);
  2416. }
  2417.  
  2418.  
  2419. /* method: wpIsObjectInitialized */
  2420. BOOL   wpIsObjectInitialized()
  2421. {
  2422.    return SOM_ResolveD(this,WPObject,WPObject,wpIsObjectInitialized)
  2423.     (this);
  2424. }
  2425.  
  2426.  
  2427. /* method: wpCreateShadowObjectExt */
  2428. WPObject*   wpCreateShadowObjectExt(WPFolder* Folder, 
  2429.         BOOL fLock, 
  2430.         PSZ pszSetup, 
  2431.         M_WPObject* shadowClass)
  2432. {
  2433.    return SOM_ResolveD(this,WPObject,WPObject,wpCreateShadowObjectExt)
  2434.     (this,Folder,fLock,pszSetup,shadowClass);
  2435. }
  2436.  
  2437.  
  2438. /* method: wpCnrDeleteUseItem */
  2439. BOOL   wpCnrDeleteUseItem(HWND hwndCnr)
  2440. {
  2441.    return SOM_ResolveD(this,WPObject,WPObject,wpCnrDeleteUseItem)
  2442.     (this,hwndCnr);
  2443. }
  2444.  
  2445.  
  2446. /* method: wpIsDeleteable */
  2447. BOOL   wpIsDeleteable()
  2448. {
  2449.    return SOM_ResolveD(this,WPObject,WPObject,wpIsDeleteable)
  2450.     (this);
  2451. }
  2452.  
  2453.  
  2454. /* method: wpQueryCoreRecord */
  2455. PMINIRECORDCORE   wpQueryCoreRecord()
  2456. {
  2457.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryCoreRecord)
  2458.     (this);
  2459. }
  2460.  
  2461.  
  2462. /* method: wpSetObjectID */
  2463. BOOL   wpSetObjectID(PSZ pszObjectID)
  2464. {
  2465.    return SOM_ResolveD(this,WPObject,WPObject,wpSetObjectID)
  2466.     (this,pszObjectID);
  2467. }
  2468.  
  2469.  
  2470. /* method: wpQueryObjectID */
  2471. PSZ   wpQueryObjectID()
  2472. {
  2473.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryObjectID)
  2474.     (this);
  2475. }
  2476.  
  2477.  
  2478. /* method: wpSetDefaultIconPos */
  2479. BOOL   wpSetDefaultIconPos(PPOINTL pPointl)
  2480. {
  2481.    return SOM_ResolveD(this,WPObject,WPObject,wpSetDefaultIconPos)
  2482.     (this,pPointl);
  2483. }
  2484.  
  2485.  
  2486. /* method: wpQueryDefaultIconPos */
  2487. BOOL   wpQueryDefaultIconPos(PPOINTL pPointl)
  2488. {
  2489.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryDefaultIconPos)
  2490.     (this,pPointl);
  2491. }
  2492.  
  2493.  
  2494. /* method: wpCnrRefreshDetails */
  2495. void   wpCnrRefreshDetails()
  2496. {
  2497.    SOM_ResolveD(this,WPObject,WPObject,wpCnrRefreshDetails)
  2498.     (this);
  2499. }
  2500.  
  2501.  
  2502. /* method: wpFindViewItem */
  2503. PVIEWITEM   wpFindViewItem(ULONG flViews, 
  2504.         PVIEWITEM pCurrentItem)
  2505. {
  2506.    return SOM_ResolveD(this,WPObject,WPObject,wpFindViewItem)
  2507.     (this,flViews,pCurrentItem);
  2508. }
  2509.  
  2510.  
  2511. /* method: wpLockObject */
  2512. void   wpLockObject()
  2513. {
  2514.    SOM_ResolveD(this,WPObject,WPObject,wpLockObject)
  2515.     (this);
  2516. }
  2517.  
  2518.  
  2519. /* method: wpIsLocked */
  2520. BOOL   wpIsLocked()
  2521. {
  2522.    return SOM_ResolveD(this,WPObject,WPObject,wpIsLocked)
  2523.     (this);
  2524. }
  2525.  
  2526.  
  2527. /* method: wpQueryContainerFlagPtr */
  2528. PULONG   wpQueryContainerFlagPtr()
  2529. {
  2530.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryContainerFlagPtr)
  2531.     (this);
  2532. }
  2533.  
  2534.  
  2535. /* method: wpWaitForClose */
  2536. ULONG   wpWaitForClose(LHANDLE lhView, 
  2537.         ULONG ulViews, 
  2538.         long lTimeOut, 
  2539.         BOOL bAutoClose)
  2540. {
  2541.    return SOM_ResolveD(this,WPObject,WPObject,wpWaitForClose)
  2542.     (this,lhView,ulViews,lTimeOut,bAutoClose);
  2543. }
  2544.  
  2545.  
  2546. /* method: wpSetMenuStyle */
  2547. BOOL   wpSetMenuStyle(ULONG ulStyle)
  2548. {
  2549.    return SOM_ResolveD(this,WPObject,WPObject,wpSetMenuStyle)
  2550.     (this,ulStyle);
  2551. }
  2552.  
  2553.  
  2554. /* method: wpQueryMenuStyle */
  2555. ULONG   wpQueryMenuStyle()
  2556. {
  2557.    return SOM_ResolveD(this,WPObject,WPObject,wpQueryMenuStyle)
  2558.     (this);
  2559. }
  2560.  
  2561.  
  2562. /* method: wpIdentify */
  2563. BOOL   wpIdentify(PSZ pszIdentity)
  2564. {
  2565.    return SOM_ResolveD(this,WPObject,WPObject,wpIdentify)
  2566.     (this,pszIdentity);
  2567. }
  2568.  
  2569.  
  2570. /* method: wpSetStyle */
  2571. BOOL   wpSetStyle(ULONG ulNewStyle)
  2572. {
  2573.    return SOM_ResolveD(this,WPObject,WPObject,wpSetStyle)
  2574.     (this,ulNewStyle);
  2575. }
  2576.  
  2577.  
  2578. /*
  2579.  * Reintroduce inherited methods
  2580.  */
  2581.  
  2582. /* method: somGetClass */
  2583. M_WPObject*  somGetClass()
  2584. {
  2585. /*
  2586.  *  Return the receiver's class.
  2587.  */
  2588.    return SOM_ResolveD(this,WPObject,SOMObject,somGetClass)
  2589.     (this);
  2590. }
  2591.  
  2592.  
  2593.  
  2594. };   /* WPObject */
  2595.  
  2596.  
  2597.  
  2598. #endif       /* SOM_WPObject_xh */
  2599.  
  2600. #ifndef SOM_M_WPObject_xh
  2601. #define SOM_M_WPObject_xh
  2602.  
  2603. class M_WPObject;
  2604.  
  2605. #define M_WPObject_MajorVersion 1
  2606. #define M_WPObject_MinorVersion 2
  2607.  
  2608. /* C++ SOM defs */
  2609. #include <somcls.xh>
  2610. #include <somcm.xh>
  2611.  
  2612. /* C++ parent defs */
  2613. #ifndef SOM_SOMClass_xh
  2614. #include <somcls.xh>
  2615. #endif
  2616.  
  2617. #ifndef M_WPObject_API
  2618. #define M_WPObject_API
  2619. /*
  2620.  * -- The Class API
  2621.  */
  2622.  
  2623. /*
  2624.  * Start of bindings for IDL types
  2625.  */
  2626.  
  2627.  
  2628. /*
  2629.  * End of bindings for IDL types.
  2630.  */
  2631.  
  2632. /*
  2633.  * -- M_WPObject is a metaclass for WPObject. Make sure WPObject is known.
  2634.  */
  2635. class WPObject;
  2636.  
  2637.  
  2638. /* A procedure to create the M_WPObject Class */
  2639. SOMEXTERN SOMClass * SOMLINK M_WPObjectNewClass(
  2640.         integer4 majorVersion,
  2641.         integer4 minorVersion);
  2642.  
  2643. /* The API to the M_WPObject class object, and the methods it introduces. */
  2644. SOMEXTERN struct M_WPObjectClassDataStructure {
  2645.     SOMClass *classObject;
  2646.     somMToken wpclsInitData;
  2647.     somMToken wpclsUnInitData;
  2648.     somMToken withdrawn8;
  2649.     somMToken wpclsMakeAwake;
  2650.     somMToken wpclsIncUsage;
  2651.     somMToken wpclsDecUsage;
  2652.     somMToken wpclsQueryTitle;
  2653.     somMToken wpclsQueryIcon;
  2654.     somMToken wpclsQueryDefaultHelp;
  2655.     somMToken wpclsQueryStyle;
  2656.     somMToken wpclsQueryDetailsInfo;
  2657.     somMToken wpclsQueryDefaultView;
  2658.     somMToken wpclsQueryDetails;
  2659.     somMToken wpclsQuerySearchInfo;
  2660.     somMToken wpclsQueryExtendedCriteria;
  2661.     somMToken wpclsCreateDefaultTemplates;
  2662.     somMToken withdrawn9;
  2663.     somMToken wpclsFindObjectFirst;
  2664.     somMToken wpclsFindObjectNext;
  2665.     somMToken wpclsFindObjectEnd;
  2666.     somMToken wpclsObjectPrivate1;
  2667.     somMToken wpclsSetError;
  2668.     somMToken wpclsQueryError;
  2669.     somMToken wpclsQuerySettingsPageSize;
  2670.     somMToken wpclsSetSettingsPageSize;
  2671.     somMToken wpclsQueryIconData;
  2672.     somMToken wpclsSetIcon;
  2673.     somMToken wpclsSetIconData;
  2674.     somMToken wpclsQueryObject;
  2675.     somMToken wpclsObjectFromHandle;
  2676.     somMToken wpclsObjectPrivate2;
  2677.     somMToken wpclsObjectPrivate3;
  2678.     somMToken wpclsObjectPrivate4;
  2679.     somMToken wpclsObjectPrivate5;
  2680.     somMToken wpclsObjectPrivate6;
  2681.     somMToken wpclsQueryButtonAppearance;
  2682.     somMToken wpclsNew;
  2683.     somMToken wpclsQueryFolder;
  2684.     somMToken wpclsObjectPrivate7;
  2685.     somMToken wpclsObjectPrivate8;
  2686.     somMToken wpclsRemoveObjects;
  2687.     somMToken wpclsInsertMultipleObjects;
  2688.     somMToken wpclsObjectPrivate9;
  2689.     somMToken wpclsFindOneObject;
  2690.     somMToken wpclsObjectPrivate10;
  2691. } SOMDLINK M_WPObjectClassData;
  2692. #define _M_WPObject M_WPObjectClassData.classObject
  2693.  
  2694. /* The API to parentMtabs for M_WPObject, and the instance data it introduces. */
  2695. SOMEXTERN struct M_WPObjectCClassDataStructure {
  2696.     somMethodTabs parentMtab;
  2697.     somDToken              instanceDataToken;
  2698. } SOMDLINK M_WPObjectCClassData;
  2699.  
  2700. /*
  2701.  * -- Typedefs for M_WPObject Method Procedures
  2702.  */
  2703. SOMEXTERN {
  2704. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsCreateDefaultTemplates(M_WPObject *somSelf, 
  2705.         WPObject* Folder);
  2706. typedef somTP_M_WPObject_wpclsCreateDefaultTemplates *somTD_M_WPObject_wpclsCreateDefaultTemplates;
  2707. typedef void   SOMLINK somTP_M_WPObject_wpclsInitData(M_WPObject *somSelf);
  2708. typedef somTP_M_WPObject_wpclsInitData *somTD_M_WPObject_wpclsInitData;
  2709. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsMakeAwake(M_WPObject *somSelf, 
  2710.         PSZ pszTitle, 
  2711.         ULONG ulStyle, 
  2712.         HPOINTER hptrIcon, 
  2713.         POBJDATA pObjData, 
  2714.         WPFolder* Folder, 
  2715.         ULONG ulUser);
  2716. typedef somTP_M_WPObject_wpclsMakeAwake *somTD_M_WPObject_wpclsMakeAwake;
  2717. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsNew(M_WPObject *somSelf, 
  2718.         PSZ pszTitle, 
  2719.         PSZ pszSetupEnv, 
  2720.         WPFolder* Folder, 
  2721.         BOOL fLock);
  2722. typedef somTP_M_WPObject_wpclsNew *somTD_M_WPObject_wpclsNew;
  2723. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQueryDefaultHelp(M_WPObject *somSelf, 
  2724.         PULONG pHelpPanelId, 
  2725.         PSZ pszHelpLibrary);
  2726. typedef somTP_M_WPObject_wpclsQueryDefaultHelp *somTD_M_WPObject_wpclsQueryDefaultHelp;
  2727. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryDefaultView(M_WPObject *somSelf);
  2728. typedef somTP_M_WPObject_wpclsQueryDefaultView *somTD_M_WPObject_wpclsQueryDefaultView;
  2729. typedef PCLASSDETAILS   SOMLINK somTP_M_WPObject_wpclsQueryDetails(M_WPObject *somSelf);
  2730. typedef somTP_M_WPObject_wpclsQueryDetails *somTD_M_WPObject_wpclsQueryDetails;
  2731. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryDetailsInfo(M_WPObject *somSelf, 
  2732.         PCLASSFIELDINFO* ppClassFieldInfo, 
  2733.         PULONG pSize);
  2734. typedef somTP_M_WPObject_wpclsQueryDetailsInfo *somTD_M_WPObject_wpclsQueryDetailsInfo;
  2735. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQueryExtendedCriteria(M_WPObject *somSelf, 
  2736.         PSZ pszName, 
  2737.         ULONG ulSearchType, 
  2738.         PVOID pvoidExtendedCriteria);
  2739. typedef somTP_M_WPObject_wpclsQueryExtendedCriteria *somTD_M_WPObject_wpclsQueryExtendedCriteria;
  2740. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsQueryFolder(M_WPObject *somSelf, 
  2741.         PSZ pszLocation, 
  2742.         BOOL fLock);
  2743. typedef somTP_M_WPObject_wpclsQueryFolder *somTD_M_WPObject_wpclsQueryFolder;
  2744. typedef HPOINTER   SOMLINK somTP_M_WPObject_wpclsQueryIcon(M_WPObject *somSelf);
  2745. typedef somTP_M_WPObject_wpclsQueryIcon *somTD_M_WPObject_wpclsQueryIcon;
  2746. typedef void   SOMLINK somTP_M_WPObject_wpclsQuerySearchInfo(M_WPObject *somSelf, 
  2747.         M_WPObject** ClassExtended, 
  2748.         M_WPObject** ClassCreate, 
  2749.         PULONG pulClassCriteriaSize);
  2750. typedef somTP_M_WPObject_wpclsQuerySearchInfo *somTD_M_WPObject_wpclsQuerySearchInfo;
  2751. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryStyle(M_WPObject *somSelf);
  2752. typedef somTP_M_WPObject_wpclsQueryStyle *somTD_M_WPObject_wpclsQueryStyle;
  2753. typedef PSZ   SOMLINK somTP_M_WPObject_wpclsQueryTitle(M_WPObject *somSelf);
  2754. typedef somTP_M_WPObject_wpclsQueryTitle *somTD_M_WPObject_wpclsQueryTitle;
  2755. typedef void   SOMLINK somTP_M_WPObject_wpclsUnInitData(M_WPObject *somSelf);
  2756. typedef somTP_M_WPObject_wpclsUnInitData *somTD_M_WPObject_wpclsUnInitData;
  2757. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectFirst(M_WPObject *somSelf, 
  2758.         PCLASS pClassList, 
  2759.         PHFIND phFind, 
  2760.         PSZ pszTitle, 
  2761.         WPFolder* Folder, 
  2762.         BOOL fSubfolders, 
  2763.         PVOID pExtendedCriteria, 
  2764.         POBJECT pBuffer, 
  2765.         PULONG pCount);
  2766. typedef somTP_M_WPObject_wpclsFindObjectFirst *somTD_M_WPObject_wpclsFindObjectFirst;
  2767. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectNext(M_WPObject *somSelf, 
  2768.         HFIND hFind, 
  2769.         POBJECT pBuffer, 
  2770.         PULONG pCount);
  2771. typedef somTP_M_WPObject_wpclsFindObjectNext *somTD_M_WPObject_wpclsFindObjectNext;
  2772. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectEnd(M_WPObject *somSelf, 
  2773.         HFIND hFind);
  2774. typedef somTP_M_WPObject_wpclsFindObjectEnd *somTD_M_WPObject_wpclsFindObjectEnd;
  2775. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetError(M_WPObject *somSelf, 
  2776.         ULONG ulErrorId);
  2777. typedef somTP_M_WPObject_wpclsSetError *somTD_M_WPObject_wpclsSetError;
  2778. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryError(M_WPObject *somSelf);
  2779. typedef somTP_M_WPObject_wpclsQueryError *somTD_M_WPObject_wpclsQueryError;
  2780. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQuerySettingsPageSize(M_WPObject *somSelf, 
  2781.         PSIZEL pSizl);
  2782. typedef somTP_M_WPObject_wpclsQuerySettingsPageSize *somTD_M_WPObject_wpclsQuerySettingsPageSize;
  2783. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryIconData(M_WPObject *somSelf, 
  2784.         PICONINFO pIconInfo);
  2785. typedef somTP_M_WPObject_wpclsQueryIconData *somTD_M_WPObject_wpclsQueryIconData;
  2786. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsQueryObject(M_WPObject *somSelf, 
  2787.         HOBJECT hObject);
  2788. typedef somTP_M_WPObject_wpclsQueryObject *somTD_M_WPObject_wpclsQueryObject;
  2789. typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryButtonAppearance(M_WPObject *somSelf);
  2790. typedef somTP_M_WPObject_wpclsQueryButtonAppearance *somTD_M_WPObject_wpclsQueryButtonAppearance;
  2791. typedef void   SOMLINK somTP_M_WPObject_wpclsDecUsage(M_WPObject *somSelf);
  2792. typedef somTP_M_WPObject_wpclsDecUsage *somTD_M_WPObject_wpclsDecUsage;
  2793. typedef void   SOMLINK somTP_M_WPObject_wpclsIncUsage(M_WPObject *somSelf);
  2794. typedef somTP_M_WPObject_wpclsIncUsage *somTD_M_WPObject_wpclsIncUsage;
  2795. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsInsertMultipleObjects(M_WPObject *somSelf, 
  2796.         HWND hwndCnr, 
  2797.         PPOINTL pptlIcon, 
  2798.         PVOID* pObjectArray, 
  2799.         PVOID pRecordParent, 
  2800.         ULONG NumRecords);
  2801. typedef somTP_M_WPObject_wpclsInsertMultipleObjects *somTD_M_WPObject_wpclsInsertMultipleObjects;
  2802. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsFindOneObject(M_WPObject *somSelf, 
  2803.         HWND hwndOwner, 
  2804.         PSZ pszFindParams);
  2805. typedef somTP_M_WPObject_wpclsFindOneObject *somTD_M_WPObject_wpclsFindOneObject;
  2806. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetSettingsPageSize(M_WPObject *somSelf, 
  2807.         PSIZEL pSizl);
  2808. typedef somTP_M_WPObject_wpclsSetSettingsPageSize *somTD_M_WPObject_wpclsSetSettingsPageSize;
  2809. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetIconData(M_WPObject *somSelf, 
  2810.         PICONINFO pIconInfo);
  2811. typedef somTP_M_WPObject_wpclsSetIconData *somTD_M_WPObject_wpclsSetIconData;
  2812. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetIcon(M_WPObject *somSelf, 
  2813.         HPOINTER hptrNewIcon);
  2814. typedef somTP_M_WPObject_wpclsSetIcon *somTD_M_WPObject_wpclsSetIcon;
  2815. typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsObjectFromHandle(M_WPObject *somSelf, 
  2816.         HOBJECT hObject);
  2817. typedef somTP_M_WPObject_wpclsObjectFromHandle *somTD_M_WPObject_wpclsObjectFromHandle;
  2818. typedef BOOL   SOMLINK somTP_M_WPObject_wpclsRemoveObjects(M_WPObject *somSelf, 
  2819.         HWND hwndCnr, 
  2820.         PVOID* pRecordArray, 
  2821.         ULONG NumRecords, 
  2822.         BOOL RemoveAll);
  2823. typedef somTP_M_WPObject_wpclsRemoveObjects *somTD_M_WPObject_wpclsRemoveObjects;
  2824.  
  2825. /*
  2826.  * -- Typedefs for Reintroduced Wrapper Methods
  2827.  */
  2828. typedef WPObject*   SOMLINK somTP_M_WPObject_somNew(M_WPObject *somSelf);
  2829. typedef somTP_M_WPObject_somNew *somTD_M_WPObject_somNew;
  2830. }
  2831.  
  2832. #endif /* M_WPObject_API */
  2833.  
  2834.  
  2835. /*
  2836.  * -- This emitter treats Method Tokens as Thunks by default.
  2837.  * -- Use the sc modifier "nothunks" to change this default
  2838.  */
  2839. #undef somresolve_
  2840. #define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
  2841.  
  2842. /*
  2843.  * -- The C++ Wrapper Class for M_WPObject
  2844.  */
  2845. class M_WPObject : public SOMClass
  2846. {
  2847. public:
  2848.  
  2849. // M_WPObject::new creates the class object if necessary, and then uses somNewNoInit
  2850. // to allocate memory and create the object. Initialization is in ctors.
  2851. void *operator new(size_t)
  2852. {
  2853.    if (!_M_WPObject) M_WPObjectNewClass(M_WPObject_MajorVersion,M_WPObject_MinorVersion);
  2854.    return (void*)
  2855.       SOM_Resolve(_M_WPObject,SOMClass,somNewNoInit)
  2856.          ((SOMClass *)((void*)_M_WPObject));
  2857. }
  2858.  
  2859. // M_WPObject::delete uses somDestruct.
  2860. void operator delete(void * obj)
  2861. {
  2862.    if (obj && *(void**)obj) {
  2863.       SOM_Resolve(obj,SOMObject,somDestruct)
  2864.          ((SOMObject*)obj, 1, 0);
  2865.    }
  2866. }
  2867.  
  2868. M_WPObject& operator=(M_WPObject& fromObj)
  2869. {
  2870.    this->somDefaultAssign(0,(SOMObject*)((void*)&fromObj));
  2871.    return *this;
  2872. }
  2873.  
  2874. M_WPObject()
  2875. {
  2876.    if (*(void**)this != 
  2877.        ((somParentMtabStructPtr)
  2878.         (M_WPObjectCClassData.parentMtab))->mtab)
  2879.       return;
  2880.    ((SOMObject*)((void*)this))->somDefaultInit(0);
  2881. }
  2882.  
  2883. M_WPObject(M_WPObject* fromObj)
  2884. {
  2885.    if (*(void**)this != 
  2886.        ((somParentMtabStructPtr)
  2887.         (M_WPObjectCClassData.parentMtab))->mtab)
  2888.       return;
  2889.    ((SOMObject*)((void*)this))->somDefaultCopyInit(0,((SOMObject*)((void*)fromObj)));
  2890. }
  2891.  
  2892. M_WPObject(const M_WPObject* fromObj)
  2893. {
  2894.    if (*(void**)this != 
  2895.        ((somParentMtabStructPtr)
  2896.         (M_WPObjectCClassData.parentMtab))->mtab)
  2897.       return;
  2898.    ((SOMObject*)((void*)this))->somDefaultConstCopyInit(0,((SOMObject*)((void*)fromObj)));
  2899. }
  2900.  
  2901.  
  2902. /* method: wpclsCreateDefaultTemplates */
  2903. BOOL   wpclsCreateDefaultTemplates(WPObject* Folder)
  2904. {
  2905.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsCreateDefaultTemplates)
  2906.     (this,Folder);
  2907. }
  2908.  
  2909.  
  2910. /* method: wpclsInitData */
  2911. void   wpclsInitData()
  2912. {
  2913.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsInitData)
  2914.     (this);
  2915. }
  2916.  
  2917.  
  2918. /* method: wpclsMakeAwake */
  2919. WPObject*   wpclsMakeAwake(PSZ pszTitle, 
  2920.         ULONG ulStyle, 
  2921.         HPOINTER hptrIcon, 
  2922.         POBJDATA pObjData, 
  2923.         WPFolder* Folder, 
  2924.         ULONG ulUser)
  2925. {
  2926.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsMakeAwake)
  2927.     (this,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser);
  2928. }
  2929.  
  2930.  
  2931. /* method: wpclsNew */
  2932. WPObject*   wpclsNew(PSZ pszTitle, 
  2933.         PSZ pszSetupEnv, 
  2934.         WPFolder* Folder, 
  2935.         BOOL fLock)
  2936. {
  2937.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsNew)
  2938.     (this,pszTitle,pszSetupEnv,Folder,fLock);
  2939. }
  2940.  
  2941.  
  2942. /* method: wpclsQueryDefaultHelp */
  2943. BOOL   wpclsQueryDefaultHelp(PULONG pHelpPanelId, 
  2944.         PSZ pszHelpLibrary)
  2945. {
  2946.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDefaultHelp)
  2947.     (this,pHelpPanelId,pszHelpLibrary);
  2948. }
  2949.  
  2950.  
  2951. /* method: wpclsQueryDefaultView */
  2952. ULONG   wpclsQueryDefaultView()
  2953. {
  2954.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDefaultView)
  2955.     (this);
  2956. }
  2957.  
  2958.  
  2959. /* method: wpclsQueryDetails */
  2960. PCLASSDETAILS   wpclsQueryDetails()
  2961. {
  2962.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDetails)
  2963.     (this);
  2964. }
  2965.  
  2966.  
  2967. /* method: wpclsQueryDetailsInfo */
  2968. ULONG   wpclsQueryDetailsInfo(PCLASSFIELDINFO* ppClassFieldInfo, 
  2969.         PULONG pSize)
  2970. {
  2971.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryDetailsInfo)
  2972.     (this,ppClassFieldInfo,pSize);
  2973. }
  2974.  
  2975.  
  2976. /* method: wpclsQueryExtendedCriteria */
  2977. BOOL   wpclsQueryExtendedCriteria(PSZ pszName, 
  2978.         ULONG ulSearchType, 
  2979.         PVOID pvoidExtendedCriteria)
  2980. {
  2981.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryExtendedCriteria)
  2982.     (this,pszName,ulSearchType,pvoidExtendedCriteria);
  2983. }
  2984.  
  2985.  
  2986. /* method: wpclsQueryFolder */
  2987. WPObject*   wpclsQueryFolder(PSZ pszLocation, 
  2988.         BOOL fLock)
  2989. {
  2990.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryFolder)
  2991.     (this,pszLocation,fLock);
  2992. }
  2993.  
  2994.  
  2995. /* method: wpclsQueryIcon */
  2996. HPOINTER   wpclsQueryIcon()
  2997. {
  2998.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryIcon)
  2999.     (this);
  3000. }
  3001.  
  3002.  
  3003. /* method: wpclsQuerySearchInfo */
  3004. void   wpclsQuerySearchInfo(M_WPObject** ClassExtended, 
  3005.         M_WPObject** ClassCreate, 
  3006.         PULONG pulClassCriteriaSize)
  3007. {
  3008.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQuerySearchInfo)
  3009.     (this,ClassExtended,ClassCreate,pulClassCriteriaSize);
  3010. }
  3011.  
  3012.  
  3013. /* method: wpclsQueryStyle */
  3014. ULONG   wpclsQueryStyle()
  3015. {
  3016.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryStyle)
  3017.     (this);
  3018. }
  3019.  
  3020.  
  3021. /* method: wpclsQueryTitle */
  3022. PSZ   wpclsQueryTitle()
  3023. {
  3024.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryTitle)
  3025.     (this);
  3026. }
  3027.  
  3028.  
  3029. /* method: wpclsUnInitData */
  3030. void   wpclsUnInitData()
  3031. {
  3032.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsUnInitData)
  3033.     (this);
  3034. }
  3035.  
  3036.  
  3037. /* method: wpclsFindObjectFirst */
  3038. BOOL   wpclsFindObjectFirst(PCLASS pClassList, 
  3039.         PHFIND phFind, 
  3040.         PSZ pszTitle, 
  3041.         WPFolder* Folder, 
  3042.         BOOL fSubfolders, 
  3043.         PVOID pExtendedCriteria, 
  3044.         POBJECT pBuffer, 
  3045.         PULONG pCount)
  3046. {
  3047.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindObjectFirst)
  3048.     (this,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount);
  3049. }
  3050.  
  3051.  
  3052. /* method: wpclsFindObjectNext */
  3053. BOOL   wpclsFindObjectNext(HFIND hFind, 
  3054.         POBJECT pBuffer, 
  3055.         PULONG pCount)
  3056. {
  3057.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindObjectNext)
  3058.     (this,hFind,pBuffer,pCount);
  3059. }
  3060.  
  3061.  
  3062. /* method: wpclsFindObjectEnd */
  3063. BOOL   wpclsFindObjectEnd(HFIND hFind)
  3064. {
  3065.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindObjectEnd)
  3066.     (this,hFind);
  3067. }
  3068.  
  3069.  
  3070. /* method: wpclsSetError */
  3071. BOOL   wpclsSetError(ULONG ulErrorId)
  3072. {
  3073.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetError)
  3074.     (this,ulErrorId);
  3075. }
  3076.  
  3077.  
  3078. /* method: wpclsQueryError */
  3079. ULONG   wpclsQueryError()
  3080. {
  3081.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryError)
  3082.     (this);
  3083. }
  3084.  
  3085.  
  3086. /* method: wpclsQuerySettingsPageSize */
  3087. BOOL   wpclsQuerySettingsPageSize(PSIZEL pSizl)
  3088. {
  3089.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQuerySettingsPageSize)
  3090.     (this,pSizl);
  3091. }
  3092.  
  3093.  
  3094. /* method: wpclsQueryIconData */
  3095. ULONG   wpclsQueryIconData(PICONINFO pIconInfo)
  3096. {
  3097.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryIconData)
  3098.     (this,pIconInfo);
  3099. }
  3100.  
  3101.  
  3102. /* method: wpclsQueryObject */
  3103. WPObject*   wpclsQueryObject(HOBJECT hObject)
  3104. {
  3105.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryObject)
  3106.     (this,hObject);
  3107. }
  3108.  
  3109.  
  3110. /* method: wpclsQueryButtonAppearance */
  3111. ULONG   wpclsQueryButtonAppearance()
  3112. {
  3113.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsQueryButtonAppearance)
  3114.     (this);
  3115. }
  3116.  
  3117.  
  3118. /* method: wpclsDecUsage */
  3119. void   wpclsDecUsage()
  3120. {
  3121.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsDecUsage)
  3122.     (this);
  3123. }
  3124.  
  3125.  
  3126. /* method: wpclsIncUsage */
  3127. void   wpclsIncUsage()
  3128. {
  3129.    SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsIncUsage)
  3130.     (this);
  3131. }
  3132.  
  3133.  
  3134. /* method: wpclsInsertMultipleObjects */
  3135. BOOL   wpclsInsertMultipleObjects(HWND hwndCnr, 
  3136.         PPOINTL pptlIcon, 
  3137.         PVOID* pObjectArray, 
  3138.         PVOID pRecordParent, 
  3139.         ULONG NumRecords)
  3140. {
  3141.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsInsertMultipleObjects)
  3142.     (this,hwndCnr,pptlIcon,pObjectArray,pRecordParent,NumRecords);
  3143. }
  3144.  
  3145.  
  3146. /* method: wpclsFindOneObject */
  3147. WPObject*   wpclsFindOneObject(HWND hwndOwner, 
  3148.         PSZ pszFindParams)
  3149. {
  3150.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsFindOneObject)
  3151.     (this,hwndOwner,pszFindParams);
  3152. }
  3153.  
  3154.  
  3155. /* method: wpclsSetSettingsPageSize */
  3156. BOOL   wpclsSetSettingsPageSize(PSIZEL pSizl)
  3157. {
  3158.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetSettingsPageSize)
  3159.     (this,pSizl);
  3160. }
  3161.  
  3162.  
  3163. /* method: wpclsSetIconData */
  3164. BOOL   wpclsSetIconData(PICONINFO pIconInfo)
  3165. {
  3166.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetIconData)
  3167.     (this,pIconInfo);
  3168. }
  3169.  
  3170.  
  3171. /* method: wpclsSetIcon */
  3172. BOOL   wpclsSetIcon(HPOINTER hptrNewIcon)
  3173. {
  3174.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsSetIcon)
  3175.     (this,hptrNewIcon);
  3176. }
  3177.  
  3178.  
  3179. /* method: wpclsObjectFromHandle */
  3180. WPObject*   wpclsObjectFromHandle(HOBJECT hObject)
  3181. {
  3182.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsObjectFromHandle)
  3183.     (this,hObject);
  3184. }
  3185.  
  3186.  
  3187. /* method: wpclsRemoveObjects */
  3188. BOOL   wpclsRemoveObjects(HWND hwndCnr, 
  3189.         PVOID* pRecordArray, 
  3190.         ULONG NumRecords, 
  3191.         BOOL RemoveAll)
  3192. {
  3193.    return SOM_ResolveD(this,M_WPObject,M_WPObject,wpclsRemoveObjects)
  3194.     (this,hwndCnr,pRecordArray,NumRecords,RemoveAll);
  3195. }
  3196.  
  3197.  
  3198. /*
  3199.  * Reintroduce inherited methods
  3200.  */
  3201.  
  3202. /* method: somNew */
  3203. WPObject*  somNew()
  3204. {
  3205. /*
  3206.  *  Uses SOMMalloc to allocate storage for a new instance of the
  3207.  *  receiving class, and then calls somRenewNoInitNoZero to load the
  3208.  *  new object's method table pointer. Then somDefaultInit is called to
  3209.  *  initialize the new object.  Note: If the instance is a class object,
  3210.  *  somInitMIClass must then be invoked to declare parents and
  3211.  *  initialize the class's instance method table. Upon failure, NULL
  3212.  *  is returned.
  3213.  */
  3214.    return SOM_ResolveD(this,M_WPObject,SOMClass,somNew)
  3215.     (this);
  3216. }
  3217.  
  3218.  
  3219.  
  3220. };   /* M_WPObject */
  3221.  
  3222.  
  3223.  
  3224. #endif       /* SOM_M_WPObject_xh */
  3225.