home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 10 Tools / 10-Tools.zip / dtswps.zip / DTSFILES.ZIP / WPOBJECT.IDL < prev    next >
Text File  |  1996-04-18  |  47KB  |  947 lines

  1. //  Module Header
  2. //
  3. //  Module Name: WPOBJECT
  4. //
  5. //  OS/2 Presentation Manager Workplace class definitions
  6. //
  7. //  Copyright (c) International Business Machines Corporation 1991, 1992
  8. //
  9. #ifndef wpobject_idl
  10. #define wpobject_idl
  11. #include <somobj.idl>
  12. #include <somcls.idl>
  13. interface WPFolder;
  14. interface M_WPObject;
  15. interface M_WPObject;
  16. #include "wptypes.idl"
  17. interface WPObject : SOMObject
  18. {
  19.   ULONG wpAddObjectGeneralPage(in HWND hwndNotebook);
  20.   ULONG wpAddObjectGeneralPage2(in HWND hwndNotebook);                            ULONG wpAddObjectWindowPage(in HWND hwndNotebook);
  21.   BOOL wpAddSettingsPages(in HWND hwndNotebook);
  22.   BOOL wpAddToObjUseList(in PUSEITEM pUseItem);
  23.   PBYTE wpAllocMem(in ULONG cbBytes,
  24.                    in PULONG prc);
  25.   BOOL32 wpAppendObject(in WPObject targetObject,
  26.                         in BOOL32 fMove);
  27.   BOOL wpAssertObjectMutexSem();
  28.   BOOL wpClose();
  29.   PMINIRECORDCORE wpCnrInsertObject(in HWND hwndCnr,
  30.                                     in PPOINTL pptlIcon,
  31.                                     in PMINIRECORDCORE preccParent,
  32.                                     in PRECORDINSERT pRecInsert);
  33.   BOOL wpCnrRemoveObject(in HWND hwndCnr);
  34.   BOOL wpCnrSetEmphasis(in ULONG ulEmphasisAttr,
  35.                         in BOOL fTurnOn);
  36.   ULONG wpConfirmDelete(in ULONG fConfirmations);
  37.   ULONG wpConfirmObjectTitle(in WPFolder Folder,
  38.                              inout WPObject ppDuplicate,
  39.                              in PSZ pszTitle,
  40.                              in ULONG cbTitle,
  41.                              in ULONG menuID);
  42.   VOID wpCopiedFromTemplate();
  43.   WPObject wpCopyObject(in WPFolder Folder,
  44.                         in BOOL fLock);
  45.   WPObject wpCreateAnother(in PSZ pszTitle,
  46.                            in PSZ pszSetupEnv,
  47.                            in WPFolder Folder);
  48.   WPObject wpCreateFromTemplate(in WPFolder folder,
  49.                                 in BOOL fLock);
  50.   WPObject wpCreateShadowObject(in WPFolder Folder,
  51.                                 in BOOL fLock);
  52.   ULONG wpDelete(in ULONG fConfirmations);
  53.   BOOL wpDeleteFromObjUseList(in PUSEITEM pUseItem);
  54.   BOOL wpDisplayHelp(in ULONG HelpPanelId,
  55.                      in PSZ HelpLibrary);
  56.   HWND   wpDisplayMenu(in HWND hwndOwner, in HWND hwndClient,
  57.                        inout POINTL ptlPopupPt, in ULONG ulMenuType,
  58.                        in ULONG ulReserved);
  59.   BOOL wpDoesObjectMatch(in PVOID pvoidExtendedCriteria);
  60.   MRESULT wpDraggedOverObject(in WPObject DraggedOverObject);
  61.   MRESULT wpDragOver(in HWND hwndCnr,
  62.                      in PDRAGINFO pdrgInfo);
  63.   MRESULT wpDrop(in HWND hwndCnr,
  64.                  in PDRAGINFO pdrgInfo,
  65.                  in PDRAGITEM pdrgItem);
  66.   BOOL wpDroppedOnObject(in WPObject DroppedOnObject);
  67.   MRESULT wpEndConversation(in ULONG ulItemID,
  68.                             in ULONG flResult);
  69.   ULONG wpFilterPopupMenu(in ULONG ulFlags,
  70.                           in HWND hwndCnr,
  71.                           in BOOL fMultiSelect);
  72.   PUSEITEM wpFindUseItem(in ULONG type,
  73.                          in PUSEITEM pCurrentItem);
  74.   BOOL wpFormatDragItem(in PDRAGITEM pdrgItem);
  75.   BOOL wpFree();
  76.   BOOL wpFreeMem(in PBYTE pByte);
  77.   BOOL wpHide();
  78.   VOID wpInitData();
  79.   BOOL wpInsertPopupMenuItems(in HWND hwndMenu,
  80.                               in ULONG iPosition,
  81.                               in HMODULE hmod,
  82.                               in ULONG MenuID,
  83.                               in ULONG SubMenuID);
  84.   ULONG wpInsertSettingsPage(in HWND hwndNotebook,
  85.                              in PPAGEINFO ppageinfo);
  86.   BOOL wpMenuItemHelpSelected(in ULONG MenuId);
  87.   BOOL wpMenuItemSelected(in HWND hwndFrame,
  88.                           in ULONG ulMenuId);
  89.   BOOL wpModifyPopupMenu(in HWND hwndMenu,
  90.                          in HWND hwndCnr,
  91.                          in ULONG iPosition);
  92.   BOOL wpMoveObject(in WPFolder Folder);
  93.   HWND wpOpen(in HWND hwndCnr,
  94.               in ULONG ulView,
  95.               in ULONG param);
  96.   BOOL wpPrintObject(in PPRINTDEST pPrintDest,
  97.                      in ULONG ulReserved);
  98.   ULONG wpQueryConcurrentView();
  99.   ULONG wpQueryButtonAppearance();
  100.   ULONG wpQueryConfirmations();
  101.   BOOL wpQueryDefaultHelp(in PULONG pHelpPanelId,
  102.                           in PSZ HelpLibrary);
  103.   ULONG wpQueryDefaultView();
  104.   ULONG wpQueryDetailsData(inout PVOID ppDetailsData,
  105.                            in PULONG pcp);
  106.   ULONG wpQueryError();
  107.   BOOL wpSetFolder(in WPObject container);
  108.   WPObject wpQueryFolder();
  109.   HPOINTER wpQueryIcon();
  110.   ULONG wpQueryIconData(in PICONINFO pIconInfo);
  111.   ULONG wpQueryMinWindow();
  112.   ULONG wpQueryNameClashOptions(in ULONG menuID);
  113.   ULONG wpQueryStyle();
  114.   BOOL32 wpSetTaskRec(in PTASKREC pNew,
  115.                       in PTASKREC pOld);
  116.   PTASKREC wpFindTaskRec();
  117.   PSZ wpQueryTitle();
  118.   BOOL wpRegisterView(in HWND hwndFrame,
  119.                       in PSZ pszViewTitle);
  120.   ULONG wpReleaseObjectMutexSem();
  121.   MRESULT wpRender(in PDRAGTRANSFER pdxfer);
  122.   MRESULT wpRenderComplete(in PDRAGTRANSFER pdxfer,
  123.                            in ULONG ulResult);
  124.   BOOL32 wpReplaceObject(in WPObject targetObject,
  125.                          in BOOL32 fMove);
  126.   ULONG wpRequestObjectMutexSem(in ULONG ulTimeout);
  127.   BOOL wpRestore();
  128.   BOOL wpRestoreData(in PSZ pszClass,
  129.                      in ULONG ulKey,
  130.                      in PBYTE pValue,
  131.                      in PULONG pcbValue);
  132.   BOOL wpRestoreLong(in PSZ pszClass,
  133.                      in ULONG ulKey,
  134.                      in PULONG pulValue);
  135.   BOOL wpRestoreState(in ULONG ulReserved);
  136.   BOOL wpRestoreString(in PSZ pszClass,
  137.                        in ULONG ulKey,
  138.                        in PSZ pszValue,
  139.                        in PULONG pcbValue);
  140.   BOOL wpSaveData(in PSZ pszClass,
  141.                   in ULONG ulKey,
  142.                   in PBYTE pValue,
  143.                   in ULONG cbValue);
  144.   BOOL wpSaveImmediate();
  145.   BOOL wpSaveDeferred();
  146.   BOOL wpSaveLong(in PSZ pszClass,
  147.                   in ULONG ulKey,
  148.                   in ULONG ulValue);
  149.   BOOL wpSaveState();
  150.   BOOL wpSaveString(in PSZ pszClass,
  151.                     in ULONG ulKey,
  152.                     in PSZ pszValue);
  153.   BOOL wpScanSetupString(in PSZ pszSetupString,
  154.                          in PSZ pszKey,
  155.                          in PSZ pszValue,
  156.                          in PULONG pcbValue);
  157.   VOID wpSetConcurrentView(in ULONG ulCCView);
  158.   VOID wpSetButtonAppearance(in ULONG ulButtonType);
  159.   BOOL wpSetDefaultHelp(in ULONG HelpPanelId,
  160.                         in PSZ HelpLibrary);
  161.   BOOL wpSetDefaultView(in ULONG ulView);
  162.   BOOL wpSetError(in ULONG ulErrorId);
  163.   BOOL wpSetIconHandle(in HPOINTER hptrNewIcon);
  164.   USHORT wpQueryScreenGroupID( in USHORT usPrevSgId );
  165.   BOOL   wpSetupOnce (in PSZ pszSetupString);
  166.   BOOL wpSetIcon(in HPOINTER hptrNewIcon);
  167.   BOOL wpSetIconData(in PICONINFO pIconInfo);
  168.   VOID wpSetMinWindow(in ULONG ulMinWindow);
  169.   BOOL wpSetStyle(in ULONG ulNewStyle);
  170.   BOOL wpModifyStyle(in ULONG ulStyleFlags,
  171.                      in ULONG ulStyleMask);
  172.   BOOL wpSetTitle(in PSZ pszNewTitle);
  173.   BOOL wpSetup(in PSZ pszSetupString);
  174.   BOOL wpSwitchTo(in ULONG View);
  175.   VOID wpUnInitData();
  176.   HWND wpViewObject(in HWND hwndCnr,
  177.                     in ULONG ulView,
  178.                     in ULONG param);
  179.   ULONG wpQueryTrueStyle();
  180.   HOBJECT wpQueryHandle();
  181.   BOOL wpUnlockObject();
  182.    VOID wpObjectReady( in ULONG ulCode, in WPObject refObject );
  183.    BOOL wpIsObjectInitialized();
  184.    WPObject wpCreateShadowObjectExt( in WPFolder Folder, in BOOL fLock,
  185.                                      in PSZ pszSetup, in M_WPObject shadowClass );
  186.   BOOL wpCnrDeleteUseItem(in HWND hwndCnr);
  187.   BOOL wpIsDeleteable();
  188.   PMINIRECORDCORE wpQueryCoreRecord();
  189.   BOOL wpSetObjectID(in PSZ pszObjectID);
  190.   PSZ wpQueryObjectID();
  191.   BOOL wpSetDefaultIconPos(in PPOINTL pPointl);
  192.   BOOL wpQueryDefaultIconPos(in PPOINTL pPointl);
  193.   VOID wpCnrRefreshDetails();
  194.   PVIEWITEM wpFindViewItem(in ULONG flViews,
  195.                            in PVIEWITEM pCurrentItem);
  196.   VOID wpLockObject();
  197.   BOOL wpIsLocked();
  198.   PULONG wpQueryContainerFlagPtr();
  199.   ULONG wpWaitForClose(in LHANDLE lhView,
  200.                        in ULONG ulViews,
  201.                        in LONG lTimeOut,
  202.                        in BOOL bAutoClose);
  203. #ifdef __SOMIDL__
  204.   implementation {
  205.     releaseorder: wpSetTitle,wpQueryTitle,wpSetStyle,wpQueryStyle,wpSetIcon,
  206.                   wpQueryIcon,wpSetFolder,wpQueryFolder,wpSetNextObj,
  207.                   wpQueryNextObj,wpSetDefaultView,wpQueryDefaultView,
  208.                   wpMakeDormant,wpSaveState,wpBeginSave,wpEndSave,
  209.                   wpSaveLong,wpSaveString,wpSaveData,wpAppendSaveData,
  210.                   wpRestoreState,wpBeginRestore,wpEndRestore,wpRestoreLong,
  211.                   wpRestoreString,wpRestoreData,wpExtractRestoreData,
  212.                   wpAllocMem,wpFreeMem,wpAddToObjUseList,wpDeleteFromObjUseList,
  213.                   wpFindUseItem,wpSwitchTo,withdrawn1,wpFilterPopupMenu,
  214.                   wpModifyPopupMenu,wpMenuItemSelected,wpFormatDragItem,
  215.                   wpDrop,wpDragOver,wpRender,wpEndConversation,withdrawn10,
  216.                   wpMakeObject,wpDestroyObject,wpFree,wpCopiedFromTemplate,
  217.                   wpAddSettingsPages,wpAddObjectGeneralPage,wpDisplayHelp,
  218.                   wpMenuItemHelpSelected,wpInsertSettingsPage,wpInsertPopupMenuItems,
  219.                   withdrawn5,withdrawn6,withdrawn4,withdrawn3,wpCnrInsertObject,
  220.                   wpCnrRemoveObject,wpInitData,wpUnInitData,wpSetup,
  221.                   wpScanSetupString,wpSaveImmediate,wpOpen,wpClose,
  222.                   wpHide,wpRestore,wpSetIconData,wpQueryIconData,wpQueryIconSaved,
  223.                   wpDelete,wpConfirmDelete,withdrawn2,withdrawn11,
  224.                   withdrawn7,wpRegisterView,wpIdentify,wpSetDefaultHelp,
  225.                   wpQueryDefaultHelp,wpDoesObjectMatch,wpCnrRefreshDetails,
  226.                   wpSetError,wpQueryError,wpDraggedOverObject,wpDroppedOnObject,
  227.                   wpSetDefaultIconPos,wpQueryDefaultIconPos,wpSetState,
  228.                   wpQueryState,wpSetObjectID,wpQueryObjectID,wpIsDeleteable,
  229.                   wpQueryHandle,wpSaveDeferred,wpAddObjectWindowPage,
  230.                   wpQueryConcurrentView,wpSetConcurrentView,wpQueryMinWindow,
  231.                   wpSetMinWindow,wpViewObject,wpQueryButtonAppearance,
  232.                   wpSetButtonAppearance,wpQueryConfirmations,wpCnrSetEmphasis,
  233.                   wpQueryCoreRecord,wpFindViewItem,wpCreateFromTemplate,
  234.                   wpQueryTrueStyle,wpAssertObjectMutexSem,wpReleaseObjectMutexSem,
  235.                   wpRequestObjectMutexSem,wpCreateAnother,wpCreateShadowObject,
  236.                   wpCopyObject,wpMoveObject,wpLockObject,wpUnlockObject,
  237.                   wpIsLocked,wpRenderComplete,wpQueryDetailsData,wpPrintObject,
  238.                   wpQueryTaskRec,wpSetTaskRec,wpSnoozeNotify,wpModifyStyle,
  239.                   wpSetInsertState,wpFindTaskRec,wpAppendObject,wpReplaceObject,
  240.                   wpQueryNameClashOptions,wpConfirmObjectTitle,_get_pobjNext,
  241.                   wpQueryContainerFlagPtr,wpAddWindowPosKey,wpDeleteWindowPosKeys,
  242.                   wpObjectInsertPreparation,wpCnrDeleteUseItem,
  243.                   wpObjectReady, wpIsObjectInitialized,
  244.                   wpCreateShadowObjectExt, wpSetIconHandle,
  245.                   wpQueryContainer, wpSetContainer, wpDisplayMenu,
  246.                   wpWaitForClose, wpQueryScreenGroupID, wpSetupOnce,                              wpAddObjectGeneralPage2, wpFindTaskRec2, wpModifyState;                          externalstem = wpobj;
  247.     local;
  248.     externalprefix = obj_;
  249.     majorversion = 1;
  250.     minorversion = 2;
  251.     filestem = wpobject;
  252.     metaclass = M_WPObject;
  253.     callstyle = oidl;
  254.     dllname = "pmwp.dll";               //sahsom2
  255.     passthru C_h_after =      ""
  256. "   #define INCL_WINSTDCNR"
  257. "   #include <pmstddlg.h>"
  258. ""
  259.  
  260. ""
  261. ""
  262. "      /* Object style flags (see wpSetStyle) */"
  263. ""
  264. "      #define OBJSTYLE_NOMOVE          2"
  265. "      #define OBJSTYLE_NOLINK          4"
  266. "      #define OBJSTYLE_NOCOPY          8"
  267. "      #define OBJSTYLE_NOTDEFAULTICON 16   /* Intentionally not declared CLSSTYLE */ "
  268. "      #define OBJSTYLE_TEMPLATE       32"
  269. "      #define OBJSTYLE_NODELETE       64"
  270. "      #define OBJSTYLE_NOPRINT       128"
  271. "      #define OBJSTYLE_NODRAG        256"
  272. "      #define OBJSTYLE_NOTVISIBLE    512"
  273. "      #define OBJSTYLE_NOSETTINGS   1024"
  274. "      #define OBJSTYLE_NORENAME     2048"
  275. "      #define OBJSTYLE_NODROP       4096"
  276. "      #define OBJSTYLE_NODROPON     8192   /* Use instead of OBJSTYLE_NODROP, "
  277. "                                              because OBJSTYLE_NODROP and     "
  278. "                                              CLSSTYLE_PRIVATE have the same  "
  279. "                                              value (DD 86093F) */            "
  280. "      #define OBJSTYLE_CUSTOMICON   16384  /* Use instead of OBJSTYLE_NOTDEFAULTICON  "
  281. "                                               because OBJSTYLE_NOTDEFAULTICON and    "
  282. "                                               CLSSTYLE_NEVERTEMPLATE have the same   "
  283. "                                               value (DD 86093F) */                   "
  284. ""
  285. "      /*  Class style flags (see wpclsQueryStyle) */"
  286. ""
  287. "      #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE"
  288. "      #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK"
  289. "      #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY"
  290. "      #define CLSSTYLE_NEVERTEMPLATE  16"
  291. "      #define CLSSTYLE_NEVERDELETE    OBJSTYLE_NODELETE"
  292. "      #define CLSSTYLE_NEVERPRINT     OBJSTYLE_NOPRINT"
  293. "      #define CLSSTYLE_NEVERDRAG      OBJSTYLE_NODRAG"
  294. "      #define CLSSTYLE_NEVERVISIBLE   OBJSTYLE_NOTVISIBLE"
  295. "      #define CLSSTYLE_NEVERRENAME    OBJSTYLE_NORENAME"
  296. "      #define CLSSTYLE_PRIVATE        4096   /* Intentionally not declared OBJSTYLE */     "
  297. "      #define CLSSTYLE_NEVERSETTINGS  OBJSTYLE_NOSETTINGS                      /*DD 86093F*/ "
  298. "      #define CLSSTYLE_NEVERDROPON    OBJSTYLE_NODROPON                        /*DD 86093F*/ "
  299. "      #define CLSSTYLE_HIDDEN         32768  /* Use instead of CLSSTYLE_PRIVATE          "
  300. "                                                 because OBJSTYLE_NODROP and             "
  301. "                                                 CLSSTYLE_PRIVATE have the same          "
  302. "                                                 value (DD 86093F) */                    "
  303. "      #define CLSSTYLE_DONTTEMPLATE   65536  /* Use instead of CLSSTYLE_NEVERTEMPLATE    "
  304. "                                                 because OBJSTYLE_NOTDEFAULTICON and     "
  305. "                                                 CLSSTYLE_NEVERTEMPLATE have the same    "
  306. "                                                 value (DD 86093F) */                    "
  307. ""
  308. "      /* Flags for wpObjectReady() method */ "
  309. "      #define OR_NEW           0x00000001"
  310. "      #define OR_AWAKE         0x00000002"
  311. "      #define OR_REFERENCE     0x10000000"
  312. "      #define OR_FROMTEMPLATE (0x00000004 | OR_REFERENCE)"
  313. "      #define OR_FROMCOPY     (0x00000008 | OR_REFERENCE)"
  314. "      #define OR_SHADOW       (0x00000010 | OR_REFERENCE)"
  315. ""
  316. "      /*  Flags for the wpFilterPopupMenu() method */"
  317. ""
  318. "      #define CTXT_CRANOTHER     0x0001   /* Flags for ulFlags */"
  319. "      #define CTXT_NEW           CTXT_CRANOTHER"
  320. "      #define CTXT_OPEN          0x0002"
  321. "      #define CTXT_WINDOW        0x0004"
  322. "      #define CTXT_SWITCHTO      CTXT_WINDOW"
  323. "      #define CTXT_CLOSE         0x0008"
  324. "      #define CTXT_SETTINGS      0x0010"
  325. "      #define CTXT_PRINT         0x0020"
  326. "      #define CTXT_HELP          0x0040"
  327. "      #define CTXT_DELETE        0x0080"
  328. "      #define CTXT_COPY          0x0100"
  329. "      #define CTXT_MOVE          0x0200"
  330. "      #define CTXT_SHADOW        0x0400"
  331. "      #define CTXT_LINK          CTXT_SHADOW"
  332. "      #define CTXT_PROGRAM       0x0800"
  333. "      #define CTXT_ICON        0x001000"
  334. "      #define CTXT_TREE        0x002000"
  335. "      #define CTXT_DETAILS     0x004000"
  336. "      #define CTXT_FIND        0x008000"
  337. "      #define CTXT_SELECT      0x010000"
  338. "      #define CTXT_ARRANGE     0x020000"
  339. "      #define CTXT_SORT        0x040000"
  340. "      #define CTXT_SHUTDOWN    0x080000"
  341. "      #define CTXT_LOCKUP      0x100000"
  342. "      #define CTXT_PALETTE     0x200000"
  343. "      #define CTXT_REFRESH     0x400000"
  344. "      #define CTXT_PICKUP      0x800000              /*rme88844*/"
  345. "      #define CTXT_PUTDOWN        0x1000000          /*rme88844*/"
  346. "      #define CTXT_PUTDOWN_CANCEL 0x2000000          /*rme88844*/"
  347. ""
  348. "     /* Flags for the wpDisplayMenu() method */"
  349. ""
  350. "     #define MENU_OBJECTPOPUP          0x00000001"
  351. "     #define MENU_OPENVIEWPOPUP        0x00000002"
  352. "     #define MENU_TITLEBARPULLDOWN     0x00000003"
  353. "     #define MENU_TITLEBARPULLDOWNINT  0x00000004"
  354. "     #define MENU_USER                 0x80000000"
  355. ""
  356. "      /* common context menu ids */"
  357. ""
  358. "      #define WPMENUID_USER          0x6500"
  359. "      #define WPMENUID_PRIMARY            0"
  360. "      #define WPMENUID_OPEN               1"
  361. "      #define WPMENUID_HELP               2"
  362. "      #define WPMENUID_PRINT              3"
  363. "      #define WPMENUID_SELECT             4"
  364. "      #define WPMENUID_SORT               5"
  365. "      #define WPMENUID_TREE               123                                 /*DD 86092F*/  "
  366. "      #define WPMENUID_FIND               8                                   /*DD 86092F*/  "
  367. "      #define WPMENUID_CREATEANOTHER      101                                 /*DD 86092F*/  "
  368. "      #define WPMENUID_MOVE               107                                 /*DD 86092F*/  "
  369. "      #define WPMENUID_COPY               108                                 /*DD 86092F*/  "
  370. "      #define WPMENUID_DELETE             109                                 /*DD 86092F*/  "
  371. "      #define WPMENUID_PROPERTIES         112                                 /*DD 86092F*/  "
  372. "      #define WPMENUID_SELALL             114                                 /*DD 86092F*/  "
  373. "      #define WPMENUID_DESELALL           115                                 /*DD 86092F*/  "
  374. "      #define WPMENUID_RESERVED1          118                                 /*DD 86092F*/  "
  375. "      #define WPMENUID_CLOSE              120                                 /*DD 86092F*/  "
  376. "      #define WPMENUID_FORMAT             124                                 /*DD 86092F*/  "
  377. "      #define WPMENUID_CHKDSK             128                                 /*DD 86092F*/  "
  378. "      #define WPMENUID_FIXDSK             129                                 /*DD 86092F*/  "
  379. "      #define WPMENUID_PROGRAM            132                                 /*DD 86092F*/  "
  380. "      #define WPMENUID_COPYDSK            182                                 /*DD 86092F*/  "
  381. "      #define WPMENUID_LOCKDISK           184                                 /*DD 86092F*/  "
  382. "      #define WPMENUID_EJECTDISK          185                                 /*DD 86092F*/  "
  383. "      #define WPMENUID_UNLOCKDISK         186                                 /*DD 86092F*/  "
  384. "      #define WPMENUID_PICKUP             188                                 /* rme77131*/  "
  385. "      #define WPMENUID_PUTDOWN            189                                 /* rme77131*/  "
  386. "      #define WPMENUID_PUTDOWN_COPY       190                                 /* rme77131*/  "
  387. "      #define WPMENUID_PUTDOWN_MOVE       191                                 /* rme77131*/  "
  388. "      #define WPMENUID_PUTDOWN_LINK       192                                 /* rme77131*/  "
  389. "      #define WPMENUID_PUTDOWN_CANCEL     193                                 /* rme77131*/  "
  390. "      #define WPMENUID_PUTDOWN_CREATE     194                                 /* rme77131*/  "
  391. "      #define WPMENUID_ICON               303                                 /*DD 86092F*/  "
  392. "      #define WPMENUID_DETAILS            304                                 /*DD 86092F*/  "
  393. "      #define WPMENUID_ARRANGE            309                                 /*DD 86092F*/  "
  394. "      #define WPMENUID_RESERVED2          315                                 /*DD 86092F*/  "
  395. "      #define WPMENUID_CREATESHADOW       316                                 /*DD 86092F*/  "
  396. "      #define WPMENUID_PALETTE            317                                 /*DD 86092F*/  "
  397. "      #define WPMENUID_REFRESH            503                                 /*DD 86092F*/  "
  398. "      #define WPMENUID_HELP_FOR_HELP      601                                 /*DD 86092F*/  "
  399. "      #define WPMENUID_HOWTOGETHELP       601                                 /*DD 86092F*/  "
  400. "      #define WPMENUID_EXTENDEDHELP       602                                 /*DD 86092F*/  "
  401. "      #define WPMENUID_HELPKEYS           603                                 /*DD 86092F*/  "
  402. "      #define WPMENUID_HELPINDEX          604                                 /*DD 86092F*/  "
  403. "      #define WPMENUID_SHUTDOWN           704                                 /*DD 86092F*/  "
  404. "      #define WPMENUID_LOCKUP             705                                 /*DD 86092F*/  "
  405. "      #define WPMENUID_LOGIN              708                                 /*DD 86092F*/  "
  406. "      #define WPMENUID_LOGOUT             709                                 /*DD 86092F*/  "
  407. "      #define WPMENUID_ASSIGN             710                                 /*DD 86092F*/  "
  408. "      #define WPMENUID_UNASSIGN           711                                 /*DD 86092F*/  "
  409. "      #define WPMENUID_ACCESSNEW          712                                 /*DD 86092F*/  "
  410. "      #define WPMENUID_SYSTEMSETUP        713                                 /*DD 86092F*/  "
  411. ""
  412. ""
  413. "      /*  Open views for the wpOpen() method */"
  414. ""
  415. "      #define OPEN_UNKNOWN      -1"
  416. "      #define OPEN_DEFAULT       0"
  417. "      #define OPEN_CONTENTS      1"
  418. "      #define OPEN_SETTINGS      2"
  419. "      #define OPEN_HELP          3"
  420. "      #define OPEN_RUNNING       4"
  421. "      #define OPEN_PROMPTDLG     5"
  422. "      #define OPEN_PALETTE       121                                   /*SPLIT*/"
  423. "      #define OPEN_USER          0x6500"
  424. ""
  425. "      /*  Definitions for the INUSE list that is kept"
  426. "       *  for every object via wpAddToObjUseList and"
  427. "       *  wpRemoveFromObjUseList methods..."
  428. "       */"
  429. ""
  430. "      /* This structure is always followed immediately by a type"
  431. "       * dependant struct such as MEMORYITEM,RECORDITEM,VIEWITEM"
  432. "       * or some other user defined structure..."
  433. "       */"
  434. "      typedef struct _USEITEM"
  435. "      {"
  436. "         ULONG  type;                  /* Type of this Item */"
  437. "         struct _USEITEM *pNext;   /* Next item in use list */"
  438. "      } USEITEM;"
  439. "      typedef USEITEM *PUSEITEM;"
  440. ""
  441. "      #define USAGE_MEMORY          1  /* Values of 'type' */"
  442. "      #define USAGE_RECORD          4"
  443. "      #define USAGE_OPENVIEW        5"
  444. "      #define USAGE_LINK            6"
  445. "      #define USAGE_OPENFILE       20"
  446. ""
  447. "      typedef struct _MEMORYITEM       /* USAGE_MEMORY struct */"
  448. "      {"
  449. "         ULONG     cbBuffer;           /* Number of bytes in memory block */"
  450. "      } MEMORYITEM;"
  451. "      typedef MEMORYITEM *PMEMORYITEM;"
  452. ""
  453. "      typedef struct _RECORDITEM       /* USAGE_RECORD struct */"
  454. "      {"
  455. "         HWND            hwndCnr;      /* Cnr into which object is inserted */"
  456. "         PMINIRECORDCORE pRecord;      /* Record pointer within that cnr */"
  457. "         ULONG           ulUser;       /* For application use RECSH */ "
  458. "      } RECORDITEM;"
  459. "      typedef RECORDITEM *PRECORDITEM;"
  460. ""
  461. "      #define VIEWSTATE_OPENING       0x0001   /* The view is being opened */"
  462. "      #define VIEWSTATE_OBJECTDELETED 0x0002   /* The object has been deleted */"
  463. "      #define VIEWSTATE_USERHIDDEN    0x0004   /* The view was hidden by user */"
  464. "      #define VIEWSTATE_POPULATING    0x0008   /* The view is populating      */"
  465. "      #define VIEWSTATE_USERMINIMIZED 0x0010   /* The view was minimized by the user */"
  466. "      #define VIEWSTATE_CLOSING       0x0020   /* The view is closing */"
  467. "      #define VIEWSTATE_DELETING      0x0040   /* The object is being deleted */"
  468. ""
  469. "      typedef struct _VIEWITEM         /* USAGE_OPENVIEW struct */"
  470. "      {"
  471. "         ULONG        view;            /* Object view that this represents */"
  472. "         LHANDLE      handle;          /* Open handle */"
  473. "         ULONG        ulViewState;     /* View State flags */"
  474. "         HWND         hwndCnr;         /* System use only (window animation) */"
  475. "         PMINIRECORDCORE pRecord;      /* System use only (window animation) */"
  476. "      } VIEWITEM;"
  477. "      typedef VIEWITEM *PVIEWITEM;"
  478. ""
  479. "      typedef struct _LINKITEM         /* USAGE_LINK struct */"
  480. "      {"
  481. "         WPObject    *LinkObj;         /* The link object */"
  482. "      } LINKITEM;"
  483. "      typedef LINKITEM *PLINKITEM;"
  484. ""
  485. "      typedef struct _VIEWFILE         /* USAGE_OPENFILE struct */"
  486. "      {"
  487. "         ULONG        ulMenuId;        /* Menu id if association or menu page */"
  488. "         LHANDLE      handle;          /* Open handle */"
  489. "         HWND         hwndCnr;         /* System use only (window animation) */"
  490. "         PMINIRECORDCORE pRecord;      /* System use only (window animation) */"
  491. "      } VIEWFILE;"
  492. "      typedef VIEWFILE *PVIEWFILE;"
  493. ""
  494. "      /* Notes: The class name immediately follows the control block. The"
  495. "       *        first instance variable control block immediately follows"
  496. "       *        this."
  497. "       */"
  498. "      typedef struct _WPSRCLASSBLOCK"
  499. "      {"
  500. "        SHORT   ClassNameLength;       /* Length of class name, including the"
  501. "                                        * .. null terminator. This must be a"
  502. "                                        * .. SHORT and must be at the beginning"
  503. "                                        * .. of the structure."
  504. "                                        */"
  505. "        USHORT  IVarLength;            /* Length of instance variable"
  506. "                                        * .. information, including the two-"
  507. "                                        * .. byte null terminator"
  508. "                                        */"
  509. "      } WPSRCLASSBLOCK;"
  510. ""
  511. "      /*  Persistant storage structures (see wpSaveShort"
  512. "       *  and wpRestoreShort etc...)"
  513. "       */"
  514. ""
  515. ""
  516. "      /* This control structure does not reside in the dormant state."
  517. "       * It is used only when a persistant data block is"
  518. "       * resident in memory - either when an object is being saved or"
  519. "       * when it is being restored..."
  520. "       */"
  521. "      typedef struct _OBJDATA"
  522. "      {"
  523. "         WPSRCLASSBLOCK       *CurrentClass;"
  524. "         WPSRCLASSBLOCK       *First;"
  525. "         PUCHAR                NextData;"
  526. "         USHORT                Length;"
  527. "      } OBJDATA;"
  528. "      typedef OBJDATA *POBJDATA;"
  529. ""
  530. "      /*  wpCnrInsertObject/wpCnrRemoveObject structs"
  531. "       *  and macros..."
  532. "       */"
  533. ""
  534. "      typedef struct _CLASSDETAILS     /* Class Details struct */"
  535. "      {"
  536. "         PSZ          pszAttribute;    /* Translatable string for a class attribute*/"
  537. "         PVOID        pSortRecord;     /* Function pointer for sort function for attribute*/"
  538. "         struct _CLASSDETAILS *pNext; /* Next item in class details list */"
  539. "      } CLASSDETAILS;"
  540. "      typedef CLASSDETAILS *PCLASSDETAILS;"
  541. ""
  542. "      /* Macro to return the object associated with a given MINIRECORDCORE"
  543. "       * that was inserted using the wpCnrInsertObject method"
  544. "       */"
  545. "      #define OBJECT_FROM_PREC( prec )   ( (PVOID)( * (((PULONG)prec)-2) ) )"
  546. ""
  547. "      /* Macro to access the app defineable dword within the RECORDITEM"
  548. "       * structure that is created when an object is put into a list"
  549. "       * control using the wpCnrInsertObject method."
  550. "       */"
  551. "      PULONG EXPENTRY ShlGetUserWordPtr("
  552. "         HWND            hwndCnr,"
  553. "         PMINIRECORDCORE prec );"
  554. ""
  555. "      #define USERWORD_FROM_PREC( hwnd, prec )              \ "
  556. "         ( (ULONG)( *ShlGetUserWordPtr(hwnd,prec) ) )"
  557. ""
  558. "      /* Details comparison function definition"
  559. "       *"
  560. "       *    Param1  PVOID   - Pointer to details field value"
  561. "       *    Param2  PVOID   - Pointer to value to be compared with"
  562. "       *"
  563. "       *    Returns LONG    - Must be CMP_EQUAL, CMP_GREATER, CMP_LESS"
  564. "       */"
  565. "      typedef LONG (EXPENTRY FNCOMPARE)(PVOID,PVOID);"
  566. "      typedef FNCOMPARE *PFNCOMPARE;"
  567. ""
  568. "      #define CMP_EQUAL            0"
  569. "      #define CMP_GREATER          1"
  570. "      #define CMP_LESS             2"
  571. "      #define CMP_GREATER_OR_EQUAL 3"
  572. "      #define CMP_LESS_OR_EQUAL    4"
  573. "      #define CMP_NOT_EQUAL        5"
  574. ""
  575. "      #define NUM_CMP_VALUES       6"
  576. ""
  577. "      /* Owner draw function definition"
  578. "       *"
  579. "       *    Param1  HWND  - Handle of window that is being painted"
  580. "       *    Param2  PVOID - POWNERITEM structure pointer, see the container"
  581. "       *                    control programming reference for the meaning"
  582. "       *                    of the fields in this structure."
  583. "       *    Param3  PVOID - Pointer to the comparison value to draw (this"
  584. "       *                    is NULL, except when this function is painting"
  585. "       *                    its value into the include criteria dialog"
  586. "       *                    when it points to Criteria.CompareValue...)"
  587. "       *"
  588. "       *    Returns BOOL  - TRUE if the field was ownerdrawn, FALSE if the"
  589. "       *                    container control should do default painting."
  590. "       */"
  591. "      typedef BOOL (EXPENTRY FNOWNDRW)(HWND,PVOID,PVOID);"
  592. "      typedef FNOWNDRW *PFNOWNDRW;"
  593. ""
  594. "      /* Details comparison criteria structure"
  595. "       */"
  596. "      typedef struct _CRITERIA"
  597. "      {"
  598. "         PVOID            pReserved;           /* Reserved - MUST be null!!!! */"
  599. "         struct _CRITERIA *pNext;"
  600. "         struct _CRITERIA *pPrev;"
  601. "         ULONG            ClassFieldInfoIndex; /* Index of the details field  */"
  602. "         ULONG            LogicalOperator;     /* CRITERIA_AND or CRITERIA_OR */"
  603. "         ULONG            ComparisonType;      /* CMP_LESS_OR_EQUAL etc...    */"
  604. "         ULONG            ulLenCompareValue;   /* sizeof(ComparisonData)      */"
  605. "         CHAR             CompareValue[1];     /* Value to be compared with   */"
  606. "      } CRITERIA;"
  607. "      typedef CRITERIA *PCRITERIA;"
  608. ""
  609. "      #define CRITERIA_AND        0"
  610. "      #define CRITERIA_OR         1"
  611. ""
  612. "      /* ClassCriteria structure: points to a linked list of CRITERIA"
  613. "       * for the given class. ClassCriteria may be linked into a list"
  614. "       * too - and passed to a filter object, or the wpclsFindObjectFirst"
  615. "       * method call..."
  616. "       */"
  617. "      typedef struct _CLASSCRITERIA                                     /*!INC*/"
  618. "      {"
  619. "         struct _CLASSCRITERIA *pNext;"
  620. "         struct _CLASSCRITERIA *pPrev;"
  621. "         M_WPObject            *Class;          /* Class object */"
  622. "         PCRITERIA              pCriteria;      /* Linked list of criteria */"
  623. "         WPObject              *NotifyObject;   /* Owner of the criteria list */"
  624. "      } CLASSCRITERIA;"
  625. "      typedef CLASSCRITERIA *PCLASSCRITERIA;"
  626. ""
  627. "      /* This structure is passed to a details criteria edit window"
  628. "       * when it is created, so that it knows the current value and"
  629. "       * min/max values for the criteria to be edited."
  630. "       *"
  631. "       * As the user modifies the compare value using the criteria"
  632. "       * edit window, it should update the buffer pointed to by"
  633. "       * 'pCompareValue'."
  634. "       */"
  635. "      typedef struct _EDITCTLINIT                                       /*!INC*/"
  636. "      {"
  637. "         ULONG cb;                /* must have length in control data! MindyP */"
  638. "         PVOID pCompareValue;     /* Buffer containing the current value */"
  639. "         ULONG ulLenCompareValue; /* Length of pCompareValue buffer */"
  640. "         PVOID pMinCompareValue;  /* READ-ONLY parameter, NULL => default */"
  641. "         PVOID pMaxCompareValue;  /* READ-ONLY parameter, NULL => default */"
  642. "      } EDITCTLINIT;"
  643. "      typedef EDITCTLINIT *PEDITCTLINIT;"
  644. ""
  645. "      /* Structure for wpclsQueryDetailsInfo method"
  646. "       *"
  647. "       * CLASSFIELDINFO is identical to the FIELDINFO structure of the"
  648. "       * container control with the following differences:"
  649. "       *"
  650. "       * - The offStruct field from FIELDINFO is reserved."
  651. "       * - The offFieldData and usLenFieldData structure elements have"
  652. "       *   been added."
  653. "       * - Compare/Sort/Ownerdraw fields have also been added for the"
  654. "       *   convenience of the programmer, so that object details can"
  655. "       *   be customized and objects can be found or included by any"
  656. "       *   of their displayable object details."
  657. "       *"
  658. "       * For example if the application has the following details data:"
  659. "       *"
  660. "       * typedef struct _SAMPLE {"
  661. "       *   CDATE   cdate;"
  662. "       *   CTIME   ctime;"
  663. "       *   PSZ     psz;"
  664. "       * }  SAMPLE;"
  665. "       *"
  666. "       * classfieldinfo[0].offFieldData   = FIELDOFFSET(SAMPLE,cdate);"
  667. "       * classfieldinfo[0].ulLenFieldData = FIELDOFFSET(SAMPLE,ctime) -"
  668. "       *                                    FIELDOFFSET(SAMPLE,cdate);"
  669. "       *"
  670. "       * classfieldinfo[1].offFieldData   = FIELDOFFSET(SAMPLE,ctime);"
  671. "       * classfieldinfo[1].ulLenFieldData = FIELDOFFSET(SAMPLE,psz) -"
  672. "       *                                    FIELDOFFSET(SAMPLE,ctime);"
  673. "       *"
  674. "       * classfieldinfo[2].offFieldData   = FIELDOFFSET(SAMPLE,psz);"
  675. "       * classfieldinfo[2].ulLenFieldData = sizeof(SAMPLE) -"
  676. "       *                                    FIELDOFFSET(SAMPLE,psz);"
  677. "       *"
  678. "       * NOTE: It is essential that the fields be linked in order ex. above"
  679. "       *       cdate must be followed by ctime and finally psz."
  680. "       */"
  681. "      typedef struct _CLASSFIELDINFO                                    /*!INC*/"
  682. "      {"
  683. "         /* Details field attributes"
  684. "          */"
  685. "         ULONG      cb;                  /* size of CLASSFIELDINFO struct  */"
  686. "         ULONG      flData;              /* attributes of field's data     */"
  687. "         ULONG      flTitle;             /* attributes of field's title    */"
  688. "         PVOID      pTitleData;          /* title data (default is string) */"
  689. "                                         /* If CFT_BITMAP, must be HBITMAP */"
  690. "         ULONG      ulReserved;          /* Reserved                       */"
  691. "         PVOID      pUserData;           /* pointer to user data           */"
  692. "         struct _CLASSFIELDINFO *pNextFieldInfo; /* pointer to next linked */"
  693. "                                                /* CLASSFIELDINFO structure*/"
  694. "         ULONG      cxWidth;             /* width of field in pels         */"
  695. "         ULONG      offFieldData;        /* offset from beginning of       */"
  696. "                                         /*   this class's data for this   */"
  697. "                                         /*   field. (first field is 0).   */"
  698. "         ULONG      ulLenFieldData;      /* width of data in bytes.        */"
  699. "                                         /*   (4 for a pointer).           */"
  700. "         PFNOWNDRW  pfnOwnerDraw;        /* Ownerdraw procedure for detail */"
  701. "                                         /* column. Can be NULL except if  */"
  702. "                                         /* ownerdraw is being used.       */"
  703. "         /* Include/Sort parameters"
  704. "          */"
  705. "         ULONG      flCompare;           /* Flags: for example, use the    */"
  706. "                                         /*   COMPARE_SUPPORTED flag if    */"
  707. "                                         /*   your field can be compared   */"
  708. "         PFNCOMPARE pfnCompare;          /* Comparison function for this   */"
  709. "                                         /*   field. Can be NULL unless    */"
  710. "                                         /*   ownerdraw is used.           */"
  711. "         ULONG      DefaultComparison;   /* This is the default compare    */"
  712. "                                         /*   operator in the include      */"
  713. "                                         /*   page criteria dialog. (eg:   */"
  714. "                                         /*   CMP_LESS_OR_EQUAL)           */"
  715. "         ULONG      ulLenCompareValue;   /* Maximum length of the compare  */"
  716. "                                         /*   data. Can be NULL unless     */"
  717. "                                         /*   ownerdraw is used.           */"
  718. "         PVOID      pDefCompareValue;    /* The default value to be used   */"
  719. "                                         /*   for comparisons. Can be NULL */"
  720. "                                         /*   unless ownerdraw is used.    */"
  721. "         PVOID      pMinCompareValue;    /* The default value to be used   */"
  722. "                                         /*   for comparisons.Can be NULL  */"
  723. "                                         /*   unless ownerdraw is used.    */"
  724. "         PVOID      pMaxCompareValue;    /* The default value to be used   */"
  725. "                                         /*   for comparisons.Can be NULL  */"
  726. "                                         /*   unless ownerdraw is used.    */"
  727. "         PSZ        pszEditControlClass; /* Window class to be used to edit*/"
  728. "                                         /*   the compare value. Can be    */"
  729. "                                         /*   NULL unless ownerdraw is used*/"
  730. "         PFNCOMPARE pfnSort;             /* Sort function for this @SM09511*/"
  731. "                                         /*   field. Can be NULL unless    */"
  732. "                                         /*   ownerdraw is used.           */"
  733. "         PSZ        *pNewComp;"
  734. "      } CLASSFIELDINFO;"
  735. ""
  736. "      typedef CLASSFIELDINFO *PCLASSFIELDINFO;"
  737. ""
  738. "      #define COMPARE_SUPPORTED      1"
  739. "      #define SORTBY_SUPPORTED       2"
  740. ""
  741. "      /* Standard notebook size constants */"
  742. "      #define STDNOTEBOOKWIDTH    290"
  743. "      #define STDNOTEBOOKHEIGHT   275"
  744. ""
  745. "      /* Confirm flags */"
  746. "      #define CONFIRM_DELETE             0x0001"
  747. "      #define CONFIRM_DELETEFOLDER       0x0002"
  748. "      #define CONFIRM_RENAMEFILESWITHEXT 0x0004"
  749. "      #define CONFIRM_KEEPASSOC          0x0008"
  750. "      #define CONFIRM_ACTION             0x0010"
  751. "      #define CONFIRM_PROGRESS           0x0020"
  752. "      #define CONFIRM_ALLOWFORCEDELETE   0x0040"                       "      #define CONFIRM_FORCEDELETE        0x0080"                       ""
  753. "      #define OK_DELETE             1"
  754. "      #define NO_DELETE             2"
  755. "      #define CANCEL_DELETE         3"
  756. ""
  757. "      #define NUM_OBJDETAILS_FIELDS    5     /* number of object details */"
  758. ""
  759. "      /* Search Type for wpclsQueryExtendedCriteria */"
  760. ""
  761. "      #define SEARCH_ALL_FOLDERS 1"
  762. "      #define SEARCH_THIS_FOLDER 2"
  763. "      #define SEARCH_THIS_TREE   3"
  764. ""
  765. "      /* Find method related types and constants */"
  766. ""
  767. "      typedef WPObject   *OBJECT;                             /* FIND */"
  768. "      typedef OBJECT     *POBJECT;"
  769. "      typedef M_WPObject *CLASS;"
  770. "      typedef CLASS      *PCLASS;"
  771. "      typedef LHANDLE     HFIND;"
  772. "      typedef HFIND      *PHFIND;"
  773. ""
  774. "      /* wpDrop method return code  */"
  775. ""
  776. "      #define RC_DROP_DROPCOMPLETE 2"
  777. "      #define RC_DROP_ITEMCOMPLETE 1"
  778. "      #define RC_DROP_RENDERING    0"
  779. "      #define RC_DROP_ERROR       -1"
  780. ""
  781. "      /*handle for files being tracked by the shell */"
  782. ""
  783. "      typedef LHANDLE HFS;"
  784. "      #define MAXSZHFS 10       /* size of the translated string */"
  785. ""
  786. "      #define SETTINGS_PAGE_REMOVED  -1"
  787. ""
  788. "    /* wpSetConcurrentView values */"
  789. "      #define CCVIEW_DEFAULT 0"
  790. "      #define CCVIEW_ON      1"
  791. "      #define CCVIEW_OFF     2"
  792. ""
  793. "    /* wpSetMinWindow values */"
  794. "      #define MINWIN_DEFAULT 0"
  795. "      #define MINWIN_HIDDEN  1"
  796. "      #define MINWIN_VIEWER  2"
  797. "      #define MINWIN_DESKTOP 3"
  798. ""
  799. "    /* wpSetButtonAppearance values */"
  800. "      #define HIDEBUTTON      1"
  801. "      #define MINBUTTON      2"
  802. "      #define DEFAULTBUTTON  3"
  803. ""
  804. "      #define  HIDDENMINWINDOW_DEFAULT MINWIN_VIEWER"
  805.  
  806. "      typedef struct _TASKREC"
  807. "      {"
  808. "         struct _TASKREC *next;     /* next in the list of current tasks   */"
  809. "         ULONG            useCount; /* can be referenced by multiple object*/"
  810. "         PVOID            pStdDlg;  /* ptr to standard WP task dialog      */"
  811. "         WPFolder        *folder;   /* intended folder for the object      */"
  812. "         LONG             xOrigin;  /* intended position for the object    */"
  813. "         LONG             yOrigin;  /* intended position for the object    */"
  814. "         PSZ              pszTitle; /* intended name for the object        */"
  815. "         ULONG            cbTitle;  /* length of the name buffer           */"
  816. "         PMINIRECORDCORE  positionAfterRecord; /* intended sort position   */"
  817. "         BOOL            fKeepAssociations;"
  818. "         PVOID            pReserved;    /* reserved - equal null           */"
  819. ""
  820. "      }  TASKREC;"
  821. "      typedef TASKREC *PTASKREC;"
  822. ""
  823. "      typedef struct _OBJDETAILS"
  824. "      {"
  825. "        PSZ    ObjTitle;"
  826. "        ULONG  ObjStyle;"
  827. "        PSZ    ObjClass;"
  828. "      } OBJDETAILS;"
  829. "      typedef OBJDETAILS *POBJDETAILS;"
  830. ""
  831. "#define VIEW_CONTENTS      0x00000001"
  832. "#define VIEW_SETTINGS      0x00000002"
  833. "#define VIEW_HELP          0x00000004"
  834. "#define VIEW_RUNNING       0x00000008"
  835. "#define VIEW_DETAILS       0x00000010"
  836. "#define VIEW_TREE          0x00000020"
  837. "#define VIEW_ANY           0xFFFFFFFF  /* Special case - will find any ViewItem */"
  838. ""
  839. "/*"
  840. " * Passthru some stuff to the .h file"
  841. " */"
  842. "";
  843.  
  844.     somUninit: override;
  845.     somDefaultInit: override;              somDestruct: override;               };
  846. #endif /* __SOMIDL__ */
  847. };
  848. interface M_WPObject : SOMClass
  849. {
  850.   BOOL wpclsCreateDefaultTemplates(in WPObject Folder);
  851.   VOID wpclsInitData();
  852.   WPObject wpclsMakeAwake(in PSZ pszTitle,
  853.                           in ULONG ulStyle,
  854.                           in HPOINTER hptrIcon,
  855.                           in POBJDATA pObjData,
  856.                           in WPFolder Folder,
  857.                           in ULONG ulUser);
  858.   WPObject wpclsNew(in PSZ pszTitle,
  859.                     in PSZ pszSetupEnv,
  860.                     in WPFolder Folder,
  861.                     in BOOL fLock);
  862.   BOOL wpclsQueryDefaultHelp(in PULONG pHelpPanelId,
  863.                              in PSZ pszHelpLibrary);
  864.   ULONG wpclsQueryDefaultView();
  865.   PCLASSDETAILS wpclsQueryDetails();
  866.   ULONG wpclsQueryDetailsInfo(inout PCLASSFIELDINFO ppClassFieldInfo,
  867.                               in PULONG pSize);
  868.   BOOL wpclsQueryExtendedCriteria(in PSZ pszName,
  869.                                   in ULONG ulSearchType,
  870.                                   in PVOID pvoidExtendedCriteria);
  871.   WPObject wpclsQueryFolder(in PSZ pszLocation,
  872.                             in BOOL fLock);
  873.   HPOINTER wpclsQueryIcon();
  874.   VOID wpclsQuerySearchInfo(inout M_WPObject ClassExtended,
  875.                             inout M_WPObject ClassCreate,
  876.                             in PULONG pulClassCriteriaSize);
  877.   ULONG wpclsQueryStyle();
  878.   PSZ wpclsQueryTitle();
  879.   VOID wpclsUnInitData();
  880.   BOOL wpclsFindObjectFirst(in PCLASS pClassList,
  881.                             in PHFIND phFind,
  882.                             in PSZ pszTitle,
  883.                             in WPFolder Folder,
  884.                             in BOOL fSubfolders,
  885.                             in PVOID pExtendedCriteria,
  886.                             in POBJECT pBuffer,
  887.                             in PULONG pCount);
  888.   BOOL wpclsFindObjectNext(in HFIND hFind,
  889.                            in POBJECT pBuffer,
  890.                            in PULONG pCount);
  891.   BOOL wpclsFindObjectEnd(in HFIND hFind);
  892.   BOOL wpclsSetError(in ULONG ulErrorId);
  893.   ULONG wpclsQueryError();
  894.   BOOL wpclsQuerySettingsPageSize(in PSIZEL pSizl);
  895.   ULONG wpclsQueryIconData(in PICONINFO pIconInfo);
  896.   WPObject wpclsQueryObject(in HOBJECT hObject);
  897.   ULONG wpclsQueryButtonAppearance();
  898.   VOID wpclsDecUsage();
  899.   VOID wpclsIncUsage();
  900.   BOOL wpclsInsertMultipleObjects(in HWND hwndCnr,
  901.                                   in PPOINTL pptlIcon,
  902.                                   inout PVOID pObjectArray,
  903.                                   in PVOID pRecordParent,
  904.                                   in ULONG NumRecords);
  905.   WPObject wpclsFindOneObject(in HWND hwndOwner, in PSZ pszFindParams);
  906.   BOOL wpclsSetSettingsPageSize(in PSIZEL pSizl);
  907.   BOOL wpclsSetIconData(in PICONINFO pIconInfo);
  908.   BOOL wpclsSetIcon(in HPOINTER hptrNewIcon);
  909.   WPObject wpclsObjectFromHandle(in HOBJECT hObject);
  910.   BOOL wpclsRemoveObjects(in HWND hwndCnr,
  911.                           inout PVOID pRecordArray,
  912.                           in ULONG NumRecords,
  913.                           in BOOL RemoveAll);
  914. #ifdef __SOMIDL__
  915.   implementation {
  916.     releaseorder: wpclsInitData,wpclsUnInitData,withdrawn8,wpclsMakeAwake,
  917.                   wpclsIncUsage,wpclsDecUsage,wpclsQueryTitle,wpclsQueryIcon,
  918.                   wpclsQueryDefaultHelp,wpclsQueryStyle,wpclsQueryDetailsInfo,
  919.                   wpclsQueryDefaultView,wpclsQueryDetails,wpclsQuerySearchInfo,
  920.                   wpclsQueryExtendedCriteria,wpclsCreateDefaultTemplates,
  921.                   withdrawn9,wpclsFindObjectFirst,wpclsFindObjectNext,
  922.                   wpclsFindObjectEnd,wpclsFindObjects,wpclsSetError,
  923.                   wpclsQueryError,wpclsQuerySettingsPageSize,wpclsSetSettingsPageSize,
  924.                   wpclsQueryIconData,wpclsSetIcon,wpclsSetIconData,
  925.                   wpclsQueryObject,wpclsObjectFromHandle,wpclsSaveDirtyObjects,
  926.                   wpclsLockDirtyList,wpclsUnlockDirtyList,wpclsLockRestartList,
  927.                   wpclsUnlockRestartList,wpclsQueryButtonAppearance,
  928.                   wpclsNew,wpclsQueryFolder,wpclsLockSleepyList,wpclsUnlockSleepyList,
  929.                   wpclsRemoveObjects,wpclsInsertMultipleObjects,
  930.                   wpclsINew,wpclsFindOneObject,
  931.                   wpclsQueryMaxAnimationIcons;                                      externalstem = wpobj;
  932.     local;
  933.     externalprefix = objM_;
  934.     majorversion = 1;
  935.     minorversion = 2;
  936.     filestem = wpobject;
  937.     callstyle = oidl;
  938.     dllname = "pmwp.dll";             /* sahsom2 */
  939.     somUninit: override;
  940.     somClassReady: override;
  941.     somNew: override;
  942.     somRenew: override;
  943.   };
  944. #endif /* __SOMIDL__ */
  945. };
  946. #endif  /* wpobject_idl */
  947.