//  Module Header
//
//  Module Name: WPOBJECT
//
//  OS/2 Presentation Manager Workplace class definitions
//
//  Copyright (c) International Business Machines Corporation 1991, 1992
//
#ifndef wpobject_idl
#define wpobject_idl
#include <somobj.idl>
#include <somcls.idl>
interface WPFolder;
interface M_WPObject;
interface M_WPObject;
#include "wptypes.idl"
interface WPObject : SOMObject
{
  ULONG wpAddObjectGeneralPage(in HWND hwndNotebook);
  ULONG wpAddObjectGeneralPage2(in HWND hwndNotebook);                            ULONG wpAddObjectWindowPage(in HWND hwndNotebook);
  BOOL wpAddSettingsPages(in HWND hwndNotebook);
  BOOL wpAddToObjUseList(in PUSEITEM pUseItem);
  PBYTE wpAllocMem(in ULONG cbBytes,
                   in PULONG prc);
  BOOL32 wpAppendObject(in WPObject targetObject,
                        in BOOL32 fMove);
  BOOL wpAssertObjectMutexSem();
  BOOL wpClose();
  PMINIRECORDCORE wpCnrInsertObject(in HWND hwndCnr,
                                    in PPOINTL pptlIcon,
                                    in PMINIRECORDCORE preccParent,
                                    in PRECORDINSERT pRecInsert);
  BOOL wpCnrRemoveObject(in HWND hwndCnr);
  BOOL wpCnrSetEmphasis(in ULONG ulEmphasisAttr,
                        in BOOL fTurnOn);
  ULONG wpConfirmDelete(in ULONG fConfirmations);
  ULONG wpConfirmObjectTitle(in WPFolder Folder,
                             inout WPObject ppDuplicate,
                             in PSZ pszTitle,
                             in ULONG cbTitle,
                             in ULONG menuID);
  VOID wpCopiedFromTemplate();
  WPObject wpCopyObject(in WPFolder Folder,
                        in BOOL fLock);
  WPObject wpCreateAnother(in PSZ pszTitle,
                           in PSZ pszSetupEnv,
                           in WPFolder Folder);
  WPObject wpCreateFromTemplate(in WPFolder folder,
                                in BOOL fLock);
  WPObject wpCreateShadowObject(in WPFolder Folder,
                                in BOOL fLock);
  ULONG wpDelete(in ULONG fConfirmations);
  BOOL wpDeleteFromObjUseList(in PUSEITEM pUseItem);
  BOOL wpDisplayHelp(in ULONG HelpPanelId,
                     in PSZ HelpLibrary);
  HWND   wpDisplayMenu(in HWND hwndOwner, in HWND hwndClient,
                       inout POINTL ptlPopupPt, in ULONG ulMenuType,
                       in ULONG ulReserved);
  BOOL wpDoesObjectMatch(in PVOID pvoidExtendedCriteria);
  MRESULT wpDraggedOverObject(in WPObject DraggedOverObject);
  MRESULT wpDragOver(in HWND hwndCnr,
                     in PDRAGINFO pdrgInfo);
  MRESULT wpDrop(in HWND hwndCnr,
                 in PDRAGINFO pdrgInfo,
                 in PDRAGITEM pdrgItem);
  BOOL wpDroppedOnObject(in WPObject DroppedOnObject);
  MRESULT wpEndConversation(in ULONG ulItemID,
                            in ULONG flResult);
  ULONG wpFilterPopupMenu(in ULONG ulFlags,
                          in HWND hwndCnr,
                          in BOOL fMultiSelect);
  PUSEITEM wpFindUseItem(in ULONG type,
                         in PUSEITEM pCurrentItem);
  BOOL wpFormatDragItem(in PDRAGITEM pdrgItem);
  BOOL wpFree();
  BOOL wpFreeMem(in PBYTE pByte);
  BOOL wpHide();
  VOID wpInitData();
  BOOL wpInsertPopupMenuItems(in HWND hwndMenu,
                              in ULONG iPosition,
                              in HMODULE hmod,
                              in ULONG MenuID,
                              in ULONG SubMenuID);
  ULONG wpInsertSettingsPage(in HWND hwndNotebook,
                             in PPAGEINFO ppageinfo);
  BOOL wpMenuItemHelpSelected(in ULONG MenuId);
  BOOL wpMenuItemSelected(in HWND hwndFrame,
                          in ULONG ulMenuId);
  BOOL wpModifyPopupMenu(in HWND hwndMenu,
                         in HWND hwndCnr,
                         in ULONG iPosition);
  BOOL wpMoveObject(in WPFolder Folder);
  HWND wpOpen(in HWND hwndCnr,
              in ULONG ulView,
              in ULONG param);
  BOOL wpPrintObject(in PPRINTDEST pPrintDest,
                     in ULONG ulReserved);
  ULONG wpQueryConcurrentView();
  ULONG wpQueryButtonAppearance();
  ULONG wpQueryConfirmations();
  BOOL wpQueryDefaultHelp(in PULONG pHelpPanelId,
                          in PSZ HelpLibrary);
  ULONG wpQueryDefaultView();
  ULONG wpQueryDetailsData(inout PVOID ppDetailsData,
                           in PULONG pcp);
  ULONG wpQueryError();
  BOOL wpSetFolder(in WPObject container);
  WPObject wpQueryFolder();
  HPOINTER wpQueryIcon();
  ULONG wpQueryIconData(in PICONINFO pIconInfo);
  ULONG wpQueryMinWindow();
  ULONG wpQueryNameClashOptions(in ULONG menuID);
  ULONG wpQueryStyle();
  BOOL32 wpSetTaskRec(in PTASKREC pNew,
                      in PTASKREC pOld);
  PTASKREC wpFindTaskRec();
  PSZ wpQueryTitle();
  BOOL wpRegisterView(in HWND hwndFrame,
                      in PSZ pszViewTitle);
  ULONG wpReleaseObjectMutexSem();
  MRESULT wpRender(in PDRAGTRANSFER pdxfer);
  MRESULT wpRenderComplete(in PDRAGTRANSFER pdxfer,
                           in ULONG ulResult);
  BOOL32 wpReplaceObject(in WPObject targetObject,
                         in BOOL32 fMove);
  ULONG wpRequestObjectMutexSem(in ULONG ulTimeout);
  BOOL wpRestore();
  BOOL wpRestoreData(in PSZ pszClass,
                     in ULONG ulKey,
                     in PBYTE pValue,
                     in PULONG pcbValue);
  BOOL wpRestoreLong(in PSZ pszClass,
                     in ULONG ulKey,
                     in PULONG pulValue);
  BOOL wpRestoreState(in ULONG ulReserved);
  BOOL wpRestoreString(in PSZ pszClass,
                       in ULONG ulKey,
                       in PSZ pszValue,
                       in PULONG pcbValue);
  BOOL wpSaveData(in PSZ pszClass,
                  in ULONG ulKey,
                  in PBYTE pValue,
                  in ULONG cbValue);
  BOOL wpSaveImmediate();
  BOOL wpSaveDeferred();
  BOOL wpSaveLong(in PSZ pszClass,
                  in ULONG ulKey,
                  in ULONG ulValue);
  BOOL wpSaveState();
  BOOL wpSaveString(in PSZ pszClass,
                    in ULONG ulKey,
                    in PSZ pszValue);
  BOOL wpScanSetupString(in PSZ pszSetupString,
                         in PSZ pszKey,
                         in PSZ pszValue,
                         in PULONG pcbValue);
  VOID wpSetConcurrentView(in ULONG ulCCView);
  VOID wpSetButtonAppearance(in ULONG ulButtonType);
  BOOL wpSetDefaultHelp(in ULONG HelpPanelId,
                        in PSZ HelpLibrary);
  BOOL wpSetDefaultView(in ULONG ulView);
  BOOL wpSetError(in ULONG ulErrorId);
  BOOL wpSetIconHandle(in HPOINTER hptrNewIcon);
  SGID   wpQueryScreenGroupID( in SGID   sgidPrevSgId );                       //bjf109257
  BOOL   wpSetupOnce (in PSZ pszSetupString);
  BOOL wpSetIcon(in HPOINTER hptrNewIcon);
  BOOL wpSetIconData(in PICONINFO pIconInfo);
  VOID wpSetMinWindow(in ULONG ulMinWindow);
  BOOL wpSetStyle(in ULONG ulNewStyle);
  BOOL wpModifyStyle(in ULONG ulStyleFlags,
                     in ULONG ulStyleMask);
  BOOL wpSetTitle(in PSZ pszNewTitle);
  BOOL wpSetup(in PSZ pszSetupString);
  BOOL wpSwitchTo(in ULONG View);
  VOID wpUnInitData();
  HWND wpViewObject(in HWND hwndCnr,
                    in ULONG ulView,
                    in ULONG param);
  ULONG wpQueryTrueStyle();
  HOBJECT wpQueryHandle();
  BOOL wpUnlockObject();
   VOID wpObjectReady( in ULONG ulCode, in WPObject refObject );
   BOOL wpIsObjectInitialized();
   WPObject wpCreateShadowObjectExt( in WPFolder Folder, in BOOL fLock,
                                     in PSZ pszSetup, in M_WPObject shadowClass );
  BOOL wpCnrDeleteUseItem(in HWND hwndCnr);
  BOOL wpIsDeleteable();
  PMINIRECORDCORE wpQueryCoreRecord();
  BOOL wpSetObjectID(in PSZ pszObjectID);
  PSZ wpQueryObjectID();
  BOOL wpSetDefaultIconPos(in PPOINTL pPointl);
  BOOL wpQueryDefaultIconPos(in PPOINTL pPointl);
  VOID wpCnrRefreshDetails();
  PVIEWITEM wpFindViewItem(in ULONG flViews,
                           in PVIEWITEM pCurrentItem);
  VOID wpLockObject();
  BOOL wpIsLocked();
  PULONG wpQueryContainerFlagPtr();
  ULONG wpWaitForClose(in LHANDLE lhView,
                       in ULONG ulViews,
                       in LONG lTimeOut,
                       in BOOL bAutoClose);
#ifdef __SOMIDL__
  implementation {
    releaseorder: wpSetTitle,wpQueryTitle,wpSetStyle,wpQueryStyle,wpSetIcon,
                  wpQueryIcon,wpSetFolder,wpQueryFolder,wpSetNextObj,
                  wpQueryNextObj,wpSetDefaultView,wpQueryDefaultView,
                  wpMakeDormant,wpSaveState,wpBeginSave,wpEndSave,
                  wpSaveLong,wpSaveString,wpSaveData,wpAppendSaveData,
                  wpRestoreState,wpBeginRestore,wpEndRestore,wpRestoreLong,
                  wpRestoreString,wpRestoreData,wpExtractRestoreData,
                  wpAllocMem,wpFreeMem,wpAddToObjUseList,wpDeleteFromObjUseList,
                  wpFindUseItem,wpSwitchTo,withdrawn1,wpFilterPopupMenu,
                  wpModifyPopupMenu,wpMenuItemSelected,wpFormatDragItem,
                  wpDrop,wpDragOver,wpRender,wpEndConversation,withdrawn10,
                  wpMakeObject,wpDestroyObject,wpFree,wpCopiedFromTemplate,
                  wpAddSettingsPages,wpAddObjectGeneralPage,wpDisplayHelp,
                  wpMenuItemHelpSelected,wpInsertSettingsPage,wpInsertPopupMenuItems,
                  withdrawn5,withdrawn6,withdrawn4,withdrawn3,wpCnrInsertObject,
                  wpCnrRemoveObject,wpInitData,wpUnInitData,wpSetup,
                  wpScanSetupString,wpSaveImmediate,wpOpen,wpClose,
                  wpHide,wpRestore,wpSetIconData,wpQueryIconData,wpQueryIconSaved,
                  wpDelete,wpConfirmDelete,withdrawn2,withdrawn11,
                  withdrawn7,wpRegisterView,wpIdentify,wpSetDefaultHelp,
                  wpQueryDefaultHelp,wpDoesObjectMatch,wpCnrRefreshDetails,
                  wpSetError,wpQueryError,wpDraggedOverObject,wpDroppedOnObject,
                  wpSetDefaultIconPos,wpQueryDefaultIconPos,wpSetState,
                  wpQueryState,wpSetObjectID,wpQueryObjectID,wpIsDeleteable,
                  wpQueryHandle,wpSaveDeferred,wpAddObjectWindowPage,
                  wpQueryConcurrentView,wpSetConcurrentView,wpQueryMinWindow,
                  wpSetMinWindow,wpViewObject,wpQueryButtonAppearance,
                  wpSetButtonAppearance,wpQueryConfirmations,wpCnrSetEmphasis,
                  wpQueryCoreRecord,wpFindViewItem,wpCreateFromTemplate,
                  wpQueryTrueStyle,wpAssertObjectMutexSem,wpReleaseObjectMutexSem,
                  wpRequestObjectMutexSem,wpCreateAnother,wpCreateShadowObject,
                  wpCopyObject,wpMoveObject,wpLockObject,wpUnlockObject,
                  wpIsLocked,wpRenderComplete,wpQueryDetailsData,wpPrintObject,
                  wpQueryTaskRec,wpSetTaskRec,wpSnoozeNotify,wpModifyStyle,
                  wpSetInsertState,wpFindTaskRec,wpAppendObject,wpReplaceObject,
                  wpQueryNameClashOptions,wpConfirmObjectTitle,_get_pobjNext,
                  wpQueryContainerFlagPtr,wpAddWindowPosKey,wpDeleteWindowPosKeys,
                  wpObjectInsertPreparation,wpCnrDeleteUseItem,
                  wpObjectReady, wpIsObjectInitialized,
                  wpCreateShadowObjectExt, wpSetIconHandle,
                  wpQueryContainer, wpSetContainer, wpDisplayMenu,
                  wpWaitForClose, wpQueryScreenGroupID, wpSetupOnce,                              wpAddObjectGeneralPage2, wpFindTaskRec2, wpModifyState;                          externalstem = wpobj;
    local;
    externalprefix = obj_;
    majorversion = 1;
    minorversion = 2;
    filestem = wpobject;
    metaclass = M_WPObject;
    callstyle = oidl;
    dllname = "pmwp.dll";               //sahsom2
    passthru C_h =      ""
"   #define INCL_WINSTDCNR"
"   #include <pmstddlg.h>"
""
"      #ifndef __cplusplus"
"        #ifndef M_WPObject"
"          #define M_WPObject SOMClass"
"        #endif"
"        #ifndef WPObject"
"          #define WPObject SOMObject"
"        #endif"
"      #else"
"        class M_WPObject;"
"        class WPObject;"
"      #endif"
""
"      #ifdef _wpCreateShadowObject2"
"         #undef _wpCreateShadowObject2"
"      #endif"
"      #define _wpCreateShadowObject2 _wpCreateShadowObjectExt"
""
""
"      /* Object style flags (see wpSetStyle) */"
""
"      #define OBJSTYLE_NOMOVE          2"
"      #define OBJSTYLE_NOLINK          4"
"      #define OBJSTYLE_NOCOPY          8"
"      #define OBJSTYLE_NOTDEFAULTICON 16   /* Intentionally not declared CLSSTYLE */ "
"      #define OBJSTYLE_TEMPLATE       32"
"      #define OBJSTYLE_NODELETE       64"
"      #define OBJSTYLE_NOPRINT       128"
"      #define OBJSTYLE_NODRAG        256"
"      #define OBJSTYLE_NOTVISIBLE    512"
"      #define OBJSTYLE_NOSETTINGS   1024"
"      #define OBJSTYLE_NORENAME     2048"
"      #define OBJSTYLE_NODROP       4096"
"      #define OBJSTYLE_NODROPON     8192   /* Use instead of OBJSTYLE_NODROP, "
"                                              because OBJSTYLE_NODROP and     "
"                                              CLSSTYLE_PRIVATE have the same  "
"                                              value (DD 86093F) */            "
"      #define OBJSTYLE_CUSTOMICON   16384  /* Use instead of OBJSTYLE_NOTDEFAULTICON  "
"                                               because OBJSTYLE_NOTDEFAULTICON and    "
"                                               CLSSTYLE_NEVERTEMPLATE have the same   "
"                                               value (DD 86093F) */                   "
""
"      /*  Class style flags (see wpclsQueryStyle) */"
""
"      #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE"
"      #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK"
"      #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY"
"      #define CLSSTYLE_NEVERTEMPLATE  16"
"      #define CLSSTYLE_NEVERDELETE    OBJSTYLE_NODELETE"
"      #define CLSSTYLE_NEVERPRINT     OBJSTYLE_NOPRINT"
"      #define CLSSTYLE_NEVERDRAG      OBJSTYLE_NODRAG"
"      #define CLSSTYLE_NEVERVISIBLE   OBJSTYLE_NOTVISIBLE"
"      #define CLSSTYLE_NEVERRENAME    OBJSTYLE_NORENAME"
"      #define CLSSTYLE_PRIVATE        4096   /* Intentionally not declared OBJSTYLE */     "
"      #define CLSSTYLE_NEVERSETTINGS  OBJSTYLE_NOSETTINGS                      /*DD 86093F*/ "
"      #define CLSSTYLE_NEVERDROPON    OBJSTYLE_NODROPON                        /*DD 86093F*/ "
"      #define CLSSTYLE_HIDDEN         32768  /* Use instead of CLSSTYLE_PRIVATE          "
"                                                 because OBJSTYLE_NODROP and             "
"                                                 CLSSTYLE_PRIVATE have the same          "
"                                                 value (DD 86093F) */                    "
"      #define CLSSTYLE_DONTTEMPLATE   65536  /* Use instead of CLSSTYLE_NEVERTEMPLATE    "
"                                                 because OBJSTYLE_NOTDEFAULTICON and     "
"                                                 CLSSTYLE_NEVERTEMPLATE have the same    "
"                                                 value (DD 86093F) */                    "
""
"      /* Flags for wpObjectReady() method */ "
"      #define OR_NEW           0x00000001"
"      #define OR_AWAKE         0x00000002"
"      #define OR_REFERENCE     0x10000000"
"      #define OR_FROMTEMPLATE (0x00000004 | OR_REFERENCE)"
"      #define OR_FROMCOPY     (0x00000008 | OR_REFERENCE)"
"      #define OR_SHADOW       (0x00000010 | OR_REFERENCE)"
""
"      /*  Flags for the wpFilterPopupMenu() method */"
""
"      #define CTXT_CRANOTHER     0x0001   /* Flags for ulFlags */"
"      #define CTXT_NEW           CTXT_CRANOTHER"
"      #define CTXT_OPEN          0x0002"
"      #define CTXT_WINDOW        0x0004"
"      #define CTXT_SWITCHTO      CTXT_WINDOW"
"      #define CTXT_CLOSE         0x0008"
"      #define CTXT_SETTINGS      0x0010"
"      #define CTXT_PRINT         0x0020"
"      #define CTXT_HELP          0x0040"
"      #define CTXT_DELETE        0x0080"
"      #define CTXT_COPY          0x0100"
"      #define CTXT_MOVE          0x0200"
"      #define CTXT_SHADOW        0x0400"
"      #define CTXT_LINK          CTXT_SHADOW"
"      #define CTXT_PROGRAM       0x0800"
"      #define CTXT_ICON        0x001000"
"      #define CTXT_TREE        0x002000"
"      #define CTXT_DETAILS     0x004000"
"      #define CTXT_FIND        0x008000"
"      #define CTXT_SELECT      0x010000"
"      #define CTXT_ARRANGE     0x020000"
"      #define CTXT_SORT        0x040000"
"      #define CTXT_SHUTDOWN    0x080000"
"      #define CTXT_LOCKUP      0x100000"
"      #define CTXT_PALETTE     0x200000"
"      #define CTXT_REFRESH     0x400000"
"      #define CTXT_PICKUP      0x800000              /*rme88844*/"
"      #define CTXT_PUTDOWN        0x1000000          /*rme88844*/"
"      #define CTXT_PUTDOWN_CANCEL 0x2000000          /*rme88844*/"
""
"     /* Flags for the wpDisplayMenu() method */"
""
"     #define MENU_OBJECTPOPUP          0x00000001"
"     #define MENU_OPENVIEWPOPUP        0x00000002"
"     #define MENU_TITLEBARPULLDOWN     0x00000003"
"     #define MENU_TITLEBARPULLDOWNINT  0x00000004"
"     #define MENU_USER                 0x80000000"
""
"      /* common context menu ids */"
""
"      #define WPMENUID_USER          0x6500"
"      #define WPMENUID_PRIMARY            0"
"      #define WPMENUID_OPEN               1"
"      #define WPMENUID_HELP               2"
"      #define WPMENUID_PRINT              3"
"      #define WPMENUID_SELECT             4"
"      #define WPMENUID_SORT               5"
"      #define WPMENUID_TREE               123                                 /*DD 86092F*/  "
"      #define WPMENUID_FIND               8                                   /*DD 86092F*/  "
"      #define WPMENUID_CREATEANOTHER      101                                 /*DD 86092F*/  "
"      #define WPMENUID_MOVE               107                                 /*DD 86092F*/  "
"      #define WPMENUID_COPY               108                                 /*DD 86092F*/  "
"      #define WPMENUID_DELETE             109                                 /*DD 86092F*/  "
"      #define WPMENUID_PROPERTIES         112                                 /*DD 86092F*/  "
"      #define WPMENUID_SELALL             114                                 /*DD 86092F*/  "
"      #define WPMENUID_DESELALL           115                                 /*DD 86092F*/  "
"      #define WPMENUID_RESERVED1          118                                 /*DD 86092F*/  "
"      #define WPMENUID_CLOSE              120                                 /*DD 86092F*/  "
"      #define WPMENUID_FORMAT             124                                 /*DD 86092F*/  "
"      #define WPMENUID_CHKDSK             128                                 /*DD 86092F*/  "
"      #define WPMENUID_FIXDSK             129                                 /*DD 86092F*/  "
"      #define WPMENUID_PROGRAM            132                                 /*DD 86092F*/  "
"      #define WPMENUID_COPYDSK            182                                 /*DD 86092F*/  "
"      #define WPMENUID_LOCKDISK           184                                 /*DD 86092F*/  "
"      #define WPMENUID_EJECTDISK          185                                 /*DD 86092F*/  "
"      #define WPMENUID_UNLOCKDISK         186                                 /*DD 86092F*/  "
"      #define WPMENUID_PICKUP             188                                 /* rme77131*/  "
"      #define WPMENUID_PUTDOWN            189                                 /* rme77131*/  "
"      #define WPMENUID_PUTDOWN_COPY       190                                 /* rme77131*/  "
"      #define WPMENUID_PUTDOWN_MOVE       191                                 /* rme77131*/  "
"      #define WPMENUID_PUTDOWN_LINK       192                                 /* rme77131*/  "
"      #define WPMENUID_PUTDOWN_CANCEL     193                                 /* rme77131*/  "
"      #define WPMENUID_PUTDOWN_CREATE     194                                 /* rme77131*/  "
"      #define WPMENUID_ICON               303                                 /*DD 86092F*/  "
"      #define WPMENUID_DETAILS            304                                 /*DD 86092F*/  "
"      #define WPMENUID_ARRANGE            309                                 /*DD 86092F*/  "
"      #define WPMENUID_RESERVED2          315                                 /*DD 86092F*/  "
"      #define WPMENUID_CREATESHADOW       316                                 /*DD 86092F*/  "
"      #define WPMENUID_PALETTE            317                                 /*DD 86092F*/  "
"      #define WPMENUID_REFRESH            503                                 /*DD 86092F*/  "
"      #define WPMENUID_HELP_FOR_HELP      601                                 /*DD 86092F*/  "
"      #define WPMENUID_HOWTOGETHELP       601                                 /*DD 86092F*/  "
"      #define WPMENUID_EXTENDEDHELP       602                                 /*DD 86092F*/  "
"      #define WPMENUID_HELPKEYS           603                                 /*DD 86092F*/  "
"      #define WPMENUID_HELPINDEX          604                                 /*DD 86092F*/  "
"      #define WPMENUID_SHUTDOWN           704                                 /*DD 86092F*/  "
"      #define WPMENUID_LOCKUP             705                                 /*DD 86092F*/  "
"      #define WPMENUID_LOGIN              708                                 /*DD 86092F*/  "
"      #define WPMENUID_LOGOUT             709                                 /*DD 86092F*/  "
"      #define WPMENUID_ASSIGN             710                                 /*DD 86092F*/  "
"      #define WPMENUID_UNASSIGN           711                                 /*DD 86092F*/  "
"      #define WPMENUID_ACCESSNEW          712                                 /*DD 86092F*/  "
"      #define WPMENUID_SYSTEMSETUP        713                                 /*DD 86092F*/  "
"      #define WPMENUID_LOGOFF             715"
""
""
"      /*  Open views for the wpOpen() method */"
""
"      #define OPEN_UNKNOWN      -1"
"      #define OPEN_DEFAULT       0"
"      #define OPEN_CONTENTS      1"
"      #define OPEN_SETTINGS      2"
"      #define OPEN_HELP          3"
"      #define OPEN_RUNNING       4"
"      #define OPEN_PROMPTDLG     5"
"      #define OPEN_PALETTE       121                                   /*SPLIT*/"
"      #define OPEN_USER          0x6500"
""
"      /*  Definitions for the INUSE list that is kept"
"       *  for every object via wpAddToObjUseList and"
"       *  wpRemoveFromObjUseList methods..."
"       */"
""
"      /* This structure is always followed immediately by a type"
"       * dependant struct such as MEMORYITEM,RECORDITEM,VIEWITEM"
"       * or some other user defined structure..."
"       */"
"      typedef struct _USEITEM"
"      {"
"         ULONG  type;                  /* Type of this Item */"
"         struct _USEITEM *pNext;   /* Next item in use list */"
"      } USEITEM;"
"      typedef USEITEM *PUSEITEM;"
""
"      #define USAGE_MEMORY          1  /* Values of 'type' */"
"      #define USAGE_RECORD          4"
"      #define USAGE_OPENVIEW        5"
"      #define USAGE_LINK            6"
"      #define USAGE_OPENFILE       20"
""
"      typedef struct _MEMORYITEM       /* USAGE_MEMORY struct */"
"      {"
"         ULONG     cbBuffer;           /* Number of bytes in memory block */"
"      } MEMORYITEM;"
"      typedef MEMORYITEM *PMEMORYITEM;"
""
"      typedef struct _RECORDITEM       /* USAGE_RECORD struct */"
"      {"
"         HWND            hwndCnr;      /* Cnr into which object is inserted */"
"         PMINIRECORDCORE pRecord;      /* Record pointer within that cnr */"
"         ULONG           ulUser;       /* For application use RECSH */ "
"      } RECORDITEM;"
"      typedef RECORDITEM *PRECORDITEM;"
""
"      #define VIEWSTATE_OPENING       0x0001   /* The view is being opened */"
"      #define VIEWSTATE_OBJECTDELETED 0x0002   /* The object has been deleted */"
"      #define VIEWSTATE_USERHIDDEN    0x0004   /* The view was hidden by user */"
"      #define VIEWSTATE_POPULATING    0x0008   /* The view is populating      */"
"      #define VIEWSTATE_USERMINIMIZED 0x0010   /* The view was minimized by the user */"
"      #define VIEWSTATE_CLOSING       0x0020   /* The view is closing */"
"      #define VIEWSTATE_DELETING      0x0040   /* The object is being deleted */"
""
"      typedef struct _VIEWITEM         /* USAGE_OPENVIEW struct */"
"      {"
"         ULONG        view;            /* Object view that this represents */"
"         LHANDLE      handle;          /* Open handle */"
"         ULONG        ulViewState;     /* View State flags */"
"         HWND         hwndCnr;         /* System use only (window animation) */"
"         PMINIRECORDCORE pRecord;      /* System use only (window animation) */"
"      } VIEWITEM;"
"      typedef VIEWITEM *PVIEWITEM;"
""
"      typedef struct _LINKITEM         /* USAGE_LINK struct */"
"      {"
"         WPObject    *LinkObj;         /* The link object */"
"      } LINKITEM;"
"      typedef LINKITEM *PLINKITEM;"
""
"      typedef struct _VIEWFILE         /* USAGE_OPENFILE struct */"
"      {"
"         ULONG        ulMenuId;        /* Menu id if association or menu page */"
"         LHANDLE      handle;          /* Open handle */"
"         HWND         hwndCnr;         /* System use only (window animation) */"
"         PMINIRECORDCORE pRecord;      /* System use only (window animation) */"
"      } VIEWFILE;"
"      typedef VIEWFILE *PVIEWFILE;"
""
"      /* Notes: The class name immediately follows the control block. The"
"       *        first instance variable control block immediately follows"
"       *        this."
"       */"
"      typedef struct _WPSRCLASSBLOCK"
"      {"
"        SHORT   ClassNameLength;       /* Length of class name, including the"
"                                        * .. null terminator. This must be a"
"                                        * .. SHORT and must be at the beginning"
"                                        * .. of the structure."
"                                        */"
"        USHORT  IVarLength;            /* Length of instance variable"
"                                        * .. information, including the two-"
"                                        * .. byte null terminator"
"                                        */"
"      } WPSRCLASSBLOCK;"
""
"      /*  Persistant storage structures (see wpSaveShort"
"       *  and wpRestoreShort etc...)"
"       */"
""
""
"      /* This control structure does not reside in the dormant state."
"       * It is used only when a persistant data block is"
"       * resident in memory - either when an object is being saved or"
"       * when it is being restored..."
"       */"
"      typedef struct _OBJDATA"
"      {"
"         WPSRCLASSBLOCK       *CurrentClass;"
"         WPSRCLASSBLOCK       *First;"
"         PUCHAR                NextData;"
"         USHORT                Length;"
"      } OBJDATA;"
"      typedef OBJDATA *POBJDATA;"
""
"      /* Note: On PowerPC all structures are word aligned. sizeof"
"       * returns the size of structures aligned to the largest type"
"       * found in structure.  In otherwords, a structure containing"
"       * a long and a short will result in a sizeof 8 rather than 6"
"       * because the larger type long is used to align the structure."
"       * 3 shorts in a structure will return 6 as expected."
"       * The following two macros are used in place of the sizeof operator"
"       * when referencing the OBJDATA structure to ensure we have the"
"       * correct offset.  BEWARE: Changing the OBJDATA structure requires"
"       * that the following macros are change accordingly."
"       */"
"      #define POBJDATA_SIZE             offsetof(OBJDATA,Length)+2"
"      #define ADVANCEOVER_OBJDATA( x )  (((UCHAR*)(x))+POBJDATA_SIZE)"
""
"      /*  wpCnrInsertObject/wpCnrRemoveObject structs"
"       *  and macros..."
"       */"
""
"      typedef struct _CLASSDETAILS     /* Class Details struct */"
"      {"
"         PSZ          pszAttribute;    /* Translatable string for a class attribute*/"
"         PVOID        pSortRecord;     /* Function pointer for sort function for attribute*/"
"         struct _CLASSDETAILS *pNext; /* Next item in class details list */"
"      } CLASSDETAILS;"
"      typedef CLASSDETAILS *PCLASSDETAILS;"
""
"      /* Macro to return the object associated with a given MINIRECORDCORE"
"       * that was inserted using the wpCnrInsertObject method"
"       */"
"      #define OBJECT_FROM_PREC( prec )   ( (PVOID)( * (((PULONG)prec)-2) ) )"
""
"      /* Macro to access the app defineable dword within the RECORDITEM"
"       * structure that is created when an object is put into a list"
"       * control using the wpCnrInsertObject method."
"       */"
"      PULONG EXPENTRY ShlGetUserWordPtr("
"         HWND            hwndCnr,"
"         PMINIRECORDCORE prec );"
""
"      #define USERWORD_FROM_PREC( hwnd, prec ) \"
"         ( (ULONG)( *ShlGetUserWordPtr(hwnd,prec) ) )"
""
"      /* Details comparison function definition"
"       *"
"       *    Param1  PVOID   - Pointer to details field value"
"       *    Param2  PVOID   - Pointer to value to be compared with"
"       *"
"       *    Returns LONG    - Must be CMP_EQUAL, CMP_GREATER, CMP_LESS"
"       */"
"      typedef LONG (EXPENTRY FNCOMPARE)(PVOID,PVOID);"
"      typedef FNCOMPARE *PFNCOMPARE;"
""
"      #define CMP_EQUAL            0"
"      #define CMP_GREATER          1"
"      #define CMP_LESS             2"
"      #define CMP_GREATER_OR_EQUAL 3"
"      #define CMP_LESS_OR_EQUAL    4"
"      #define CMP_NOT_EQUAL        5"
""
"      #define NUM_CMP_VALUES       6"
""
"      /* Owner draw function definition"
"       *"
"       *    Param1  HWND  - Handle of window that is being painted"
"       *    Param2  PVOID - POWNERITEM structure pointer, see the container"
"       *                    control programming reference for the meaning"
"       *                    of the fields in this structure."
"       *    Param3  PVOID - Pointer to the comparison value to draw (this"
"       *                    is NULL, except when this function is painting"
"       *                    its value into the include criteria dialog"
"       *                    when it points to Criteria.CompareValue...)"
"       *"
"       *    Returns BOOL  - TRUE if the field was ownerdrawn, FALSE if the"
"       *                    container control should do default painting."
"       */"
"      typedef BOOL (EXPENTRY FNOWNDRW)(HWND,PVOID,PVOID);"
"      typedef FNOWNDRW *PFNOWNDRW;"
""
"      /* Details comparison criteria structure"
"       */"
"      typedef struct _CRITERIA"
"      {"
"         PVOID            pReserved;           /* Reserved - MUST be null!!!! */"
"         struct _CRITERIA *pNext;"
"         struct _CRITERIA *pPrev;"
"         ULONG            ClassFieldInfoIndex; /* Index of the details field  */"
"         ULONG            LogicalOperator;     /* CRITERIA_AND or CRITERIA_OR */"
"         ULONG            ComparisonType;      /* CMP_LESS_OR_EQUAL etc...    */"
"         ULONG            ulLenCompareValue;   /* sizeof(ComparisonData)      */"
"         CHAR             CompareValue[1];     /* Value to be compared with   */"
"      } CRITERIA;"
"      typedef CRITERIA *PCRITERIA;"
""
"      #define CRITERIA_AND        0"
"      #define CRITERIA_OR         1"
""
"      /* ClassCriteria structure: points to a linked list of CRITERIA"
"       * for the given class. ClassCriteria may be linked into a list"
"       * too - and passed to a filter object, or the wpclsFindObjectFirst"
"       * method call..."
"       */"
"      typedef struct _CLASSCRITERIA                                     /*!INC*/"
"      {"
"         struct _CLASSCRITERIA *pNext;"
"         struct _CLASSCRITERIA *pPrev;"
"         M_WPObject            *Class;          /* Class object */"
"         PCRITERIA              pCriteria;      /* Linked list of criteria */"
"         WPObject              *NotifyObject;   /* Owner of the criteria list */"
"      } CLASSCRITERIA;"
"      typedef CLASSCRITERIA *PCLASSCRITERIA;"
""
"      /* This structure is passed to a details criteria edit window"
"       * when it is created, so that it knows the current value and"
"       * min/max values for the criteria to be edited."
"       *"
"       * As the user modifies the compare value using the criteria"
"       * edit window, it should update the buffer pointed to by"
"       * 'pCompareValue'."
"       */"
"      typedef struct _EDITCTLINIT                                       /*!INC*/"
"      {"
"         ULONG cb;                /* must have length in control data! MindyP */"
"         PVOID pCompareValue;     /* Buffer containing the current value */"
"         ULONG ulLenCompareValue; /* Length of pCompareValue buffer */"
"         PVOID pMinCompareValue;  /* READ-ONLY parameter, NULL => default */"
"         PVOID pMaxCompareValue;  /* READ-ONLY parameter, NULL => default */"
"      } EDITCTLINIT;"
"      typedef EDITCTLINIT *PEDITCTLINIT;"
""
"      /* Structure for wpclsQueryDetailsInfo method"
"       *"
"       * CLASSFIELDINFO is identical to the FIELDINFO structure of the"
"       * container control with the following differences:"
"       *"
"       * - The offStruct field from FIELDINFO is reserved."
"       * - The offFieldData and usLenFieldData structure elements have"
"       *   been added."
"       * - Compare/Sort/Ownerdraw fields have also been added for the"
"       *   convenience of the programmer, so that object details can"
"       *   be customized and objects can be found or included by any"
"       *   of their displayable object details."
"       *"
"       * For example if the application has the following details data:"
"       *"
"       * typedef struct _SAMPLE {"
"       *   CDATE   cdate;"
"       *   CTIME   ctime;"
"       *   PSZ     psz;"
"       * }  SAMPLE;"
"       *"
"       * classfieldinfo[0].offFieldData   = FIELDOFFSET(SAMPLE,cdate);"
"       * classfieldinfo[0].ulLenFieldData = FIELDOFFSET(SAMPLE,ctime) -"
"       *                                    FIELDOFFSET(SAMPLE,cdate);"
"       *"
"       * classfieldinfo[1].offFieldData   = FIELDOFFSET(SAMPLE,ctime);"
"       * classfieldinfo[1].ulLenFieldData = FIELDOFFSET(SAMPLE,psz) -"
"       *                                    FIELDOFFSET(SAMPLE,ctime);"
"       *"
"       * classfieldinfo[2].offFieldData   = FIELDOFFSET(SAMPLE,psz);"
"       * classfieldinfo[2].ulLenFieldData = sizeof(SAMPLE) -"
"       *                                    FIELDOFFSET(SAMPLE,psz);"
"       *"
"       * NOTE: It is essential that the fields be linked in order ex. above"
"       *       cdate must be followed by ctime and finally psz."
"       */"
"      typedef struct _CLASSFIELDINFO                                    /*!INC*/"
"      {"
"         /* Details field attributes"
"          */"
"         ULONG      cb;                  /* size of CLASSFIELDINFO struct  */"
"         ULONG      flData;              /* attributes of field's data     */"
"         ULONG      flTitle;             /* attributes of field's title    */"
"         PVOID      pTitleData;          /* title data (default is string) */"
"                                         /* If CFT_BITMAP, must be HBITMAP */"
"         ULONG      ulReserved;          /* Reserved                       */"
"         PVOID      pUserData;           /* pointer to user data           */"
"         struct _CLASSFIELDINFO *pNextFieldInfo; /* pointer to next linked */"
"                                                /* CLASSFIELDINFO structure*/"
"         ULONG      cxWidth;             /* width of field in pels         */"
"         ULONG      offFieldData;        /* offset from beginning of       */"
"                                         /*   this class's data for this   */"
"                                         /*   field. (first field is 0).   */"
"         ULONG      ulLenFieldData;      /* width of data in bytes.        */"
"                                         /*   (4 for a pointer).           */"
"         PFNOWNDRW  pfnOwnerDraw;        /* Ownerdraw procedure for detail */"
"                                         /* column. Can be NULL except if  */"
"                                         /* ownerdraw is being used.       */"
"         /* Include/Sort parameters"
"          */"
"         ULONG      flCompare;           /* Flags: for example, use the    */"
"                                         /*   COMPARE_SUPPORTED flag if    */"
"                                         /*   your field can be compared   */"
"         PFNCOMPARE pfnCompare;          /* Comparison function for this   */"
"                                         /*   field. Can be NULL unless    */"
"                                         /*   ownerdraw is used.           */"
"         ULONG      DefaultComparison;   /* This is the default compare    */"
"                                         /*   operator in the include      */"
"                                         /*   page criteria dialog. (eg:   */"
"                                         /*   CMP_LESS_OR_EQUAL)           */"
"         ULONG      ulLenCompareValue;   /* Maximum length of the compare  */"
"                                         /*   data. Can be NULL unless     */"
"                                         /*   ownerdraw is used.           */"
"         PVOID      pDefCompareValue;    /* The default value to be used   */"
"                                         /*   for comparisons. Can be NULL */"
"                                         /*   unless ownerdraw is used.    */"
"         PVOID      pMinCompareValue;    /* The default value to be used   */"
"                                         /*   for comparisons.Can be NULL  */"
"                                         /*   unless ownerdraw is used.    */"
"         PVOID      pMaxCompareValue;    /* The default value to be used   */"
"                                         /*   for comparisons.Can be NULL  */"
"                                         /*   unless ownerdraw is used.    */"
"         PSZ        pszEditControlClass; /* Window class to be used to edit*/"
"                                         /*   the compare value. Can be    */"
"                                         /*   NULL unless ownerdraw is used*/"
"         PFNCOMPARE pfnSort;             /* Sort function for this @SM09511*/"
"                                         /*   field. Can be NULL unless    */"
"                                         /*   ownerdraw is used.           */"
"         PSZ        *pNewComp;"
"      } CLASSFIELDINFO;"
""
"      typedef CLASSFIELDINFO *PCLASSFIELDINFO;"
""
"      #define COMPARE_SUPPORTED      1"
"      #define SORTBY_SUPPORTED       2"
""
"      /* Standard notebook size constants */"
"      #define STDNOTEBOOKWIDTH    290"
"      #define STDNOTEBOOKHEIGHT   275"
""
"      /* Confirm flags */"
"      #define CONFIRM_DELETE             0x0001"
"      #define CONFIRM_DELETEFOLDER       0x0002"
"      #define CONFIRM_RENAMEFILESWITHEXT 0x0004"
"      #define CONFIRM_KEEPASSOC          0x0008"
"      #define CONFIRM_ACTION             0x0010"
"      #define CONFIRM_PROGRESS           0x0020"
"      #define CONFIRM_ALLOWFORCEDELETE   0x0040"                       "      #define CONFIRM_FORCEDELETE        0x0080"                       ""
"      #define OK_DELETE             1"
"      #define NO_DELETE             2"
"      #define CANCEL_DELETE         3"
""
"      #define NUM_OBJDETAILS_FIELDS    5     /* number of object details */"
""
"      /* Search Type for wpclsQueryExtendedCriteria */"
""
"      #define SEARCH_ALL_FOLDERS 1"
"      #define SEARCH_THIS_FOLDER 2"
"      #define SEARCH_THIS_TREE   3"
""
"      /* Find method related types and constants */"
""
"      typedef WPObject   *OBJECT;                             /* FIND */"
"      typedef OBJECT     *POBJECT;"
"      typedef M_WPObject *CLASS;"
"      typedef CLASS      *PCLASS;"
"      typedef LHANDLE     HFIND;"
"      typedef HFIND      *PHFIND;"
""
"      /* wpDrop method return code  */"
""
"      #define RC_DROP_DROPCOMPLETE 2"
"      #define RC_DROP_ITEMCOMPLETE 1"
"      #define RC_DROP_RENDERING    0"
"      #define RC_DROP_ERROR       -1"
""
"      /*handle for files being tracked by the shell */"
""
"      typedef LHANDLE HFS;"
"      #define MAXSZHFS 10       /* size of the translated string */"
""
"      #define SETTINGS_PAGE_REMOVED  -1"
""
"    /* wpSetConcurrentView values */"
"      #define CCVIEW_DEFAULT 0"
"      #define CCVIEW_ON      1"
"      #define CCVIEW_OFF     2"
""
"    /* wpSetMinWindow values */"
"      #define MINWIN_DEFAULT 0"
"      #define MINWIN_HIDDEN  1"
"      #define MINWIN_VIEWER  2"
"      #define MINWIN_DESKTOP 3"
""
"    /* wpSetButtonAppearance values */"
"      #define HIDEBUTTON      1"
"      #define MINBUTTON      2"
"      #define DEFAULTBUTTON  3"
""
"      #define  HIDDENMINWINDOW_DEFAULT MINWIN_VIEWER"
"      #ifndef __cplusplus"
"        #ifndef WPFolder"
"          #define WPFolder SOMObject     /* Define WPFolder */"
"        #endif"
"      #else"
"        class WPFolder;"
"      #endif"
""
"      typedef struct _TASKREC"
"      {"
"         struct _TASKREC *next;     /* next in the list of current tasks   */"
"         ULONG            useCount; /* can be referenced by multiple object*/"
"         PVOID            pStdDlg;  /* ptr to standard WP task dialog      */"
"         WPFolder        *folder;   /* intended folder for the object      */"
"         LONG             xOrigin;  /* intended position for the object    */"
"         LONG             yOrigin;  /* intended position for the object    */"
"         PSZ              pszTitle; /* intended name for the object        */"
"         ULONG            cbTitle;  /* length of the name buffer           */"
"         PMINIRECORDCORE  positionAfterRecord; /* intended sort position   */"
"         BOOL            fKeepAssociations;"
"         PVOID            pReserved;    /* reserved - equal null           */"
""
"      }  TASKREC;"
"      typedef TASKREC *PTASKREC;"
""
"      typedef struct _OBJDETAILS"
"      {"
"        PSZ    ObjTitle;"
"        ULONG  ObjStyle;"
"        PSZ    ObjClass;"
"      } OBJDETAILS;"
"      typedef OBJDETAILS *POBJDETAILS;"
""
"#define VIEW_CONTENTS      0x00000001"
"#define VIEW_SETTINGS      0x00000002"
"#define VIEW_HELP          0x00000004"
"#define VIEW_RUNNING       0x00000008"
"#define VIEW_DETAILS       0x00000010"
"#define VIEW_TREE          0x00000020"
"#define VIEW_ANY           0xFFFFFFFF  /* Special case - will find any ViewItem */"
""
"/*"
" * Passthru some stuff to the .h file"
" */"
"";
    wpSetIconHandle: procedure;
    wpQueryTrueStyle: procedure;
    somInit: override;
    somUninit: override;
    somDefaultInit: override;
    somDestruct: override;
  };
#endif /* __SOMIDL__ */
};
interface M_WPObject : SOMClass
{
  BOOL wpclsCreateDefaultTemplates(in WPObject Folder);
  VOID wpclsInitData();
  WPObject wpclsMakeAwake(in PSZ pszTitle,
                          in ULONG ulStyle,
                          in HPOINTER hptrIcon,
                          in POBJDATA pObjData,
                          in WPFolder Folder,
                          in ULONG ulUser);
  WPObject wpclsNew(in PSZ pszTitle,
                    in PSZ pszSetupEnv,
                    in WPFolder Folder,
                    in BOOL fLock);
  BOOL wpclsQueryDefaultHelp(in PULONG pHelpPanelId,
                             in PSZ pszHelpLibrary);
  ULONG wpclsQueryDefaultView();
  PCLASSDETAILS wpclsQueryDetails();
  ULONG wpclsQueryDetailsInfo(inout PCLASSFIELDINFO ppClassFieldInfo,
                              in PULONG pSize);
  BOOL wpclsQueryExtendedCriteria(in PSZ pszName,
                                  in ULONG ulSearchType,
                                  in PVOID pvoidExtendedCriteria);
  WPObject wpclsQueryFolder(in PSZ pszLocation,
                            in BOOL fLock);
  HPOINTER wpclsQueryIcon();
  VOID wpclsQuerySearchInfo(inout M_WPObject ClassExtended,
                            inout M_WPObject ClassCreate,
                            in PULONG pulClassCriteriaSize);
  ULONG wpclsQueryStyle();
  PSZ wpclsQueryTitle();
  VOID wpclsUnInitData();
  BOOL wpclsFindObjectFirst(in PCLASS pClassList,
                            in PHFIND phFind,
                            in PSZ pszTitle,
                            in WPFolder Folder,
                            in BOOL fSubfolders,
                            in PVOID pExtendedCriteria,
                            in POBJECT pBuffer,
                            in PULONG pCount);
  BOOL wpclsFindObjectNext(in HFIND hFind,
                           in POBJECT pBuffer,
                           in PULONG pCount);
  BOOL wpclsFindObjectEnd(in HFIND hFind);
  BOOL wpclsSetError(in ULONG ulErrorId);
  ULONG wpclsQueryError();
  BOOL wpclsQuerySettingsPageSize(in PSIZEL pSizl);
  ULONG wpclsQueryIconData(in PICONINFO pIconInfo);
  WPObject wpclsQueryObject(in HOBJECT hObject);
  ULONG wpclsQueryButtonAppearance();
  VOID wpclsDecUsage();
  VOID wpclsIncUsage();
  BOOL wpclsInsertMultipleObjects(in HWND hwndCnr,
                                  in PPOINTL pptlIcon,
                                  inout PVOID pObjectArray,
                                  in PVOID pRecordParent,
                                  in ULONG NumRecords);
  WPObject wpclsFindOneObject(in HWND hwndOwner, in PSZ pszFindParams);
  BOOL wpclsSetSettingsPageSize(in PSIZEL pSizl);
  BOOL wpclsSetIconData(in PICONINFO pIconInfo);
  BOOL wpclsSetIcon(in HPOINTER hptrNewIcon);
  WPObject wpclsObjectFromHandle(in HOBJECT hObject);
  BOOL wpclsRemoveObjects(in HWND hwndCnr,
                          inout PVOID pRecordArray,
                          in ULONG NumRecords,
                          in BOOL RemoveAll);
#ifdef __SOMIDL__
  implementation {
    releaseorder: wpclsInitData,wpclsUnInitData,withdrawn8,wpclsMakeAwake,
                  wpclsIncUsage,wpclsDecUsage,wpclsQueryTitle,wpclsQueryIcon,
                  wpclsQueryDefaultHelp,wpclsQueryStyle,wpclsQueryDetailsInfo,
                  wpclsQueryDefaultView,wpclsQueryDetails,wpclsQuerySearchInfo,
                  wpclsQueryExtendedCriteria,wpclsCreateDefaultTemplates,
                  withdrawn9,wpclsFindObjectFirst,wpclsFindObjectNext,
                  wpclsFindObjectEnd,wpclsFindObjects,wpclsSetError,
                  wpclsQueryError,wpclsQuerySettingsPageSize,wpclsSetSettingsPageSize,
                  wpclsQueryIconData,wpclsSetIcon,wpclsSetIconData,
                  wpclsQueryObject,wpclsObjectFromHandle,wpclsSaveDirtyObjects,
                  wpclsLockDirtyList,wpclsUnlockDirtyList,wpclsLockRestartList,
                  wpclsUnlockRestartList,wpclsQueryButtonAppearance,
                  wpclsNew,wpclsQueryFolder,wpclsLockSleepyList,wpclsUnlockSleepyList,
                  wpclsRemoveObjects,wpclsInsertMultipleObjects,
                  wpclsINew,wpclsFindOneObject,
                  wpclsQueryMaxAnimationIcons;                                      externalstem = wpobj;
    local;
    externalprefix = objM_;
    majorversion = 1;
    minorversion = 2;
    filestem = wpobject;
    callstyle = oidl;
    dllname = "pmwp.dll";             /* sahsom2 */
    somUninit: override;
    somClassReady: override;
    somNew: override;
    somRenew: override;
  };
#endif /* __SOMIDL__ */
};
#endif  /* wpobject_idl */
