Index: trunk/classes/c/c_audio/fixed_cwaudio.c
===================================================================
--- trunk/classes/c/c_audio/fixed_cwaudio.c	(revision 93)
+++ 	(revision )
@@ -1,3509 +1,0 @@
-
-/*
- * (C) Chris Wohlgemuth 2002-2003
- *
- */
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING.  If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- */
-/*
- * If you need another license for your project/product contact me at
- * 
- * http://www.os2world.com/cdwriting
- * http://www.geocities.com/SiliconValley/Sector/5785/
- */
-
-/*
- *  This file was generated by the SOM Compiler and Emitter Framework.
- *  Generated using: 
- *      SOM Emitter emitctm: 2.42
- */
-
-#ifndef SOM_Module_cwaudio_Source
-#define SOM_Module_cwaudio_Source
-#endif
-#define CWAudio_Class_Source
-#define M_CWAudio_Class_Source
-
-#define INCL_PM
-#define INCL_DOS
-#define INCL_WINWORKPLACE
-#define INCL_MMIOOS2
-#define INCL_DOSDEVIOCTL
-#define INCL_MCIOS2
-#define  INCL_ERRORS
-
-#include <os2.h>
-#include <stdio.h>
-#include "os2me.h"
-#include "cwmmdataf.h"
-#include "cwaudio.ih"
-#include "except.h"
-#include "cwaudioinc.h"
-#include "cwmp3inc.h" /* */
-#include "cwogginc.h" /* */
-#include <wpdisk.h>
-#include <wpfolder.h>
-
-#include "ea_funcs.h" /* Functions to read and write EA of file system objects */
-#include "som_wps_funcs.h"
-#include "sys_funcs.h"
-
-
-int iGenreLast=147;
-char *genreList[]={
-	"Blues", "Classic Rock", "Country", "Dance", "Disco", "Funk",
-	"Grunge", "Hip-Hop", "Jazz", "Metal", "New Age", "Oldies",
-	"Other", "Pop", "R&B", "Rap", "Reggae", "Rock",
-	"Techno", "Industrial", "Alternative", "Ska", "Death Metal", "Pranks",
-	"Soundtrack", "Euro-Techno", "Ambient", "Trip-Hop", "Vocal", "Jazz+Funk",
-	"Fusion", "Trance", "Classical", "Instrumental", "Acid", "House",
-	"Game", "Sound Clip", "Gospel", "Noise", "AlternRock", "Bass",
-	"Soul", "Punk", "Space", "Meditative", "Instrumental Pop", "Instrumental Rock",
-	"Ethnic", "Gothic", "Darkwave", "Techno-Industrial", "Electronic", "Pop-Folk",
-	"Eurodance", "Dream", "Southern Rock", "Comedy", "Cult", "Gangsta",
-	"Top 40", "Christian Rap", "Pop/Funk", "Jungle", "Native American", "Cabaret",
-	"New Wave", "Psychadelic", "Rave", "Showtunes", "Trailer", "Lo-Fi",
-	"Tribal", "Acid Punk", "Acid Jazz", "Polka", "Retro", "Musical",
-	"Rock & Roll", "Hard Rock", "Folk", "Folk/Rock", "National Folk", "Swing",
-	"Fast-Fusion", "Bebob", "Latin", "Revival", "Celtic", "Bluegrass", "Avantgarde",
-	"Gothic Rock", "Progressive Rock", "Psychedelic Rock", "Symphonic Rock", "Slow Rock", "Big Band",
-	"Chorus", "Easy Listening", "Acoustic", "Humour", "Speech", "Chanson",
-	"Opera", "Chamber Music", "Sonata", "Symphony", "Booty Bass", "Primus",
-	"Porn Groove", "Satire", "Slow Jam", "Club", "Tango", "Samba",
-	"Folklore", "Ballad", "Power Ballad", "Rhythmic Soul", "Freestyle", "Duet",
-	"Punk Rock", "Drum Solo", "A capella", "Euro-House", "Dance Hall",
-	"Goa", "Drum & Bass", "Club House", "Hardcore", "Terror",
-	"Indie", "BritPop", "NegerPunk", "Polsk Punk", "Beat",
-	"Christian Gangsta", "Heavy Metal", "Black Metal", "Crossover", "Contemporary C",
-	"Christian Rock", "Merengue", "Salsa", "Thrash Metal", "Anime", "JPop",
-	"SynthPop",
-};
-
-extern char classDLLPath[CCHMAXPATH];
-HMODULE queryModuleHandle(void);
-PSZ _queryMp3HelpLibraryName(void)
-{
-  static char helpLibraryName[CCHMAXPATH];
-  BOOL bDone=FALSE;
-
-  if(!bDone) {
-    if(queryModuleHandle()) {
-      char  *ptr;
-      strncpy(helpLibraryName, classDLLPath, sizeof(helpLibraryName)-1);
-      if((ptr=strrchr(helpLibraryName, '\\'))!=NULLHANDLE) {
-        *(++ptr)=0;
-        if(strlen(helpLibraryName)+strlen(MP3FILE_HELP_LIBRARY)<sizeof(helpLibraryName)) {
-          strcat(helpLibraryName, MP3FILE_HELP_LIBRARY );
-          bDone=TRUE;
-          return helpLibraryName;
-        }
-      }
-    }
-    return NULLHANDLE;
-  }
-
-  return helpLibraryName;
-}
-
-/* Redefine function names */
-#define cwGetStringFromEA EARestoreString
-#define cwSaveStringToEA EASaveString
-
-char classDLLPath[CCHMAXPATH]={0};
-char chrHelpLibrary[CCHMAXPATH]={0};
-char chrInstallDir[CCHMAXPATH]={0};
-char chrMMAudioExt[200]={0};/* Array holding the extensions for wpclsQueryInstanceFilter() */
-char resDLLPath[CCHMAXPATH]={0};
-
-static PSZ pszAudioColTitles[NUM_AUDIO_FIELDS]= {"Playtime", "Bitrate", "Samplerate", "Channels", "Bits per sample",
-"Track Name","Artist","Album","Year","Comment","Genre"};
-
-char chrPlayTime[SIZE_TITLE]="";
-char chrBitRate[SIZE_TITLE]=""; /* New with 0.2.7 */
-char chrSampleRate[SIZE_TITLE]="";
-char chrChannels[SIZE_TITLE]="";
-char chrBPS[SIZE_TITLE]="";
-char chrName[SIZE_TITLE]="";
-char chrArtist[SIZE_TITLE]="";
-char chrAlbum[SIZE_TITLE]="";
-char chrYear[SIZE_TITLE]="";
-char chrComment[SIZE_TITLE]="";
-char chrGenre[SIZE_TITLE]="";
-
-static CLASSFIELDINFO cfiFieldInfo[NUM_AUDIO_FIELDS];
-
-extern PMMFORMATINFO g_pmmFormatInfoArray; /* in cwimage.c */
-extern LONG          lNumIOProcs;/* Needed to know how many convert menus we have */
-int iRunningAudioFiles=0;        /* Used to check if there's already an audio file started */
-
-extern char *genreList[];
-extern int iGenreLast;
-
-/* Global var with HAB */
-extern HAB globalHab;
-
-extern ULONG globalClassVolume;
-
-HWND globalHwndObjectPlay;
-MMAudio* globalObjectPlay;
-
-HMODULE queryModuleHandle(void);
-HMODULE queryResModuleHandle(void);
-PSZ queryModuleName(void);
-BOOL getMessage(char* text,ULONG ulID, LONG lSizeText, HMODULE hResource,HWND hwnd);
-ULONG messageBox( char* text, ULONG ulTextID , LONG lSizeText,
-                  char* title, ULONG ulTitleID, LONG lSizeTitle,
-                  HMODULE hResource, HWND hwnd, ULONG ulFlags);
-
-BOOL cwQueryCDDrives(int *iNumCD, int * iFirstDrive);
-void HlpSendCommandToObject(char* chrObject, char* command);
-PSZ _queryMp3HelpLibraryName(void);
-BOOL cwMoveNotebookButtonsWarp4(HWND hwndDlg, USHORT usID, USHORT usDelta);
-BOOL cwObjectIsOnCD(WPObject * somSelf);
-PSZ queryInstallDir(void);
-
-BOOL mmclsSetObjectType(WPFileSystem * somSelf);
-BOOL mmclsCreateTheDefaultTemplate(M_WPObject *somSelf, 
-                                   WPObject* Folder);
-ULONG launchPMProg(PSZ pszTitle, PSZ wrapperExe, PSZ parameters,  WPObject *thisPtr, ULONG ulView);
-BOOL getStringFromRexxScript(PSZ rexxFile, char* chrResult, ULONG ulSize);
-
-/* Max string length for the EA values e.g. the trackname. If this value is increased the
-   retstring length in the REXX function handler rxCallCWMMFunc() must also be increased! */
-#define MAX_EA_SIZE 256
-
-
-
-static PBYTE _readTrackInfoIntoMem(MMAudio *somSelf, char * chrEAName, PBYTE pByte, ULONG ulSize)
-{
-  if(cwGetStringFromEA(somSelf, chrEAName , pByte, ulSize))
-    {
-      PBYTE pEAValue;
-      ULONG ul, len;
-      
-      len=strlen(pByte);
-      if( (pEAValue=_wpAllocMem(somSelf, len+1, &ul))!=NULLHANDLE) {
-        strncpy(pEAValue, pByte, len);
-        pEAValue[len]=0;
-        return pEAValue;
-      }
-    }
-  return NULLHANDLE;
-}
-
-void _fillEntryfieldsWithCurrentTrackNames( MMAudio *cwAudio, HWND hwnd)
-{
-  MMAudioData *somThis = MMAudioGetData(cwAudio);
-
-  if(_pszName)
-    WinSetWindowText(WinWindowFromID(hwnd,IDEF_ID3NAME), _pszName);
-  else
-    WinSetWindowText(WinWindowFromID(hwnd,IDEF_ID3NAME), "");
-
-  if(_pszArtist)
-    WinSetWindowText(WinWindowFromID(hwnd, IDEF_ID3ARTIST), _pszArtist);
-  else
-    WinSetWindowText(WinWindowFromID(hwnd, IDEF_ID3ARTIST), "");
-
-  if(_pszAlbum)
-    WinSetWindowText(WinWindowFromID(hwnd,IDEF_ID3ALBUM), _pszAlbum);
-  else
-    WinSetWindowText(WinWindowFromID(hwnd,IDEF_ID3ALBUM), "");
-
-  if(_pszComment)
-    WinSetWindowText(WinWindowFromID(hwnd, IDEF_ID3COMMENT), _pszComment);
-  else
-    WinSetWindowText(WinWindowFromID(hwnd, IDEF_ID3COMMENT), "");
-
-  if(_pszYear)
-    WinSetWindowText(WinWindowFromID(hwnd,IDEF_ID3YEAR), _pszYear);
-  else
-    WinSetWindowText(WinWindowFromID(hwnd,IDEF_ID3YEAR), "");
-
-  if(_pszGenre)
-    WinSetWindowText(WinWindowFromID(hwnd,IDDD_ID3GENRE), _pszGenre);
-  else
-    WinSetWindowText(WinWindowFromID(hwnd,IDDD_ID3GENRE), "");
-
-#if 0
-  if(_cwmmQueryTrackInfo(cwAudio, &chr, sizeof(tempChar), IDINFO_NAME))
-    WinSetWindowText(WinWindowFromID(hwnd,IDEF_ID3NAME), chr);
-  if(_cwmmQueryTrackInfo(cwAudio, &chr, sizeof(tempChar), IDINFO_ARTIST))
-    WinSetWindowText(WinWindowFromID(hwnd, IDEF_ID3ARTIST),tempChar);
-  if(_cwmmQueryTrackInfo(cwAudio, &chr, sizeof(tempChar), IDINFO_ALBUM))
-    WinSetWindowText(WinWindowFromID(hwnd,IDEF_ID3ALBUM),tempChar);
-  if(_cwmmQueryTrackInfo(cwAudio, &chr, sizeof(tempChar), IDINFO_COMMENT))
-    WinSetWindowText(WinWindowFromID(hwnd, IDEF_ID3COMMENT),tempChar);
-  if(_cwmmQueryTrackInfo(cwAudio, &chr, sizeof(tempChar), IDINFO_YEAR))
-    WinSetWindowText(WinWindowFromID(hwnd,IDEF_ID3YEAR),tempChar);
-  if(_cwmmQueryTrackInfo(cwAudio, &chr, sizeof(tempChar), IDINFO_GENRE))
-    WinSetWindowText(WinWindowFromID(hwnd,IDDD_ID3GENRE),tempChar);
-#endif
-}
-
-/****************************************************************/
-/*                                                              */
-/*                                                              */
-/*                                                              */
-/*                                                              */
-/****************************************************************/
-static PBYTE _readTrackInfoFromTextFieldIntoMem(MMAudio *somSelf, PBYTE pByte, HWND hwnd)
-{
-  ULONG ulLen;
-  PBYTE pNewText;
-  ULONG  ul;
-
-  ulLen=WinQueryWindowTextLength(hwnd)+1;
-
-  /* Alloc mem for new string */
-  if( (pNewText=_wpAllocMem(somSelf, ulLen, &ul))!=NULLHANDLE) {
-    WinQueryWindowText(hwnd, ulLen, pNewText);
-    _wpFreeMem(somSelf, pByte);
-
-    return pNewText;
-  }
-
-  return pByte;
-}
-
-/****************************************************************/
-/*                                                              */
-/* WNDPROC: trackNameDlgProc()                                  */
-/*                                                              */
-/* Window procedure handling the track information settings     */
-/* page. The user may use the page to edit the information.     */
-/*                                                              */
-/****************************************************************/
-static MRESULT EXPENTRY trackNameDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
-{
-  MMAudio *cwAudio;
-
-
-  switch(msg) {
-  case WM_INITDLG :
-    cwAudio=(MMAudio*)PVOIDFROMMP(mp2);
-
-    WinSetWindowULong(WinWindowFromID(hwnd,IDEF_ID3NAME),
-                      QWL_USER,(ULONG)cwAudio);//Save object ptr.
-
-    if(somIsObj(cwAudio)) {
-      int a;
-      HWND hwndTemp;
-      char name[50];
-      MMAudioData *somThis = MMAudioGetData(cwAudio);
-      /* Move default buttons on Warp 4 */
-      cwMoveNotebookButtonsWarp4(hwnd, IDPB_ID3HELP, 15);
-
-      if(!getMessage(name, IDSTR_TRACKNAME, sizeof(name),  queryResModuleHandle(), hwnd))
-        strcpy(name, "Track name");
-      WinSetWindowText(WinWindowFromID(hwnd,IDGB_ID3TAGS), name);
-
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3NAME),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)MAX_EA_SIZE-1),0);
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3ARTIST),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)MAX_EA_SIZE-1),0);
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3ALBUM),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)MAX_EA_SIZE-1),0);
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3COMMENT),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)MAX_EA_SIZE-1),0);
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3YEAR),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)MAX_EA_SIZE-1),0);
-      WinSendMsg(WinWindowFromID(hwnd,IDDD_ID3GENRE),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)MAX_EA_SIZE-1),0);
-#if 0
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3NAME),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)sizeof(_id3Name)-1),0);
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3ARTIST),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)sizeof(_id3Artist)-1),0);
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3ALBUM),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)sizeof(_id3Album)-1),0);
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3COMMENT),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)sizeof(_id3Comment)-1),0);
-      WinSendMsg(WinWindowFromID(hwnd,IDEF_ID3YEAR),EM_SETTEXTLIMIT,MPFROMSHORT((SHORT)sizeof(_id3Year)-1),0);
-#endif      
-      /* Fill drop downlist with knwon genres */
-      hwndTemp=WinWindowFromID(hwnd, IDDD_ID3GENRE);
-      for(a=0;a<=iGenreLast;a++)
-        WinSendMsg(hwndTemp, LM_INSERTITEM, MPFROMSHORT(LIT_SORTASCENDING),MPFROMP(genreList[a]));
-      _fillEntryfieldsWithCurrentTrackNames( cwAudio, hwnd);
-    }
-    WinSetWindowULong(WinQueryWindow(hwnd, QW_PARENT), QWL_HWNDFOCUSSAVE, hwnd);
-    return (MRESULT)TRUE;
-      /* This prevents switching the notebook page behind the open folder */
-    case WM_WINDOWPOSCHANGED:
-      {
-        MRESULT mr;
-
-        if(WinQueryFocus(HWND_DESKTOP)!=
-           WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT)) {
-          mp2=MPFROMLONG(LONGFROMMP(mp2)|0x80000);/*AWP_ACTIVATE 0x00080000L*/
-          mr=WinDefDlgProc(hwnd, msg, mp1, mp2);
-          return mr;  
-        }
-        break;
-      }
-    case WM_FOCUSCHANGE:
-      {
-        if(!SHORT1FROMMP(mp2)) {
-          if(HWNDFROMMP(mp1)==hwnd) {
-            MRESULT mr;
-
-            mr=WinDefDlgProc(hwnd, msg, mp1, mp2);
-            WinSendMsg(WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT), WM_SETFOCUS, MPFROMHWND(hwnd),
-                       (MPARAM)TRUE);
-            return mr;
-          }
-        }
-        break;
-      }
-    case WM_DESTROY:
-      /* The notebook closes and gets destroyed */
-      /* Set focus to desktop to prevent PM freeze */
-      WinSetFocus(HWND_DESKTOP, HWND_DESKTOP);
-      break;
-  case WM_COMMAND:
-    cwAudio=(MMAudio*) WinQueryWindowULong(WinWindowFromID(hwnd, IDEF_ID3NAME),QWL_USER);
-    if(somIsObj(cwAudio)) {
-      // char fName[100];
-
-      switch(SHORT1FROMMP(mp1))
-        {
-        case IDPB_CANCEL:
-          _fillEntryfieldsWithCurrentTrackNames( cwAudio, hwnd);
-          break;
-        case IDPB_ID3SAVE:
-          {
-            MMAudioData *somThis = MMAudioGetData(cwAudio);
-
-            _pszName=_readTrackInfoFromTextFieldIntoMem(cwAudio, _pszName, WinWindowFromID(hwnd, IDEF_ID3NAME));
-            _pszArtist=_readTrackInfoFromTextFieldIntoMem(cwAudio, _pszArtist, WinWindowFromID(hwnd, IDEF_ID3ARTIST));
-            _pszAlbum=_readTrackInfoFromTextFieldIntoMem(cwAudio, _pszAlbum, WinWindowFromID(hwnd, IDEF_ID3ALBUM));
-            _pszComment=_readTrackInfoFromTextFieldIntoMem(cwAudio, _pszComment, WinWindowFromID(hwnd, IDEF_ID3COMMENT));
-            _pszYear=_readTrackInfoFromTextFieldIntoMem(cwAudio, _pszYear, WinWindowFromID(hwnd, IDEF_ID3YEAR));
-            _pszGenre=_readTrackInfoFromTextFieldIntoMem(cwAudio, _pszGenre, WinWindowFromID(hwnd, IDDD_ID3GENRE));
-#if 0
-            WinQueryWindowText(WinWindowFromID(hwnd, IDEF_ID3NAME), 100, fName);
-            _cwmmSetTrackInfo(cwAudio, fName,  0, IDINFO_NAME);          
-            WinQueryWindowText(WinWindowFromID(hwnd, IDEF_ID3ARTIST), 100, fName);
-            _cwmmSetTrackInfo(cwAudio, fName,  0, IDINFO_ARTIST);
-            WinQueryWindowText(WinWindowFromID(hwnd, IDEF_ID3ALBUM), 100, fName);
-            _cwmmSetTrackInfo(cwAudio, fName,  0, IDINFO_ALBUM);
-            WinQueryWindowText(WinWindowFromID(hwnd, IDEF_ID3COMMENT), 100, fName);
-            _cwmmSetTrackInfo(cwAudio, fName,  0, IDINFO_COMMENT);
-            WinQueryWindowText(WinWindowFromID(hwnd, IDEF_ID3YEAR), 100, fName);
-            _cwmmSetTrackInfo(cwAudio, fName,  0, IDINFO_YEAR);
-            /* Find genre */
-            WinQueryWindowText(WinWindowFromID(hwnd, IDDD_ID3GENRE), 100, fName);
-            _cwmmSetTrackInfo(cwAudio, fName,  0, IDINFO_GENRE);
-#endif
-            _wpSaveDeferred(cwAudio);
-          }
-          break;
-        default:
-          break;
-        }
-    }
-    return (MRESULT) TRUE;
-  default:
-    break;
-  }
-  return WinDefDlgProc(hwnd, msg, mp1, mp2);
-}
-
-#if 0
-//FIXME
-/****************************************************************/
-/*                                                              */
-/* METHOD: cwmmAddTrackNamePage()                               */
-/*                                                              */
-/* Insert new settings notebook page showing track information. */
-/* The user may use this page to edit the information           */
-/*                                                              */
-/****************************************************************/
-SOM_Scope ULONG  SOMLINK cwaudio_cwmmAddTrackNamePage(MMAudio *somSelf, 
-                                                      HWND hwndNotebook)
-{
-  PAGEINFO pageinfo;
-  char pageName[100];
-
-  /*    MMAudioData *somThis = MMAudioGetData(somSelf);*/
-    MMAudioMethodDebug("MMAudio","cwaudio_cwmmAddTrackNamePage");
-
-  //Clear the pageinfo structure
-  memset((PCH)&pageinfo, 0, sizeof(PAGEINFO));
-  //Fill the pageinfo structure
-  pageinfo.cb = sizeof(PAGEINFO);
-  pageinfo.hwndPage = NULLHANDLE;
-  pageinfo.usPageStyleFlags = BKA_MAJOR | BKA_STATUSTEXTON;
-  pageinfo.usPageInsertFlags = BKA_FIRST;
-  //We want page numbers
-  pageinfo.usSettingsFlags = SETTINGS_PAGE_NUMBERS;
-  //The dialog procedure for this page
-  pageinfo.pfnwp = trackNameDlgProc;
-  //The resource DLL
-  pageinfo.resid = queryResModuleHandle();
-  //pageinfo.resid = queryModuleHandle();
-  //The ID of the dialog template
-  pageinfo.dlgid = IDDLG_ID3TAGS;
-  //We need a pointer to our WPS-object in the dialog procedure
-  //to call class functions
-  pageinfo.pCreateParams = somSelf;
-  //The ID of the help panel for this page
-  pageinfo.idDefaultHelpPanel = TRACKNAME_SETTINGS_PANEL;
-  //Tell the WPS the help library name
-  pageinfo.pszHelpLibraryName = _queryMp3HelpLibraryName();
-  //We have a major tab so we need a name
-  if(!getMessage(pageName, ID_TRACKNAMEPAGENAME, sizeof(pageName), queryResModuleHandle(), hwndNotebook))
-    strcpy(pageName, "~Track name");
-  pageinfo.pszName = pageName;
-  //Insert the page into the settings notebook
-
-  return _wpInsertSettingsPage(somSelf,hwndNotebook,&pageinfo);
-}
-#endif
-
-/* Remove all trailing spaces from a string. The string MUST be terminated by 0! */
-void _removeTrailingSpaces(char * chrString)
-{
-  char *ptr;
-
-  if((ptr=strrchr(chrString, 0))==NULLHANDLE)
-    return;
-
-  if(ptr==chrString)
-    return;
-
-  while(ptr>=chrString && (*ptr==0 || *ptr==' '))
-    ptr--;
-
-  *(++ptr)=0;
-}
-
-
-/****************************************************************/
-/*                                                              */
-/* WNDPROC: waveInfoDlgProc()                                   */
-/*                                                              */
-/* Window procedure handling the wave information settings      */
-/* page.                                                        */
-/*                                                              */
-/****************************************************************/
-static MRESULT EXPENTRY waveInfoDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
-{
-  MMAudio *cwAudio;
-
-  switch(msg) {
-  case WM_INITDLG :
-    cwAudio=(MMAudio*)LONGFROMMP(mp2);
-    if(somIsObj(cwAudio)) {
-      char fName[CCHMAXPATH];
-      MMAudioData *somThis = MMAudioGetData(cwAudio);
-      
-      sprintf(fName,"%d",_ulChannels);
-      WinSetWindowText(WinWindowFromID(hwnd, IDST_CHANNELS),fName);
-      
-      sprintf(fName,"%d",_ulSampleRate);
-      WinSetWindowText(WinWindowFromID(hwnd, IDST_SAMPLERATE),fName);
-      sprintf(fName,"%d",_ulBPS);
-      WinSetWindowText(WinWindowFromID(hwnd, IDST_BPS),fName);
-      sprintf(fName,"%d:%02d",_ulPlaySecs/60, _ulPlaySecs%60);
-      WinSetWindowText(WinWindowFromID(hwnd, IDST_PLAYTIME),fName);
-      WinSetWindowULong(WinQueryWindow(hwnd, QW_PARENT), QWL_HWNDFOCUSSAVE, hwnd);
-    }
-    return (MRESULT)TRUE;
-      /* This prevents switching the notebook page behind the open folder */
-    case WM_WINDOWPOSCHANGED:
-      {
-        MRESULT mr;
-
-        if(WinQueryFocus(HWND_DESKTOP)!=
-           WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT)) {
-          mp2=MPFROMLONG(LONGFROMMP(mp2)|0x80000);/*AWP_ACTIVATE 0x00080000L*/
-          mr=WinDefDlgProc(hwnd, msg, mp1, mp2);
-          return mr;  
-        }
-        break;
-      }
-    case WM_FOCUSCHANGE:
-      {
-        if(!SHORT1FROMMP(mp2)) {
-          if(HWNDFROMMP(mp1)==hwnd) {
-            MRESULT mr;
-
-            mr=WinDefDlgProc(hwnd, msg, mp1, mp2);
-            WinSendMsg(WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT), 
-                       WM_SETFOCUS, MPFROMHWND(hwnd), (MPARAM)TRUE);
-            return mr;
-          }
-        }
-        break;
-      }
-    case WM_DESTROY:
-      /* The notebook closes and gets destroyed */
-      /* Set focus to desktop to prevent PM freeze */
-      WinSetFocus(HWND_DESKTOP, HWND_DESKTOP);
-      break;
-  default:
-    break;
-  }
-  return WinDefDlgProc(hwnd, msg, mp1, mp2);
-}
-
-#if 0
-//FIXME
-/****************************************************************/
-/*                                                              */
-/* METHOD: cwmmAddAudioInformationPage()                        */
-/*                                                              */
-/* Insert new settings notebook page showing audio information. */
-/*                                                              */
-/****************************************************************/
-/*
- *    BOOL   cwmmSetTrackInfo(in char* chrString, in ULONG ulValue, in int iWhich);
- *    ULONG  cwmmQueryTrackInfo(in PSZ chrString, in ULONG ulSize, in int iWhich);
- */
-
-SOM_Scope ULONG  SOMLINK cwaudio_cwmmAddAudioInformationPage(MMAudio *somSelf, 
-                                                            HWND hwndNotebook)
-{
-  PAGEINFO pageinfo;
-  char pageName[100];
-
-  MMAudioData *somThis = MMAudioGetData(somSelf);
-  MMAudioMethodDebug("MMAudio","cwaudio_cwmmAddWaveInformationPage");
-
-
-  if(_ulFileSize!=_wpQueryFileSize(somSelf)) {
-    /* The filesize changed, somebody altered the audio file so reread the info */
-    if(!cwObjectIsOnCD(somSelf)) {
-      /* Only get audio info when file isn't on CD. This speeds up opening of folders on CDs filled with
-         MP3s. Doesn't hurt because folders of CDs open in normal details view as default so the audio info
-         isn't necessary. When opening the settings notebook the info is reread anyway. */      
-      
-      /* Get class object */
-      M_CWMMDataFile *m_cwmmDataFile=_CWMMDataFile;
-      /* Get data pointer of class object */
-      //FIXME
-      /*      M_CWMMDataFileData *cwmmData = M_CWMMDataFileGetData(m_cwmmDataFile);*/
-      
-      /* Send the object pointer to the audio worker thread to read the audio info in the background. */
-      //      WinPostMsg(cwmmData->hwndAudioWorker , WM_APPTERMINATENOTIFY, somSelf, 0);
-      WinPostMsg(__get_hwndAudioWorker(_CWMMDataFile), WM_APPTERMINATENOTIFY, somSelf, 0);
-    }
-  }
-
-  //Clear the pageinfo structure
-  memset((PCH)&pageinfo, 0, sizeof(PAGEINFO));
-  //Fill the pageinfo structure
-  pageinfo.cb = sizeof(PAGEINFO);
-  pageinfo.hwndPage = NULLHANDLE;
-  pageinfo.usPageStyleFlags = BKA_MAJOR | BKA_STATUSTEXTON;
-  pageinfo.usPageInsertFlags = BKA_FIRST;
-  //We want page numbers
-  pageinfo.usSettingsFlags = SETTINGS_PAGE_NUMBERS;
-  //The dialog procedure for this page
-  pageinfo.pfnwp = waveInfoDlgProc;
-  //The resource DLL
-  pageinfo.resid = queryResModuleHandle();
-  //pageinfo.resid = queryModuleHandle();
-  //The ID of the dialog template
-  pageinfo.dlgid = IDDLG_WAVEINFOPAGE;
-  //We need a pointer to our WPS-object in the dialog procedure
-  //to call class functions
-  pageinfo.pCreateParams = somSelf;
-  //The ID of the help panel for this page
-  //pageinfo.idDefaultHelpPanel = IDDLG_GENERAL2PAGE;
-  //Tell the WPS the help library name
-  pageinfo.pszHelpLibraryName = NULLHANDLE;
-  //We have a major tab so we need a name
-  if(!getMessage(pageName, ID_WAVEINFOPAGENAME, sizeof(pageName), queryResModuleHandle(), hwndNotebook))
-    strcpy(pageName, "~Audio information");
-  pageinfo.pszName = pageName;
-  //Insert the page into the settings notebook
-  return _wpInsertSettingsPage(somSelf,hwndNotebook,&pageinfo);
-}
-#endif
-
-#if 0
-/*
- * The prototype for cwaudio_cwmmSetTrackInfo was replaced by the following prototype:
- */
-SOM_Scope BOOL  SOMLINK cwaudio_cwmmSetTrackInfo(MMAudio *somSelf, 
-                                                 char* chrString, 
-                                                 ULONG ulValue, 
-                                                 int iWhich)
-{
-  ULONG ulError;
-    MMAudioData *somThis = MMAudioGetData(somSelf);
-    MMAudioMethodDebug("MMAudio","cwaudio_cwmmSetIdInfo");
-
-    if(iWhich<1||iWhich>IDINFO_LASTINFO)
-      return FALSE;
-
-    switch(iWhich)
-      {
-      case IDINFO_PLAYTIME:
-        _ulPlaySecs=ulValue;
-        sprintf(_chrPlayTime, "%02d:%02d",_ulPlaySecs/60, _ulPlaySecs%60);
-        break;
-
-      case IDINFO_BPS:
-        _ulBPS=ulValue;
-        sprintf(_chrBPS, "%d",_ulBPS);
-        break;
-      case IDINFO_CHANNELS:
-        _ulChannels=ulValue;
-        sprintf(_chrChannels, "%d",_ulChannels);
-        break;
-      case IDINFO_SAMPLERATE:
-        _ulSampleRate=ulValue;
-        sprintf(_chrSampleRate, "%d",_ulSampleRate);
-        break;
-
-      case IDINFO_NAME:
-        {
-          char chrEA[MAX_EA_SIZE];
-          /* Make sure string isn't longer than defined EA size */
-          my_strlcpy(chrEA, chrString, sizeof(chrEA));
-          _pszName=somReallocString(somSelf, _pszName, chrEA, &ulError);
-          break;
-        }
-      case IDINFO_ARTIST:
-        {
-          char chrEA[MAX_EA_SIZE];
-          my_strlcpy(chrEA, chrString, sizeof(chrEA));
-          _pszArtist=somReallocString(somSelf, _pszArtist, chrEA, &ulError);
-          break;
-        }
-      case IDINFO_ALBUM:
-        {
-          char chrEA[MAX_EA_SIZE];
-          /* Make sure string isn't longer than defined EA size */
-          my_strlcpy(chrEA, chrString, sizeof(chrEA));
-          _pszAlbum=somReallocString(somSelf, _pszAlbum, chrEA, &ulError);
-          break;
-        }
-      case IDINFO_YEAR:
-        {
-          char chrEA[MAX_EA_SIZE];
-          /* Make sure string isn't longer than defined EA size */
-          my_strlcpy(chrEA, chrString, sizeof(chrEA));
-          _pszYear=somReallocString(somSelf, _pszYear, chrEA, &ulError);
-          break;
-        }
-      case IDINFO_COMMENT:
-        {
-          char chrEA[MAX_EA_SIZE];
-          /* Make sure string isn't longer than defined EA size */
-          my_strlcpy(chrEA, chrString, sizeof(chrEA));
-          _pszComment=somReallocString(somSelf, _pszComment, chrEA, &ulError);
-          break;
-        }
-      case IDINFO_GENRE:
-        {
-          char chrEA[MAX_EA_SIZE];
-          /* Make sure string isn't longer than defined EA size */
-          my_strlcpy(chrEA, chrString, sizeof(chrEA));
-          _pszGenre=somReallocString(somSelf, _pszGenre, chrEA, &ulError);
-          break;
-        }
-
-#if 0
-      case IDINFO_NAME:
-        strncpy(_id3Name,chrString,sizeof(_id3Name));
-        _id3Name[sizeof(_id3Name)-1]=0;
-        _removeTrailingSpaces(_id3Name);
-        break;
-      case IDINFO_ARTIST:
-        strncpy(_id3Artist,chrString,sizeof(_id3Artist));
-        _id3Artist[sizeof(_id3Artist)-1]=0;
-        _removeTrailingSpaces(_id3Artist);
-        break;
-      case IDINFO_ALBUM:
-        strncpy(_id3Album, chrString, sizeof(_id3Album));
-        _id3Album[sizeof(_id3Album)-1]=0;
-        _removeTrailingSpaces(_id3Album);
-        break;
-      case IDINFO_YEAR:
-        strncpy(_id3Year, chrString, sizeof(_id3Year));
-        _id3Year[sizeof(_id3Year)-1]=0;
-        _removeTrailingSpaces(_id3Year);
-        break;
-      case IDINFO_COMMENT:
-        strncpy(_id3Comment,chrString, sizeof(_id3Comment));
-        _id3Comment[sizeof(_id3Comment)]=0;
-        _removeTrailingSpaces(_id3Comment);
-        break;
-      case IDINFO_GENRE:
-        strncpy(_id3Genre, chrString, sizeof(_id3Genre));
-        _id3Genre[sizeof(_id3Genre)-1]=0;
-        _removeTrailingSpaces(_id3Genre);
-        break;
-#endif
-
-      default:
-        return FALSE;
-      }
-
-
-    /* Return statement to be customized: */
-    return TRUE;
-}
-
-
-/*
- * The prototype for cwaudio_cwmmQueryTrackInfo was replaced by the following prototype:
- */
-
-/*
- * SOM_Scope ULONG  SOMLINK cwaudio_cwmmQueryTrackInfo(MMAudio *somSelf, 
- *                                                     char** chrString, 
- *                                                     ULONG ulSize, 
- *                                                     int iWhich)
- */
-
-/*
- * The prototype for cwaudio_cwmmQueryTrackInfo was replaced by the following prototype:
- */
-SOM_Scope ULONG  SOMLINK cwaudio_cwmmQueryTrackInfo(MMAudio *somSelf, 
-                                                    PSZ chrString, 
-                                                    ULONG ulSize, 
-                                                    int iWhich)
-{
-  MMAudioData *somThis = MMAudioGetData(somSelf); 
-    MMAudioMethodDebug("MMAudio","cwaudio_cwmmQueryTrackInfo");
-
-    switch(iWhich)
-      {
-      case IDINFO_PLAYTIME:
-        return _ulPlaySecs;
-      case IDINFO_BPS:
-        return _ulBPS;
-      case IDINFO_CHANNELS:
-        return _ulChannels;
-      case IDINFO_SAMPLERATE:
-        return _ulSampleRate;
-      case IDINFO_BITRATE:
-        return _ulBitRate;
-
-      case IDINFO_NAME:
-        {
-          //          char *chr=*chrString;
-          if(!_pszName)
-            return FALSE;
-          if(ulSize>strlen(_pszName)) {
-            strcpy(chrString, _pszName);
-          }
-          else {
-            strncpy(chrString, _pszName, ulSize);
-            chrString[ulSize-1]=0;
-          }
-          if(chrString[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_ARTIST:
-        {
-          //    char *chr=*chrString;
-          if(!_pszArtist)
-            return FALSE;
-          if(ulSize>strlen(_pszArtist)) {
-            strcpy(chrString, _pszArtist);
-          }
-          else {
-            strncpy(chrString, _pszArtist, ulSize);
-            chrString[ulSize-1]=0;
-          }
-          if(chrString[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_ALBUM:
-        {
-          //          char *chr=*chrString;
-          if(!_pszAlbum)
-            return FALSE;
-          if(ulSize>strlen(_pszAlbum)) {
-            strcpy(chrString, _pszAlbum);
-          }
-          else {
-            strncpy(chrString, _pszAlbum, ulSize);
-            chrString[ulSize-1]=0;
-          }
-          if(chrString[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_COMMENT:
-        {
-          //          char *chr=*chrString;
-          if(!_pszComment)
-            return FALSE;
-          if(ulSize>strlen(_pszComment)) {
-            strcpy(chrString, _pszComment);
-          }
-          else {
-            strncpy(chrString, _pszComment, ulSize);
-            chrString[ulSize-1]=0;
-          }
-          if(chrString[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_YEAR:
-        {
-          //          char *chr=*chrString;
-          if(!_pszYear)
-            return FALSE;
-          if(ulSize>strlen(_pszYear)) {
-            strcpy(chrString, _pszYear);
-          }
-          else {
-            strncpy(chrString, _pszYear, ulSize);
-            chrString[ulSize-1]=0;
-          }
-          if(chrString[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_GENRE:
-        {
-          //  char *chr=*chrString;
-          if(!_pszGenre)
-            return FALSE;
-
-          if(ulSize>=strlen(_pszGenre)) {
-            strcpy(chrString, _pszGenre);
-          }
-          else {
-            strncpy(chrString, _pszGenre, ulSize);
-            chrString[ulSize-1]=0;
-          }
-          if(chrString[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-
-#if 0
-      case IDINFO_NAME:
-        {
-          char *chr=*chrString;
-          if(ulSize>=sizeof(_id3Name)) {
-            strncpy(chr, _id3Name, sizeof(_id3Name));
-            chr[sizeof(_id3Name)-1]=0;
-          }
-          else {
-            strncpy(chr, _id3Name, ulSize);
-            chr[ulSize-1]=0;
-          }
-          if(chr[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_ARTIST:
-        {
-          char *chr=*chrString;
-          if(ulSize>=sizeof(_id3Artist)) {
-            strncpy(chr, _id3Artist, sizeof(_id3Artist));
-            chr[sizeof(_id3Artist)-1]=0;
-          }
-          else {
-            strncpy(chr, _id3Artist, ulSize);
-            chr[ulSize-1]=0;
-          }
-          if(chr[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_ALBUM:
-        {
-          char *chr=*chrString;
-          if(ulSize>=sizeof(_id3Album)) {
-            strncpy(chr, _id3Album, sizeof(_id3Album));
-            chr[sizeof(_id3Album)-1]=0;
-          }
-          else {
-            strncpy(chr, _id3Album, ulSize);
-            chr[ulSize-1]=0;
-          }
-          if(chr[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_COMMENT:
-        {
-          char *chr=*chrString;
-          if(ulSize>=sizeof(_id3Comment)) {
-            strncpy(chr, _id3Comment, sizeof(_id3Comment));
-            chr[sizeof(_id3Comment)-1]=0;
-          }
-          else {
-            strncpy(chr, _id3Comment, ulSize);
-            chr[ulSize-1]=0;
-          }
-          if(chr[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_YEAR:
-        {
-          char *chr=*chrString;
-          if(ulSize>=sizeof(_id3Year)) {
-            strncpy(chr, _id3Year, sizeof(_id3Year));
-            chr[sizeof(_id3Year)-1]=0;
-          }
-          else {
-            strncpy(chr, _id3Year, ulSize);
-            chr[ulSize-1]=0;
-          }
-          if(chr[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-      case IDINFO_GENRE:
-        {
-          char *chr=*chrString;
-          if(ulSize>=sizeof(_id3Genre)) {
-            strncpy(chr, _id3Genre, sizeof(_id3Genre));
-            chr[sizeof(_id3Genre)-1]=0;
-          }
-          else {
-            strncpy(chr, _id3Genre, ulSize);
-            chr[ulSize-1]=0;
-          }
-          if(chr[0]==0)
-            return FALSE;
-          else
-            return TRUE;
-        }
-#endif
-
-      default:
-        break;
-      }
-
-    /* Return statement to be customized: */
-    return 0;
-}
-#endif
-
-
-
-
-/************************************************************/
-/*                                                          */
-/*                                                          */
-/*                                                          */
-/************************************************************/
-MRESULT EXPENTRY playObjectProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
-{
-
-  switch (msg)
-    {
-    case WM_APPTERMINATENOTIFY:
-      {
-        if(LONGFROMMP(mp1)==ACKEY_START)
-          {
-            unsigned char chrCommand[CCHMAXPATH*2];
-            char chrDevice[20];
-            char name[CCHMAXPATH];
-            ULONG ulNameSize;
-            char retMsg[20];
-            APIRET rc;
-            int iTime;
-            OPENPARAMS * pParams;
-            MMAudio * thisPtr;
-            
-            pParams=PVOIDFROMMP(mp2);/* Get parameter block */
-            if(!pParams)
-              {
-                WinPostMsg(hwnd,WM_QUIT,0,0);
-                return MRFALSE;
-              }
-            
-            WinSetWindowULong(hwnd, QWL_USER, (ULONG)pParams);
-
-            thisPtr=pParams->wpObject;
-            if(somIsObj(thisPtr)) {
-              SOMClass* mmMIDIClass=somGetSomClass("MMMIDI");
-              MMAudioData *somThis;
-              //FIXME
-              // CWMMDataFileData *mmdf_somThis;
-
-              somThis = MMAudioGetData(thisPtr);
-              //mmdf_somThis = CWMMDataFileGetData(thisPtr);
-                    
-              if(_somIsA(thisPtr, mmMIDIClass))
-                strncpy(chrDevice,"SEQUENCER", sizeof(chrDevice));
-              else
-                strncpy(chrDevice,"WAVEAUDIO", sizeof(chrDevice));
-                    
-              ulNameSize=sizeof(name);
-              _wpQueryRealName(thisPtr, name, &ulNameSize, TRUE);
-                    
-              /* Start audio file */  
-              sprintf(chrCommand,"open \"%s\"  type %s alias wave%d SHAREABLE wait",name, chrDevice, thisPtr);
-              rc = mciSendString( chrCommand, retMsg, sizeof(retMsg), hwnd, 0);
-              if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                WinPostMsg(hwnd,WM_QUIT,0,0);
-                return MRFALSE;
-              }
-                    
-              /* Set time format */
-              sprintf(chrCommand,"SET wave%d TIME FORMAT MILLISECONDS wait", thisPtr);
-              rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-              if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-                return MRFALSE;
-              }
-                    
-              sprintf(chrCommand,"STATUS wave%d LENGTH WAIT", thisPtr);
-              rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-              if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-                return MRFALSE;
-              }
-                    
-              iTime=atoi(retMsg);
-                    
-              //   sprintf(chrCommand,"SETPOSITIONADVISE wave%d ON EVERY %d NOTIFY", thisPtr, 3000);
-              //   rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), hwnd, 0);
-                    
-              if(iTime>1100)
-                iTime-=700;
-              else
-                iTime-=300;
-                    
-              if(iTime<=0)
-                iTime=100;
-                    
-              sprintf(chrCommand,"SETCUEPOINT wave%d ON at %d WAIT", thisPtr, iTime);
-              rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), hwnd, 0);
-              if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-                return MRFALSE;
-              }
-                
-              /* Set volume */
-              sprintf(chrCommand,"SET wave%d AUDIO VOLUME %d wait", thisPtr, globalClassVolume);
-              rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-              /* Not able to set the volume isn't that bad so don't quit in case of an error. */
-#if 0
-              if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-                return MRFALSE;
-              }
-#endif
-
-              WinStartTimer(WinQueryAnchorBlock(hwnd), hwnd, 1, 100);
-                    
-              sprintf(chrCommand,"play wave%d ", thisPtr);
-              rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-              if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-                return MRFALSE;
-              }
-                    
-              /* Set Time in icon title to 00:00 */
-              strncpy(chrCommand, _wpQueryTitle(thisPtr), CCHMAXPATH);
-              if(_ulPlaySecs) {
-                sprintf(retMsg, "%02d:%02d", _ulPlaySecs/60, _ulPlaySecs%60);                  
-                strncat(chrCommand,"\n00:00 / ",sizeof(chrCommand)-1-strlen(chrCommand));
-                strncat(chrCommand, retMsg,sizeof(chrCommand)-1-strlen(chrCommand));
-              }
-              else
-                strncat(chrCommand,"\n00:00", sizeof(chrCommand)-1-strlen(chrCommand));
-
-              _cwmmSetRecordTitles(thisPtr, chrCommand, FALSE);
-              WinStartTimer(WinQueryAnchorBlock(hwnd), hwnd, 1, 1000);
-              //FIXME
-              //mmdf_somThis->ulTrackStatus=TRACK_STATUS_PLAYING;
-              __set_ulTrackStatus( thisPtr,TRACK_STATUS_PLAYING);
-              break;
-            }/* somIsObj(thisPtr) */
-          }
-        else
-          {
-            MMAudio * thisPtr;
-       
-            thisPtr=(MMAudio *)PVOIDFROMMP(mp2);/* Get object ptr */
-            if(somIsObj(thisPtr)) {
-              switch(LONGFROMMP(mp1))
-                {
-                case ACKEY_VOLUME:
-                  {
-                    HWND globalHwndObjectPlay;
-                    unsigned char chrCommand[CCHMAXPATH];
-                    char retMsg[20];
-
-                    /* Set volume */
-                    sprintf(chrCommand,"SET wave%d AUDIO VOLUME %d ", thisPtr, globalClassVolume);
-                    mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-                    /* Not able to set the volume isn't that bad so don't quit in case of an error. */
-                    break;
-                  }
-                case ACKEY_STOP:
-                  {
-                    /* Stop playing */
-                    unsigned char chrCommand[CCHMAXPATH];
-                    char retMsg[20];
-                  
-                    //CWMMDataFileData *mmdf_somThis = CWMMDataFileGetData(thisPtr);                  
-                    
-                    WinStopTimer(WinQueryAnchorBlock(hwnd),hwnd,1 );
-                    
-                    sprintf(chrCommand,"stop wave%d wait", thisPtr);
-                    mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-                    
-                    sprintf(chrCommand,"close wave%d wait", thisPtr);
-                    mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-                    
-                    //FIXME
-                    //    mmdf_somThis->ulTrackStatus=TRACK_STATUS_STOPPED;
-                    __set_ulTrackStatus(thisPtr, TRACK_STATUS_STOPPED);
-                    WinPostMsg(hwnd,WM_QUIT,0,0);
-                    break;
-                  }
-                case ACKEY_PAUSE:
-                  {
-                    unsigned char chrCommand[CCHMAXPATH];
-                    char retMsg[20];
-                    APIRET rc;
-                    // CWMMDataFileData *mmdf_somThis = CWMMDataFileGetData(thisPtr);                  
-                    
-                    sprintf(chrCommand,"STATUS wave%d MODE WAIT", thisPtr);
-                    rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-                    if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                      WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-                      return MRFALSE;
-                    }
-                    
-                    if(!stricmp(retMsg, "playing"))
-                      {
-                        sprintf(chrCommand,"PAUSE wave%d wait", thisPtr);
-                        rc=mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-                        if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                          WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-                          return MRFALSE;
-                        }
-                        //FIXME
-                        //mmdf_somThis->ulTrackStatus=TRACK_STATUS_PAUSED;
-                        __set_ulTrackStatus(thisPtr, TRACK_STATUS_PAUSED);
-                      }
-                    break;
-                  }
-                case ACKEY_RESUME:
-                  {
-                    unsigned char chrCommand[CCHMAXPATH];
-                    char retMsg[20];
-                    APIRET rc;
-                    //  CWMMDataFileData *mmdf_somThis = CWMMDataFileGetData(thisPtr);
-                    
-                    sprintf(chrCommand,"STATUS wave%d MODE WAIT", thisPtr);
-                    rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-                    if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                      WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-                      return MRFALSE;
-                    }
-                                        
-                    if(!stricmp(retMsg, "paused"))
-                      {
-                        sprintf(chrCommand,"RESUME wave%d wait", thisPtr);
-                        rc=mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-                        if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                          WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-                          return MRFALSE;
-                        }
-                        //FIXME
-                        //mmdf_somThis->ulTrackStatus=TRACK_STATUS_PLAYING;
-                        __set_ulTrackStatus(thisPtr, TRACK_STATUS_PLAYING);
-                      }
-                    break;
-                  }
-                default:
-                  break;
-                }
-            }/* if(thisPtr) */
-            return MRFALSE;
-          }
-      }
-      //case MM_MCIPOSITIONCHANGE:
-    case WM_TIMER:
-      if(SHORT1FROMMP(mp1)==1) {
-        MMAudio * thisPtr;
-        OPENPARAMS * pParams;
-        pParams=(OPENPARAMS*)WinQueryWindowULong(hwnd, QWL_USER);
-        thisPtr=pParams->wpObject;
-
-        if(somIsObj(thisPtr)) {
-          char retMsg[50];
-          unsigned char chrCommand[CCHMAXPATH+20];
-          APIRET rc;
-          ULONG ulCur;
-          MMAudioData *somThis = MMAudioGetData(thisPtr);
-
-          /* Check if folder closed. If yes stop playing */
-          if(!WinIsWindow(globalHab, pParams->hwndCnr)) {
-            WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-            return MRFALSE;
-          }
-          /* Get current play position */
-          sprintf(chrCommand,"STATUS wave%d POSITION WAIT", thisPtr);
-          rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-          if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-            return MRFALSE;
-          }
-
-          ulCur=atoi(retMsg);
-          if(ulCur) {
-           ulCur/=1000;
-           if(!ulCur)
-             ulCur=1;
-          }
-
-          strncpy(chrCommand, _wpQueryTitle(thisPtr), CCHMAXPATH);
-          strncat(chrCommand,"\n",sizeof(chrCommand)-1-strlen(chrCommand));
-          if(_ulPlaySecs) {
-            sprintf(retMsg, "%02d:%02d / %02d:%02d", ulCur/60, ulCur%60, _ulPlaySecs/60, _ulPlaySecs%60);
-            strncat(chrCommand, retMsg,sizeof(chrCommand)-1-strlen(chrCommand));
-          }
-          else
-            {
-            sprintf(retMsg, "%02d:%02d", ulCur/60, ulCur%60);
-            strncat(chrCommand, retMsg,sizeof(chrCommand)-1-strlen(chrCommand));
-            }
-          if(_cwmmQueryTrackStatus(thisPtr)==TRACK_STATUS_PAUSED) {
-            if(!getMessage(retMsg,  IDSTR_TRACKPAUSED, sizeof(retMsg), queryResModuleHandle(), HWND_DESKTOP))
-              strcpy(retMsg," (Paused)");
-            strncat(chrCommand, retMsg,sizeof(chrCommand)-1-strlen(chrCommand));
-          }
-          /* Set new time in icon title */
-          _cwmmSetRecordTitles(thisPtr, chrCommand, FALSE);
-        }
-        return MRFALSE;
-      }
-      break;
-    case MM_MCICUEPOINT:
-      {
-        /***********************************************/
-        /* The track is about to end                   */
-        /***********************************************/
-        MMAudio * thisPtr;
-        OPENPARAMS * pParams;
-        pParams=(OPENPARAMS*)WinQueryWindowULong(hwnd, QWL_USER);
-        thisPtr=pParams->wpObject;
-
-        if(somIsObj(thisPtr)) {
-          unsigned char chrCommand[CCHMAXPATH];
-          char retMsg[20];
-
-          sprintf(chrCommand,"STATUS wave%d MODE WAIT", thisPtr);
-          do {
-            APIRET rc;
-            retMsg[0]=0;
-            DosSleep(100);
-            rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-            if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-              WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-
-              return MRFALSE;
-            }
-            //  WinMessageBox(HWND_DESKTOP, HWND_DESKTOP, retMsg, "CWAudio", 1234, MB_OK|MB_MOVEABLE);
-            //HlpWriteToTrapLog("%s\n", retMsg);
-          } while(!stricmp(retMsg, "playing"));
-          /* The track ended. Call 'Stop' so the object title is updated and everything is cleaned up. 
-             During handling of the 'Stop' message the WM_QUIT message will be posted to end the thread. */
-          //WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_NEXT), MPFROMP(thisPtr));
-          WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(thisPtr));
-        }
-        return MRFALSE;
-      }
-    default:
-      break;
-    }
-  return WinDefWindowProc( hwnd, msg, mp1, mp2);
-}
-
-/************************************************************/
-/*                                                          */
-/* This thread is used to handle the object in use emphasis.*/
-/* Playing starts on the object window proc.                */
-/*                                                          */
-/************************************************************/
-void _Optlink playThreadFunc (void *arg)
-{
-  HAB  hab;
-  HMQ  hmq;
-  QMSG qmsg;
-  OPENPARAMS * params;
-  CWMMDataFile *thisPtr;
-  BOOL bCntDecremented=FALSE; /* Flag telling if the play counter was decremented so another audio file may be started. */
-
-  params=(OPENPARAMS*)arg;
-  if(!params) {
-    iRunningAudioFiles--;
-    if(iRunningAudioFiles<0)
-      iRunningAudioFiles=0;/* Should never happen... */
-    return;
-  }
-
-  thisPtr=params->wpObject; 
-  if(!somIsObj(thisPtr)) {
-    iRunningAudioFiles--;
-    if(iRunningAudioFiles<0)
-      iRunningAudioFiles=0;/* Should never happen... */
-    _wpFreeMem(thisPtr, (PBYTE)params);
-    return;
-  }
-
-  /* Prevent starting of several audio files at the same time */
-  //if(iRunningAudioFiles<MAX_AUDIOFILE_STARTS+1) { 
-    hab=WinInitialize(0);
-    if(hab) {
-      hmq=WinCreateMsgQueue(hab,0);
-      if(hmq) {
-        HWND hwnd;
-        BOOL notFound;
-
-        //FIXME
-        //CWMMDataFileData *somThis = CWMMDataFileGetData(thisPtr);
-        
-        if(somIsObj(thisPtr)) {
-          params->useItem.type=USAGE_OPENVIEW;
-          params->viewItem.handle=NULLHANDLE;
-          
-          /* Create an invisible object window */
-          hwnd=WinCreateWindow(HWND_OBJECT,WC_STATIC,"playObj", 0, 0, 0, 0, 0, 
-                               NULLHANDLE, HWND_BOTTOM,12343,NULL,NULL);
-          if(hwnd) {
-            /* Window created. */
-            /* Set in use emphasis for object */
-            _wpAddToObjUseList(thisPtr, &params->useItem);
-
-            /* Subclass the object window with the audio object private window proc.
-               Every audio pbject has to set this in order to manage start/stop/resume command.
-               It's usually done in MMAudio::wpInitData().  */
-            WinSubclassWindow(hwnd, _cwmmQueryObjWindowProc(thisPtr));
-            
-            //  DosSetPriority(PRTYS_THREAD, PRTYC_FOREGROUNDSERVER, 0, 0);
-            
-            /* Tell the window proc to start the file */
-            WinPostMsg(hwnd, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_START), MPFROMP(params));
-
-            /* Save object window pointer in instance data */
-            //FIXME
-            //_hwndObjectPlay=hwnd;
-            __set_hwndObjectPlay(thisPtr, hwnd);
-            /* Needed for volume setting */
-            globalHwndObjectPlay=hwnd;
-            globalObjectPlay=thisPtr;
-
-            while(WinGetMsg(hab,&qmsg,(HWND)NULL,0,0))
-              WinDispatchMsg(hab,&qmsg);
-            WinDestroyWindow(hwnd);
-            _cwmmSetRecordTitles(thisPtr, NULLHANDLE, FALSE);
-          }
-          if(somIsObj(thisPtr)) {
-            /* Remove in use emphasis */
-            _wpDeleteFromObjUseList(thisPtr, &params->useItem);
-            //FIXME
-            //_hwndObjectPlay=NULLHANDLE;
-            __set_hwndObjectPlay(thisPtr, NULLHANDLE);
-            //   _wpSetDefaultView(thisPtr, _ulPreviousView);
-            _wpSetDefaultView(thisPtr, __get_ulPreviousView(thisPtr));
-          }/* somIsObj() */
-
-          iRunningAudioFiles--;
-          if(iRunningAudioFiles<0)
-            iRunningAudioFiles=0;/* Should never happen... */
-          bCntDecremented=TRUE;
-
-          /* The track ended. Check if there're other tracks selected in
-             the container. If yes, start the next track. */
-          notFound=TRUE;
-          for(;;)
-            {
-              PMINIRECORDCORE pMrc, mrcTemp;
-              OPENPARAMS * pParams;
-              WPObject * contentObject;
-              SOMClass *cwAudioClass=somGetSomClass("MMAudio");
-        
-              pParams=params;
-        
-              /* Get MINIRECORDCORE */
-              if(!(pMrc=_wpQueryCoreRecord(thisPtr)))
-                break;
-
-              if(!WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), pParams->hwndCnr))
-                break; /* Container isn't valid. Probably the folder was closed. */
-
-              //              HlpWriteToTrapLog("Container is valid\n");
-              /* Remove selected state if any */
-              WinSendMsg(pParams->hwndCnr, CM_SETRECORDEMPHASIS, MPFROMP(pMrc), MPFROM2SHORT(FALSE, CRA_SELECTED));
-
-              /* Get next selected audio file */
-              mrcTemp=(PMINIRECORDCORE)WinSendMsg(pParams->hwndCnr,CM_QUERYRECORDEMPHASIS, pMrc,
-                                                  MPFROMSHORT(CRA_SELECTED));
-              if((int)mrcTemp==-1) 
-                /* Wrong parameter -> user deleted the shadow. */
-                break;
-        
-              /* No selected files after the currently playing one. So start at the beginnning of the
-                 container. */
-              if(!mrcTemp)
-                mrcTemp=(PMINIRECORDCORE)WinSendMsg(pParams->hwndCnr,CM_QUERYRECORDEMPHASIS, (MPARAM)CMA_FIRST,
-                                                    MPFROMSHORT(CRA_SELECTED));
-              //          HlpWriteToTrapLog("in Thread, iRunning: %d , mrcTemp %x\n", iRunningAudioFiles, mrcTemp);
-              while(notFound && mrcTemp && (int)mrcTemp!=-1){
-                contentObject=(WPObject*)OBJECT_FROM_PREC(mrcTemp);//Get object
-                if(somIsObj(contentObject)) {
-                  /* Get file system object or NULL */
-                  if((contentObject=somGetFileSystemObject(contentObject))==NULLHANDLE) {
-                    mrcTemp=(PMINIRECORDCORE)WinSendMsg(pParams->hwndCnr,CM_QUERYRECORDEMPHASIS, mrcTemp,
-                                                        MPFROMSHORT(CRA_SELECTED));
-                    continue;
-                  }
-                }
-                else
-                  break;/* Error */
-          
-                if(_somIsA(contentObject, cwAudioClass)) {
-                  notFound=FALSE;
-                }
-                else
-                  {
-                    /* Try next object */
-                    mrcTemp=(PMINIRECORDCORE)WinSendMsg(pParams->hwndCnr,CM_QUERYRECORDEMPHASIS, mrcTemp,
-                                                        MPFROMSHORT(CRA_SELECTED));
-                  }
-              }; /* while */
-              if(notFound)
-                break;
-              /* Another audio file is selected. Start it. */
-              _wpViewObject(contentObject, params->hwndCnr, ID_MENU_START, NULLHANDLE);
-              break;
-            }; /* for() */
-          /* FIXME
-             Set global handle to NULL if no more files to play. Doing it this way we prevent a race condition
-             with the newly started thread. No really nice but simple. A mutex wouldn't help because we must
-             prevent that this ending thread overwrites the handle which may be set by the newly started thread. */
-          if(notFound) {
-            globalHwndObjectPlay=NULLHANDLE;
-            globalObjectPlay=NULLHANDLE;
-          }
-        }/* somIsObj() */
-        WinDestroyMsgQueue(hmq);
-      }
-      WinTerminate(hab);
-    }/* hab */
-    //  }/* iRunningAudioFiles */
-
-    if(!bCntDecremented) {
-      iRunningAudioFiles--;
-      if(iRunningAudioFiles<0)
-        iRunningAudioFiles=0;/* Should never happen... */
-    }
-  /* Free the parameter block */
-  _wpFreeMem(thisPtr, (PBYTE)params);
-}
-
-/****************************************************************/
-/*                                                              */
-/* New method which starts playing of the file. Playing is done */
-/* on a separate thread.                                        */
-/*                                                              */
-/****************************************************************/
-/*
- *	ULONG  cwmmAddTrackNamePage(in HWND hwndNotebook);
- *    void   cwmmPauseTrack(in HWND hwndCnr, in ULONG ulAction);
- *    LONG  cwmmSetTrackVolume(in ULONG ulVolume);
- *    LONG  cwmmQueryTrackVolume();
- */
-
-SOM_Scope void  SOMLINK cwaudio_cwmmPlayTrack(MMAudio *somSelf, 
-                                              HWND hwndCnr, BOOL bPlay)
-{
-  ULONG ulError;
-  OPENPARAMS *pThreadParams;
-
-  /*    CWMMDataFileData *somThis = CWMMDataFileGetData(somSelf); */
-    MMAudioMethodDebug("MMAudio","cwaudio_cwmmPlayTrack");
-
-    if(bPlay) { /* Start playing */
-      /* Check if there's a valid object window for handling the play messages. */
-      //FIXME
-      //      if(!WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP),_hwndObjectPlay)) {
-      if(!WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP),__get_hwndObjectPlay(somSelf))) {
-        /* Start playing only if there's not an object window yet. This is only
-           a sanity check. If there's already an object window the track already is
-           started.
-           */
-        pThreadParams=(OPENPARAMS*)_wpAllocMem(somSelf, sizeof(OPENPARAMS), &ulError);
-        if(pThreadParams) {
-          char chrTitle[CCHMAXPATH];
-          char chrText[100];
-
-          strncpy(chrTitle, _wpQueryTitle(somSelf), sizeof(chrTitle));
-          chrTitle[sizeof(chrTitle)-1]=0;
-          if(!getMessage(chrText, IDSTR_STARTINGTRACK, sizeof(chrText), queryResModuleHandle(), HWND_DESKTOP))
-            strcpy(chrText, "Starting Track...");;
-          strncat(chrTitle,"\n", sizeof(chrTitle)-1-strlen(chrTitle));
-          strncat(chrTitle, chrText, sizeof(chrTitle)-1-strlen(chrTitle));
-
-          memset((void*)pThreadParams ,0, sizeof(OPENPARAMS));
-          pThreadParams->wpObject=somSelf;
-          pThreadParams->hwndCnr=hwndCnr;
-          pThreadParams->viewItem.view=ID_MENU_START;
-          if(_beginthread(playThreadFunc,NULL,8192*16,(void*)pThreadParams)) //Fehlerbehandlung fehlt
-            _cwmmSetRecordTitles(somSelf, chrTitle, FALSE);
-        }
-      }
-    }
-    else /* Stop playing. */
-      //FIXME
-      //  if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP),_hwndObjectPlay))
-      //        WinPostMsg(_hwndObjectPlay, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(somSelf));
-      if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP),__get_hwndObjectPlay(somSelf)))
-        WinPostMsg(__get_hwndObjectPlay(somSelf), WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_STOP), MPFROMP(somSelf));
-}
-
-
-
-#if 0
-//FIXME
-/*
-  This method is called to pause a playing track from the context menu.
-*/
-
-SOM_Scope void  SOMLINK cwaudio_cwmmPauseTrack(MMAudio *somSelf, 
-                                               HWND hwndCnr, 
-                                               ULONG ulAction)
-{
-  /*    CWMMDataFileData *somThis = CWMMDataFileGetData(somSelf);*/
-    MMAudioMethodDebug("MMAudio","cwaudio_cwmmPauseTrack");
-    
-    if(_cwmmQueryTrackStatus(somSelf)==TRACK_STATUS_STOPPED)
-      return;
-
-    switch(ulAction)
-      {
-      case ACKEY_PAUSE:
-
-        /* Already paused? Shouldn't happen but I've seen it. */
-        if(_cwmmQueryTrackStatus(somSelf)==TRACK_STATUS_PAUSED)
-          return;
-
-        /* Post a message to the object window handling the commands. */
-        //FIXME
-        //        if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP),_hwndObjectPlay))
-        //  WinPostMsg(_hwndObjectPlay, WM_APPTERMINATENOTIFY, MPFROMLONG(ulAction), MPFROMP(somSelf));
-        if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP),__get_hwndObjectPlay(somSelf)))
-          WinPostMsg(__get_hwndObjectPlay(somSelf), WM_APPTERMINATENOTIFY, MPFROMLONG(ulAction), MPFROMP(somSelf));
-
-        break;
-      case ACKEY_RESUME:
-
-        if(_cwmmQueryTrackStatus(somSelf)==TRACK_STATUS_PLAYING)
-          return;
-        //FIXME
-        //        if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP),_hwndObjectPlay))
-        //      WinPostMsg(_hwndObjectPlay, WM_APPTERMINATENOTIFY, MPFROMLONG(ulAction), MPFROMP(somSelf));
-        if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP), __get_hwndObjectPlay(somSelf)))
-          WinPostMsg(__get_hwndObjectPlay(somSelf), WM_APPTERMINATENOTIFY, MPFROMLONG(ulAction), MPFROMP(somSelf));
-        break;
-      default:
-        break;
-      }
-}
-#endif
-
-#if 0
-SOM_Scope long  SOMLINK cwaudio_cwmmSetTrackVolume(MMAudio *somSelf, 
-                                                   ULONG ulVolume)
-{
-    MMAudioData *somThis = MMAudioGetData(somSelf);
-    MMAudioMethodDebug("MMAudio","cwaudio_cwmmSetTrackVolume");
-
-    /* Return statement to be customized: */
-    return -1;
-}
-
-SOM_Scope long  SOMLINK cwaudio_cwmmQueryTrackVolume(MMAudio *somSelf)
-{
-    MMAudioData *somThis = MMAudioGetData(somSelf);
-    MMAudioMethodDebug("MMAudio","cwaudio_cwmmQueryTrackVolume");
-
-    /* Return statement to be customized: */
-    return -1;
-}
-#endif
-
-#if 0
-//FIXME
-/****************************************************************/
-/*
-  Two new settings pages are added to every audio object:
-  
-  -Audio information showing playtime samplerate and so on.
-  -Track information for editing artist name, album name and so
-   on.
-  
-  */
-/****************************************************************/
-SOM_Scope BOOL  SOMLINK cwaudio_wpAddSettingsPages(MMAudio *somSelf, 
-                                                   HWND hwndNotebook)
-{
-  BOOL rc;
-
-  /*  MMAudioData *somThis = MMAudioGetData(somSelf);*/
-    MMAudioMethodDebug("MMAudio","cwaudio_wpAddSettingsPages");
-
-
-    rc= (MMAudio_parent_CWMMDataFile_wpAddSettingsPages(somSelf, hwndNotebook));
-    //FIXME
-    return rc;/* | _cwmmAddAudioInformationPage(somSelf, hwndNotebook)|
-      _cwmmAddTrackNamePage(somSelf, hwndNotebook);*/
-}
-
-/*
- * The prototype for cwaudio_wpQueryDetailsData was replaced by the following prototype:
- */
-SOM_Scope ULONG  SOMLINK cwaudio_wpQueryDetailsData(MMAudio *somSelf, 
-                                                    PVOID* ppDetailsData, 
-                                                    PULONG pcp)
-{
-  BOOL rcParent;
-  PAUDIODETAILS pAudioDetails;
-    MMAudioData *somThis = MMAudioGetData(somSelf);
-    MMAudioMethodDebug("MMAudio","cwaudio_wpQueryDetailsData");
-
-    /* Call parent */
-    rcParent= (MMAudio_parent_CWMMDataFile_wpQueryDetailsData(somSelf, 
-                                                      ppDetailsData, 
-                                                      pcp));
-
-  /* The WPS asks for data to be displayed */
-  if(ppDetailsData)
-    {
-      /* Fill the structure with the info to be displayed */      
-      pAudioDetails=(PAUDIODETAILS)*ppDetailsData;  
-      pAudioDetails->pszPlayTime=_chrPlayTime;
-      pAudioDetails->pszBitRate=_chrBitRate;            /* New with 0.2.7 */
-      pAudioDetails->pszSampleRate=_chrSampleRate;
-      pAudioDetails->pszChannels=_chrChannels;
-      pAudioDetails->pszBPS=_chrBPS;
-
-      pAudioDetails->pszName=_pszName;
-      pAudioDetails->pszArtist=_pszArtist;
-      pAudioDetails->pszAlbum=_pszAlbum;
-      pAudioDetails->pszYear=_pszYear;
-      pAudioDetails->pszComment=_pszComment;
-      pAudioDetails->pszGenre=_pszGenre;
-
-#if 0
-      pAudioDetails->pszName=_id3Name;
-      pAudioDetails->pszArtist=_id3Artist;
-      pAudioDetails->pszAlbum=_id3Album;
-      pAudioDetails->pszYear=_id3Year;
-      pAudioDetails->pszComment=_id3Comment;
-      pAudioDetails->pszGenre=_id3Genre;
-#endif
-      *ppDetailsData=((PBYTE) (*ppDetailsData))+sizeof(*pAudioDetails);  
-    }
-  else
-    {
-      /* Buffer size is queried */
-      if(pcp)
-        *pcp+=sizeof(*pAudioDetails);
-    }
-    return rcParent;
-}
-#endif
-
-#if 0
-//FIXME
-/*
- * The prototype for cwaudio_wpRestoreState was replaced by the following prototype:
- */
-SOM_Scope BOOL  SOMLINK cwaudio_wpRestoreState(MMAudio *somSelf, 
-                                               ULONG ulReserved)
-{
-  BOOL bRc; 
-  char fName[CCHMAXPATH];
-  BOOL bReRead=FALSE;
-  ULONG ulError;
-  BOOL bIsMidi;
-  PBYTE pByte;
-
-   MMAudioData *somThis = MMAudioGetData(somSelf);
-    MMAudioMethodDebug("MMAudio","cwaudio_wpRestoreState");
-
-    bRc=(MMAudio_parent_CWMMDataFile_wpRestoreState(somSelf, ulReserved));
-
-    _bNeedSaving=FALSE;
-
-    /* Query the audio info */
-    if(!_wpRestoreLong(somSelf, "CWAudio", KEY_FILESIZE, &_ulFileSize))
-      bReRead=TRUE;
-    if(!_wpRestoreLong(somSelf, "CWAudio", KEY_TIME, &_ulPlaySecs))
-      bReRead=TRUE;
-    if(!_wpRestoreLong(somSelf, "CWAudio", KEY_CHANNELS, &_ulChannels))
-      bReRead=TRUE;
-    if(!_wpRestoreLong(somSelf, "CWAudio", KEY_SAMPLERATE, &_ulSampleRate))
-      bReRead=TRUE;
-    if(!_wpRestoreLong(somSelf, "CWAudio", KEY_BPS, &_ulBPS))
-      bReRead=TRUE;
-    if(!_wpRestoreLong(somSelf, "CWAudio", KEY_TIME_MS, &_ulPlayMsecs))
-      bReRead=TRUE;
-    if(!_wpRestoreLong(somSelf, "CWAudio", KEY_NUM_AUDIO_BYTES, &_ulNumAudioBytes))
-      bReRead=TRUE;
-
-    /* New with 0.2.7 */
-    if(EARestoreString(somSelf, "MMBITRATE", _chrBitRate, sizeof(_chrBitRate))) {
-      _ulBitRate=atol(_chrBitRate);
-    }
-    else {
-      //SysWriteToTrapLog("No EA for %s\n", _wpQueryTitle(somSelf));
-      bReRead=TRUE;
-    }
-    /* Get audiotrack info from EA */
-    if( (pByte=_wpAllocMem(somSelf, MAX_EA_SIZE, &ulError))!=NULLHANDLE)
-      {
-        _pszName=_readTrackInfoIntoMem(somSelf, "MMTRACKNAME" , pByte, MAX_EA_SIZE);
-        _pszArtist=_readTrackInfoIntoMem(somSelf, "MMARTIST" , pByte, MAX_EA_SIZE);
-        _pszAlbum=_readTrackInfoIntoMem(somSelf, "MMALBUM" , pByte, MAX_EA_SIZE);
-        _pszYear=_readTrackInfoIntoMem(somSelf, "MMYEAR" , pByte, MAX_EA_SIZE);
-        _pszComment=_readTrackInfoIntoMem(somSelf, "MMCOMMENT" , pByte, MAX_EA_SIZE);
-        _pszGenre=_readTrackInfoIntoMem(somSelf, "MMGENRE" , pByte, MAX_EA_SIZE);
-        _wpFreeMem(somSelf, pByte);
-      }
-
-#if 0
-    cwGetStringFromEA(somSelf, "MMTRACKNAME" , _id3Name, sizeof(_id3Name));
-    cwGetStringFromEA(somSelf, "MMARTIST" , _id3Artist, sizeof(_id3Artist));
-    cwGetStringFromEA(somSelf, "MMALBUM" , _id3Album, sizeof(_id3Album));
-    cwGetStringFromEA(somSelf, "MMYEAR" , _id3Year, sizeof(_id3Year));
-    cwGetStringFromEA(somSelf, "MMCOMMENT" , _id3Comment, sizeof(_id3Comment));
-    cwGetStringFromEA(somSelf, "MMGENRE" , _id3Genre, sizeof(_id3Genre));
-
-    sprintf(chrBuffer,"%d",_ulSampleRate);
-    cwSaveStringToEA(somSelf, "MMSAMPLERATE", chrBuffer);
-    sprintf(chrBuffer,"%d",_ulChannels);
-    cwSaveStringToEA(somSelf, "MMCHANNELS", chrBuffer);
-    sprintf(chrBuffer,"%d",_ulBPS);
-    cwSaveStringToEA(somSelf, "MMBPS", chrBuffer);
-    sprintf(chrBuffer,"%d",_ulPlaySecs);
-    cwSaveStringToEA(somSelf, "MMPLAYTIME", chrBuffer);
-    sprintf(chrBuffer,"%d",_ulPlayMsecs);
-    cwSaveStringToEA(somSelf, "MMPLAYTIMEMS", chrBuffer);
-#endif
-
-    if(_ulFileSize!=_wpQueryFileSize(somSelf))
-      bReRead=TRUE; /* The filesize changed, somebody altered the audio file so reread the info */
-
-    if(!_ulFileSize)
-      bReRead=FALSE;
-    /* If filesize=0 do nothing because the file was just created and there's no contents yet */
- 
-    if(cwObjectIsOnCD(somSelf) && bReRead) {
-      /* Only get audio info when file isn't on CD. This speeds up opening of folders on CDs filled with
-         MP3s. Doesn't hurt because folders of CDs open in normal details view as default so the audio info
-         isn't necessary. When opening the settings notebook the info is reread anyway. */      
-      bReRead=FALSE;
-    }
-    bIsMidi=_somIsA(somSelf, somGetSomClass("MMMIDI"));
-    if(bReRead){
-      /* Some info changed or isn't present. Reread the audio information */
-      /* Get data pointer of class object */
-      //  M_CWMMDataFileData *cwmmData = M_CWMMDataFileGetData(_CWMMDataFile);
-
-      /* Send the object pointer to the audio worker thread to read the audio info in the background.
-         The audio worker thread was started during initialization of CWMMDataFile. 
-         */
-      //FIXME
-      //      WinPostMsg(cwmmData->hwndAudioWorker , WM_APPTERMINATENOTIFY, somSelf, 0);
-      WinPostMsg(__get_hwndAudioWorker(_CWMMDataFile) , WM_APPTERMINATENOTIFY, somSelf, 0);
-
-      /* Set default values into instance vars */
-      if(bIsMidi)
-        {
-          /* MIDI files don't have this info. */
-          strncpy(_chrSampleRate, "---", sizeof(_chrSampleRate));      
-          strncpy(_chrBPS, "---", sizeof(_chrBPS));
-        }
-      else
-        {
-          strncpy(_chrSampleRate, "??", sizeof(_chrSampleRate));
-          strncpy(_chrBPS, "??", sizeof(_chrBPS));
-        }
-      strncpy(_chrBitRate, "---", sizeof(_chrBitRate));
-      strncpy(_chrChannels, "??", sizeof(_chrChannels));
-      strncpy(_chrPlayTime, "??:??", sizeof(_chrPlayTime));
-
-    /* Flag to mark we haven't yet the audio size. The size will be read from the
-       EAs (to circumvent the IO proc file scanning) or by checking the file using
-       IO procs when the file was altered. */
-      _ulFileSize=1;
-      _ulPlaySecs=0;
-      _ulChannels=0;
-      _ulSampleRate=0;
-      _ulBitRate=0;
-      _ulBPS=0;
-      _ulPlayMsecs=0;
-      _ulNumAudioBytes=0;
-    }/* bReRead */
-    else {
-      /* No new reading necessary. Fill in the instance vars with the restored
-         data. */
-      sprintf(fName,"%d",_ulChannels);
-      strncpy(_chrChannels, fName, sizeof(_chrChannels));
-      
-      if(bIsMidi)
-        strncpy(_chrSampleRate, "---", sizeof(_chrSampleRate));      
-      else {
-        sprintf(fName,"%d", _ulSampleRate);
-        strncpy(_chrSampleRate, fName, sizeof(_chrSampleRate));      
-      }
-      
-      if(bIsMidi)
-        strncpy(_chrBPS, "---", sizeof(_chrBPS));
-      else {
-        sprintf(fName,"%d",_ulBPS);
-        strncpy(_chrBPS, fName, sizeof(_chrBPS));
-      }
-      /* Bitrate of MP3 files */
-      if(!_ulBitRate)
-        strncpy(_chrBitRate, "---", sizeof(_chrBitRate));
-      else {
-        sprintf(fName,"%d",_ulBitRate);
-        strncpy(_chrBitRate, fName, sizeof(_chrBitRate));
-      }
-
-      sprintf(fName,"%02d:%02d",_ulPlaySecs/60, _ulPlaySecs%60);
-      strncpy(_chrPlayTime, fName, sizeof(_chrPlayTime));
-    }
-    _chrChannels[sizeof(_chrChannels)-1]=0;
-    _chrSampleRate[sizeof(_chrSampleRate)-1]=0;
-    _chrBPS[sizeof(_chrBPS)-1]=0;
-    _chrPlayTime[sizeof(_chrPlayTime)-1]=0;
-
-    return bRc;
-}
-#endif
-
-/*
- * The prototype for cwaudio_wpSaveState was replaced by the following prototype:
- */
-SOM_Scope BOOL  SOMLINK cwaudio_wpSaveState(MMAudio *somSelf)
-{
-  char chrBuffer[10];
-  char chrFileName[CCHMAXPATH];
-  ULONG       ulSize;
-    MMAudioData *somThis = MMAudioGetData(somSelf);
-    MMAudioMethodDebug("MMAudio","cwaudio_wpSaveState");
-
-
-  ulSize=sizeof(chrFileName);
-  _wpQueryRealName(somSelf, chrFileName,&ulSize,TRUE);
-
-  SysWriteToTrapLog("%s Name: %s \n", __FUNCTION__, chrFileName);
-
-  if(_ulFileSize >1) {
-    _wpSaveLong(somSelf, "CWAudio", KEY_TIME,_ulPlaySecs);
-      _wpSaveLong(somSelf, "CWAudio", KEY_SAMPLERATE,_ulSampleRate);
-      _wpSaveLong(somSelf, "CWAudio", KEY_CHANNELS,_ulChannels);
-      _wpSaveLong(somSelf, "CWAudio", KEY_BPS,_ulBPS);
-      _wpSaveLong(somSelf, "CWAudio", KEY_FILESIZE,_ulFileSize);
-      _wpSaveLong(somSelf, "CWAudio", KEY_TIME_MS,_ulPlayMsecs);
-      _wpSaveLong(somSelf, "CWAudio", KEY_NUM_AUDIO_BYTES, _ulNumAudioBytes);
-
-    }
-
-  if(_wpQueryStyle(somSelf)!=0x10000) {
-    SysWriteToTrapLog("Template? %d \n", _wpQueryStyle(somSelf));
-    /* Save audio info in EA for other programs */
-    cwSaveStringToEA(somSelf, "MMTRACKNAME", _pszName);
-  }
-#if 0
-    //FIXME
-    cwSaveStringToEA(somSelf, "MMARTIST", _pszArtist);
-    cwSaveStringToEA(somSelf, "MMALBUM", _pszAlbum);
-    cwSaveStringToEA(somSelf, "MMCOMMENT", _pszComment);
-    cwSaveStringToEA(somSelf, "MMYEAR", _pszYear);
-    cwSaveStringToEA(somSelf, "MMGENRE", _pszGenre);
-
-
-#if 0
-    cwSaveStringToEA(somSelf, "MMTRACKNAME", _id3Name);
-    cwSaveStringToEA(somSelf, "MMARTIST", _id3Artist);
-    cwSaveStringToEA(somSelf, "MMALBUM", _id3Album);
-    cwSaveStringToEA(somSelf, "MMCOMMENT", _id3Comment);
-    cwSaveStringToEA(somSelf, "MMYEAR", _id3Year);
-    cwSaveStringToEA(somSelf, "MMGENRE", _id3Genre);
-#endif
-
-    sprintf(chrBuffer,"%d",_ulSampleRate);
-    cwSaveStringToEA(somSelf, "MMSAMPLERATE", chrBuffer);
-    sprintf(chrBuffer,"%d",_ulChannels);
-    cwSaveStringToEA(somSelf, "MMCHANNELS", chrBuffer);
-    sprintf(chrBuffer,"%d",_ulBPS);
-    cwSaveStringToEA(somSelf, "MMBPS", chrBuffer);
-    sprintf(chrBuffer,"%d",_ulPlaySecs);
-    cwSaveStringToEA(somSelf, "MMPLAYTIME", chrBuffer);
-    sprintf(chrBuffer,"%d",_ulPlayMsecs);
-    cwSaveStringToEA(somSelf, "MMPLAYTIMEMS", chrBuffer);
-    sprintf(chrBuffer,"%d",_ulNumAudioBytes);
-    cwSaveStringToEA(somSelf, "MMNUMAUDIOBYTES", chrBuffer);
-
-    /* New with 0.2.7 */
-    sprintf(chrBuffer,"%d",_ulBitRate);
-    EASaveString(somSelf, "MMBITRATE", chrBuffer);
-
-#if 0
-    cwGetStringFromEA(somSelf, "MMTRACKNAME" , chrBuf, sizeof(chrBuf));
-    HlpWriteToTrapLog("Value: %s\n", chrBuf);
-    cwGetStringFromEA(somSelf, "MMARTIST" , chrBuffer, sizeof(chrBuffer));
-    cwGetStringFromEA(somSelf, "MMALBUM" , chrBuffer, sizeof(chrBuffer));
-#endif
-
-#if 0
-    /* Set .TYPE EA so the editor and the player are happy. */
-    strncpy(chrBuf, _wpQueryType(somSelf), sizeof(chrBuf));
-    chrBuf[sizeof(chrBuf)-1]=0;
-
-    if(!strstr(chrBuf, TYPE_DIGITALAUDIO)) {
-      ulLength=strlen(chrBuf);
-      if(ulLength) {
-        if(ulLength+2+sizeof(TYPE_DIGITALAUDIO) < sizeof(chrBuf)) {
-          strcat(chrBuf, "\n");
-          strcat(chrBuf, TYPE_DIGITALAUDIO);
-        }
-      }
-      else
-        strcpy(chrBuf, TYPE_DIGITALAUDIO);      
-      /* Set .TYPE EA so the editor and the player are happy. */
-      _wpSetType(somSelf, chrBuf , NULL);
-    }
-#endif
-    //_wpSetType(somSelf, "Digital Audio" , NULL);
-
-
-    //FIXME
-#endif
-    return (MMAudio_parent_CWMMDataFile_wpSaveState(somSelf));
-}
-
-
-/*
-  FIXME:
-
-  This function isn't thread safe because of one global memory area. It is supposed to be
-  called from the wpPopupMenu() method. This method can only be called once at
-  a time, so that's not a problem. It may become a problem if this function is also
-  called from somewhere else. The global mem pointer is used by the image class and the
-  audio class.
-
-  This function inserts only write enabled IO procedures into the menu.
-*/
-static BOOL insertAudioIOProcMenuItems( HWND hwndMenu )
-{
-    CHAR          szBuffer[ sizeof( FOURCC ) + CCHMAXPATH + 4 ];
-    MMFORMATINFO  mmFormatInfo;
-    PMMFORMATINFO pmmFormatInfoArray;
-    ULONG         ulReturnCode;
-    LONG          lFormatsRead;
-    LONG          index;
-    LONG          lBytesRead;
-    HWND hwndSubMenu;
-    MENUITEM mi;
-    LONG          lNumIOProcs;
-
-    if(g_pmmFormatInfoArray)
-      free(g_pmmFormatInfoArray);
-    g_pmmFormatInfoArray=NULLHANDLE;
-
-    memset( &mmFormatInfo,
-            '\0',
-            sizeof(MMFORMATINFO) );
-    
-    mmFormatInfo.ulMediaType |= MMIO_MEDIATYPE_AUDIO;
-    mmFormatInfo.ulFlags|=MMIO_CANWRITETRANSLATED;/* FIXME: CANWRITEUNTRANSLATED???*/
-    ulReturnCode = mmioQueryFormatCount ( &mmFormatInfo,
-                                          &lNumIOProcs,
-                                          0,
-                                          0 );
-    
-    if( ulReturnCode != MMIO_SUCCESS )
-      {
-        /* Error - mmioQueryFormatCount failed. */
-        return FALSE;
-      }
-
-    /*
-     * Allocate enough memory for n number of FormatInfo blocks
-     */
-    g_pmmFormatInfoArray = malloc (lNumIOProcs * sizeof( MMFORMATINFO ) );
-    if( g_pmmFormatInfoArray == NULL )
-      {
-        /* Could not allocate enough memory for mmFormatInfo array. */
-        return FALSE;
-      }
-    
-    /*
-     * call mmioGetFormats to get info on the formats supported.
-     */
-    ulReturnCode = mmioGetFormats( &mmFormatInfo,
-                                   lNumIOProcs,
-                                   g_pmmFormatInfoArray,
-                                   &lFormatsRead,
-                                   0,
-                                   0 );
-    if( ulReturnCode != MMIO_SUCCESS )
-      {
-        /*
-         *  mmioGetFormats failed.
-         */
-        free(g_pmmFormatInfoArray);
-        g_pmmFormatInfoArray=NULLHANDLE;
-        return FALSE;
-      }
-    
-    if( lFormatsRead != lNumIOProcs )
-      {
-        /*
-         * Error in MMIO - number of formats read in by
-         * mmioGetFormats is not equal to number of formats
-         * found by mmioQueryFormatCount.
-         */
-        free(g_pmmFormatInfoArray);
-        g_pmmFormatInfoArray=NULLHANDLE;
-        return FALSE;
-      }
-
-    // Create Empty Submenu //
-    hwndSubMenu=WinCreateWindow(hwndMenu,WC_MENU,"",0,
-                                0,0,0,0,
-                                hwndMenu,//Owner. If set, this window 
-                                //is destroyed if owner is destroyed
-                                HWND_TOP,
-                                ID_MENU_CONVERT,//menuid
-                                NULL,NULL);
-
-    mi.iPosition=MIT_END;
-    mi.afStyle=MIS_TEXT;//|MIS_SUBMENU;
-    mi.id=ID_MENU_CONVERT;
-    mi.afAttribute=NULLHANDLE;    
-    mi.hwndSubMenu=NULLHANDLE;//hwndSubMenu;
-    mi.hItem=NULLHANDLE;
-    mi.hwndSubMenu=hwndSubMenu;
-
-    if(!getMessage(szBuffer, IDSTR_MENU_CONVERT, sizeof(szBuffer), queryResModuleHandle(), HWND_DESKTOP))
-       sprintf(szBuffer,"~Convert to");
-    WinSendMsg(hwndMenu,MM_INSERTITEM,(MPARAM)&mi,
-               (MPARAM)szBuffer);
-
-    pmmFormatInfoArray=g_pmmFormatInfoArray;
-    for ( index = 0; index <lNumIOProcs; index++ )
-      {
-        mmioGetFormatName(pmmFormatInfoArray, szBuffer, &lBytesRead, 0L, 0L);
-        
-        /* Insert NULL string terminator */
-        *( szBuffer + lBytesRead ) = (CHAR)NULL;
-
-        /* Only write enabled IO procs are used in the convert menu.
-         */
-        if(pmmFormatInfoArray->ulFlags & MMIO_CANWRITETRANSLATED)
-          {
-            //  HlpWriteToTrapLog("IO-Proc 2: %s\n\n", szBuffer);
-            /* Add menu item */
-            /* Fill the MENUITEM structure */
-            mi.iPosition=MIT_END;
-            mi.afStyle=MIS_TEXT|MIS_SUBMENU;
-            mi.id=ID_ITEM_FIRSTCONVERT+index;/* Create menu id */
-            mi.afAttribute=NULLHANDLE;    
-            mi.hwndSubMenu=NULLHANDLE;//hwndSubMenu;
-            mi.hItem=NULLHANDLE;
-            WinSendMsg(hwndSubMenu, MM_INSERTITEM,(MPARAM)&mi,
-                       (MPARAM)szBuffer);
-          }
-        /*
-         *  advance to next entry in mmFormatInfo array
-         */
-        pmmFormatInfoArray++;
-      }
-    return TRUE;
-}
-
-/*
- * The prototype for cwaudio_wpModifyPopupMenu was replaced by the following prototype:
- */
-SOM_Scope BOOL  SOMLINK cwaudio_wpModifyPopupMenu(MMAudio *somSelf, 
-                                                  HWND hwndMenu, 
-                                                  HWND hwndCnr, 
-                                                  ULONG iPosition)
-{
-  BOOL rc;
-
-  //FIXME
-  /*  CWMMDataFileData *somThis = CWMMDataFileGetData(somSelf);*/
-  MMAudioMethodDebug("MMAudio","cwaudio_wpModifyPopupMenu");
-
-    /* New Volume item */
-    _wpInsertPopupMenuItems(somSelf, hwndMenu, 1, queryResModuleHandle(), ID_MENU_VOLUME, 1);
-    /* Convert menu item */
-    //    _wpInsertPopupMenuItems(somSelf, hwndMenu, -1, queryModuleHandle(), ID_MENU_CONVERT, 0);
-    //#if 0
-    /* Insert all known audio I/O procs */
-    TRY_LOUD(AUDIO_INSERTPOPUPMENU) {
-      insertAudioIOProcMenuItems( hwndMenu );
-    }/* TRY_LOUD */
-    CATCH(AUDIO_INSERTPOPUPMENU)
-      {
-        SysWriteToTrapLog("\nTrap occured in %s, file %s, near line %d.\n",
-                          __FUNCTION__, __FILE__, __LINE__);
-      } END_CATCH;
-      //#endif
-
-      if(WinIsWindow(WinQueryAnchorBlock(HWND_DESKTOP),__get_hwndObjectPlay(somSelf))) {
-        if(_cwmmQueryTrackStatus(somSelf)==TRACK_STATUS_PAUSED)
-          _wpInsertPopupMenuItems(somSelf, hwndMenu, 1, queryResModuleHandle(), ID_MENU_RESUME, 1);
-        else
-          _wpInsertPopupMenuItems(somSelf, hwndMenu, 1, queryResModuleHandle(), ID_MENU_PAUSE, 1);
-        _wpInsertPopupMenuItems(somSelf, hwndMenu, 1, queryResModuleHandle(), ID_MENU_STOP, 1);
-      }
-    else
-      {
-        _wpInsertPopupMenuItems(somSelf, hwndMenu, 1, queryResModuleHandle(), ID_MENU_EDITOR, 1);
-        _wpInsertPopupMenuItems(somSelf, hwndMenu, 1, queryResModuleHandle(), ID_MENU_PLAYER, 1);
-        _wpInsertPopupMenuItems(somSelf, hwndMenu, 1, queryResModuleHandle(), ID_MENU_START, 1);
-      }
-    rc= (MMAudio_parent_CWMMDataFile_wpModifyPopupMenu(somSelf, 
-                                                       hwndMenu, 
-                                                       hwndCnr, 
-                                                       iPosition));
-    return rc;
-}
-
-/*
- * The prototype for cwaudio_wpMenuItemSelected was replaced by the following prototype:
- */
-SOM_Scope BOOL  SOMLINK cwaudio_wpMenuItemSelected(MMAudio *somSelf, 
-                                                   HWND hwndFrame, 
-                                                   ULONG ulMenuId)
-{
-  /*    MMAudioData *somThis = MMAudioGetData(somSelf);*/
-    MMAudioMethodDebug("MMAudio","cwaudio_wpMenuItemSelected");
-
-
-    if(ulMenuId>=ID_ITEM_FIRSTCONVERT && ulMenuId<=ID_ITEM_FIRSTCONVERT+lNumIOProcs-1)
-      {
-        char chrEditor[CCHMAXPATH]={0};
-        char chrParams[2*CCHMAXPATH]="\"";
-        char *chrPtr=chrParams;
-        ULONG ulSize;
-        ULONG ulRc;
-        
-        PrfQueryProfileString(HINI_USERPROFILE, "CWMM", "audioconverter", "", chrEditor,
-                              sizeof(chrEditor));
-        chrPtr++;
-        ulSize=sizeof(chrParams);
-        _wpQueryRealName(somSelf, chrPtr, &ulSize, TRUE);
-        strcat(chrPtr,"\" \"");
-        chrPtr=strrchr(chrPtr, 0);
-        mmioGetFormatName(&g_pmmFormatInfoArray[ulMenuId-ID_ITEM_FIRSTCONVERT], chrPtr,(LONG*) &ulSize, 0L, 0L);
-        *( chrPtr + ulSize ) = (CHAR)NULL;
-        strcat(chrPtr,"\"");
-
-        if((ulRc=launchPMProg("", chrEditor, chrParams, somSelf, ulMenuId-ID_ITEM_FIRSTCONVERT))==NULLHANDLE) {
-          /* Error */
-          return TRUE;
-        }
-        return TRUE;
-      }
-
-    switch(ulMenuId)
-      {
-      case ID_MENU_VOLUME:
-      case ID_MENU_START:
-      case ID_MENU_STOP:
-      case ID_MENU_PAUSE:
-      case ID_MENU_RESUME:
-      case ID_MENU_PLAYER:
-      case ID_MENU_EDITOR:
-      case ID_ITEM_CONVERT:
-        _wpViewObject(somSelf, WinWindowFromID(hwndFrame, FID_CLIENT), ulMenuId,0);
-        return TRUE;
-      default:
-        break;
-      }
-    return (MMAudio_parent_CWMMDataFile_wpMenuItemSelected(somSelf, 
-                                                      hwndFrame, 
-                                                      ulMenuId));
-}
-
-/*
- * The prototype for cwaudio_wpObjectReady was replaced by the following prototype:
- */
-SOM_Scope void  SOMLINK cwaudio_wpObjectReady(MMAudio *somSelf, 
-                                              ULONG ulCode, WPObject* refObject)
-{
- MMAudioData *somThis = MMAudioGetData(somSelf);
-  MMAudioMethodDebug("MMAudio","cwaudio_wpObjectReady");
-
-  MMAudio_parent_CWMMDataFile_wpObjectReady(somSelf, ulCode, refObject);
-
-  /* Set the type of this object to keep the MM player happy. */
-  mmclsSetObjectType(somSelf);
-
-  if(_bNeedSaving)
-    _wpSaveDeferred(somSelf);
-}
-
-
-/*
- * The prototype for cwaudio_wpSetup was replaced by the following prototype:
- */
-SOM_Scope BOOL  SOMLINK cwaudio_wpSetup(MMAudio *somSelf, PSZ pszSetupString)
-{
-  char buffer[MAX_EA_SIZE];
-  ULONG bufferSize;
-
-  MMAudioData *somThis = MMAudioGetData(somSelf);
-    MMAudioMethodDebug("MMAudio","cwaudio_wpSetup");
-#if 0
-    //FIXME
-
-    /* Setting volume while playing */
-    bufferSize=sizeof(buffer);
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMAUDIOVOLUME, buffer, &bufferSize))
-      {
-        LONG l;
-
-        l=atol(buffer);
-        if(l>100)
-          l=100;
-        if(l<0)
-          l=0;
-
-        globalClassVolume=l;
-        /* Now tell the running file if any */
-        WinSendMsg(globalHwndObjectPlay, WM_APPTERMINATENOTIFY, MPFROMLONG(ACKEY_VOLUME), MPFROMP(globalObjectPlay));
-      }
-
-    /* These are the old setup strings. They will be removed in the future */
-    bufferSize=sizeof(buffer);
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_AUDIOTRACKNAME, buffer, &bufferSize))
-      {
-        _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_NAME);
-      }
-
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_AUDIOARTIST, buffer, &bufferSize))
-      {
-        _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_ARTIST);
-      }
-
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_AUDIOALBUM, buffer, &bufferSize))
-      {
-        _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_ALBUM);
-      }
-
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_AUDIOCOMMENT, buffer, &bufferSize))
-      {
-        _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_COMMENT);
-      }
-
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_AUDIOGENRE, buffer, &bufferSize))
-      {
-        _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_GENRE);
-      }
-
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_AUDIOYEAR, buffer, &bufferSize))
-      {
-        _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_YEAR);
-      }
-
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_AUDIOPLAYTIME, buffer, &bufferSize))
-      {
-        int iPlaytime=atoi(buffer);
-        if(iPlaytime<0)
-          iPlaytime=0;
-        _cwmmSetTrackInfo(somSelf, buffer, iPlaytime, IDINFO_PLAYTIME);
-      }
-
-    /* Refresh */
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_REFRESH, buffer,&bufferSize))
-      {
-        _ulFileSize=1; /* Set filesize to 1 this will force a reread */
-        /* Make sure MMIOMP3 doesn't take the time from the EA */
-        cwSaveStringToEA(somSelf, "MMPLAYTIME", "");
-        cwSaveStringToEA(somSelf, "MMPLAYTIMEMS", "");
-        
-        /* The filesize changed, somebody altered the audio file so reread the info */
-        if(!cwObjectIsOnCD(somSelf)) {
-          /* Only get audio info when file isn't on CD. This speeds up opening of folders on CDs filled with
-             MP3s. Doesn't hurt because folders of CDs open in normal details view as default so the audio info
-             isn't necessary. When opening the settings notebook the info is reread anyway. */      
-          
-          //FIXME
-          /* Get class object */
-          //M_CWMMDataFile *m_cwmmDataFile=_CWMMDataFile;
-          /* Get data pointer of class object */
-          //M_CWMMDataFileData *cwmmData = M_CWMMDataFileGetData(m_cwmmDataFile);         
-          /* Send the object pointer to the audio worker thread to read the audio info in the background. */
-          //          WinPostMsg(cwmmData->hwndAudioWorker , WM_APPTERMINATENOTIFY, somSelf, 0);
-          WinPostMsg(__get_hwndAudioWorker(_CWMMDataFile) , WM_APPTERMINATENOTIFY, somSelf, 0);
-        }
-        _wpCnrRefreshDetails(somSelf);
-      }
-
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_COPYTAGTO, buffer, &bufferSize))
-      {
-        /* The caller requested to copy the tags from this audio file to another */
-        PBYTE pByte;
-        ULONG ul;
-
-        /* Length of instance var string can't be longer than MAX_EA_SIZE. See cwmmSetTrackInfo() */
-        if((pByte=_wpAllocMem(somSelf, MAX_EA_SIZE+100, &ul))!=NULLHANDLE)
-          {
-            sprintf(pByte,"%s=%s;",SETUP_AUDIOTRACKNAME, _pszName);
-            HlpSendCommandToObject( buffer, pByte);
-         
-            sprintf(pByte,"%s=%s",SETUP_AUDIOARTIST, _pszArtist);
-            HlpSendCommandToObject( buffer, pByte);
-
-            sprintf(pByte,"%s=%s",SETUP_AUDIOALBUM, _pszAlbum);
-            HlpSendCommandToObject( buffer, pByte);
-            
-            sprintf(pByte,"%s=%s",SETUP_AUDIOCOMMENT, _pszComment);
-            HlpSendCommandToObject( buffer, pByte);
-            
-            sprintf(pByte,"%s=%s",SETUP_AUDIOYEAR, _pszYear);
-            HlpSendCommandToObject( buffer, pByte);
-            
-            sprintf(pByte,"%s=%s",SETUP_AUDIOGENRE, _pszGenre);
-            HlpSendCommandToObject( buffer, pByte);
-          }
-      }
-
-#if 0
-    /* Old code using a static array. To be removed in V.0.2.8 */
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_COPYTAGTO, buffer, &bufferSize))
-      {
-        /* The caller requested to copy the tags from this audio file to another */
-        char chrCommand[200];
-
-        sprintf(chrCommand,"%s=%s;",SETUP_AUDIOTRACKNAME, _id3Name);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_AUDIOARTIST, _id3Artist);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_AUDIOALBUM, _id3Album);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_AUDIOCOMMENT, _id3Comment);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_AUDIOYEAR, _id3Year);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_AUDIOGENRE, _id3Genre);
-        HlpSendCommandToObject( buffer, chrCommand);
-      }
-#endif
-
-    /* The new MM* setup strings. These have a better naming */
-    bufferSize=sizeof(buffer);
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMAUDIOTRACKNAME, buffer, &bufferSize))
-      _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_NAME);
-      
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMAUDIOARTIST, buffer, &bufferSize))
-      _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_ARTIST);
-    
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMAUDIOALBUM, buffer, &bufferSize))
-      _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_ALBUM);
-    
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMAUDIOCOMMENT, buffer, &bufferSize))
-      _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_COMMENT);
-      
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMAUDIOGENRE, buffer, &bufferSize))
-      _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_GENRE);
-      
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMAUDIOYEAR, buffer, &bufferSize))
-      _cwmmSetTrackInfo(somSelf, buffer, 0, IDINFO_YEAR);
-    
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMAUDIOPLAYTIME, buffer, &bufferSize))
-      {
-        int iPlaytime=atoi(buffer);
-        if(iPlaytime<0)
-          iPlaytime=0;
-        _cwmmSetTrackInfo(somSelf, buffer, iPlaytime, IDINFO_PLAYTIME);
-      }
-
-    /* Refresh */
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMREFRESH, buffer,&bufferSize))
-      {
-        _ulFileSize=1; /* Set filesize to 1 this will force a reread */
-        /* Make sure MMIOMP3 doesn't take the time from the EA */
-        cwSaveStringToEA(somSelf, "MMPLAYTIME", "");
-        cwSaveStringToEA(somSelf, "MMPLAYTIMEMS", "");
-
-        /* The filesize changed, somebody altered the audio file so reread the info */
-        if(!cwObjectIsOnCD(somSelf)) {
-          /* Only get audio info when file isn't on CD. This speeds up opening of folders on CDs filled with
-             MP3s. Doesn't hurt because folders of CDs open in normal details view as default so the audio info
-             isn't necessary. When opening the settings notebook the info is reread anyway. */      
-
-          //FIXME          
-          /* Get class object */
-          //M_CWMMDataFile *m_cwmmDataFile=_CWMMDataFile;
-          /* Get data pointer of class object */
-          //M_CWMMDataFileData *cwmmData = M_CWMMDataFileGetData(m_cwmmDataFile);
-          /* Send the object pointer to the audio worker thread to read the audio info in the background. */
-          //WinPostMsg(cwmmData->hwndAudioWorker , WM_APPTERMINATENOTIFY, somSelf, 0);
-          WinPostMsg(__get_hwndAudioWorker(_CWMMDataFile) , WM_APPTERMINATENOTIFY, somSelf, 0);
-        }
-        _wpCnrRefreshDetails(somSelf);
-      }
-
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMCOPYTAGTO, buffer, &bufferSize))
-      {
-        /* The caller requested to copy the tags from this audio file to another */
-        PBYTE pByte;
-        ULONG ul;
-        
-        /* Length of instance var string can't be longer than MAX_EA_SIZE. See cwmmSetTrackInfo() */
-        if((pByte=_wpAllocMem(somSelf, MAX_EA_SIZE+100, &ul))!=NULLHANDLE)
-          {
-
-            sprintf(pByte,"%s=%s;",SETUP_MMAUDIOTRACKNAME, _pszName);
-            HlpSendCommandToObject( buffer, pByte);
-
-            sprintf(pByte,"%s=%s",SETUP_MMAUDIOARTIST, _pszArtist);
-            HlpSendCommandToObject( buffer, pByte);
-
-            sprintf(pByte,"%s=%s",SETUP_MMAUDIOALBUM, _pszAlbum);
-            HlpSendCommandToObject( buffer, pByte);
-
-            sprintf(pByte,"%s=%s",SETUP_MMAUDIOCOMMENT, _pszComment);
-            HlpSendCommandToObject( buffer, pByte);
-
-            sprintf(pByte,"%s=%s",SETUP_MMAUDIOYEAR, _pszYear);
-            HlpSendCommandToObject( buffer, pByte);
-            
-            sprintf(pByte,"%s=%s",SETUP_MMAUDIOGENRE, _pszGenre);
-            HlpSendCommandToObject( buffer, pByte);
-          }
-      }
-    
-#if 0
-    /* Old code using a static array. To be removed in V0.2.8 */
-    bufferSize=sizeof(buffer); 
-    if(_wpScanSetupString(somSelf, pszSetupString, SETUP_MMCOPYTAGTO, buffer, &bufferSize))
-      {
-        /* The caller requested to copy the tags from this audio file to another */
-        char chrCommand[200];
-
-        sprintf(chrCommand,"%s=%s;",SETUP_MMAUDIOTRACKNAME, _id3Name);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_MMAUDIOARTIST, _id3Artist);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_MMAUDIOALBUM, _id3Album);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_MMAUDIOCOMMENT, _id3Comment);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_MMAUDIOYEAR, _id3Year);
-        HlpSendCommandToObject( buffer, chrCommand);
-
-        sprintf(chrCommand,"%s=%s",SETUP_MMAUDIOGENRE, _id3Genre);
-        HlpSendCommandToObject( buffer, chrCommand);
-      }
-#endif
-
-
-    //FIXME
-#endif
-    return (MMAudio_parent_CWMMDataFile_wpSetup(somSelf, pszSetupString));
-}
-
-/*
-
- */
-/*
- *  wpSetTitle              : override;
- *    wpQueryRealName         : override;
- *    wpQueryTitle            : override;
- *    wpRefresh               : override;
- */
-
-SOM_Scope HWND  SOMLINK cwaudio_wpOpen(MMAudio *somSelf, HWND hwndCnr, 
-                                       ULONG ulView, ULONG param)
-{
-  ULONG ulRc;
-
-  /*    CWAudioData *somThis = CWAudioGetData(somSelf);*/
-  /*  CWMMDataFileData *somThis = CWMMDataFileGetData(somSelf); */
-    MMAudioMethodDebug("MMAudio","cwaudio_wpOpen");
-
-    switch(ulView)
-      {
-      case ID_MENU_START:
-        {
-          //  HlpWriteToTrapLog("ID_MENU_START selected, iRunningAudioFile: %d hwndCnr: %x %x\n", iRunningAudioFiles, hwndCnr, param);
-          if(iRunningAudioFiles<MAX_AUDIOFILE_STARTS) {
-            /* Another audio file running */
-            iRunningAudioFiles++;
-            //FIXME
-            //_ulPreviousView=_wpQueryDefaultView(somSelf);/* Save the view set by the user                  */
-            __set_ulPreviousView(somSelf, _wpQueryDefaultView(somSelf));/* Save the view set by the user                  */
-            _cwmmPlayTrack(somSelf, hwndCnr, TRUE);      /* Start playing                                  */
-            _wpSetDefaultView(somSelf, ID_MENU_STOP);    /* Set new view so doubleclick stops the playing. */
-          }
-          return NULLHANDLE;
-        }
-      case ID_MENU_STOP:
-        {
-          _cwmmPlayTrack(somSelf, hwndCnr, FALSE);     /* Stop playing                                   */
-          //FIXME
-          // _wpSetDefaultView(somSelf, _ulPreviousView); /* Restore the user view                          */
-          _wpSetDefaultView(somSelf, __get_ulPreviousView(somSelf)); /* Restore the user view                          */
-          return NULLHANDLE;
-        }
-      case ID_MENU_PAUSE:
-        {
-          //FIXME
-          //  _cwmmPauseTrack(somSelf, hwndCnr, ACKEY_PAUSE);
-          return NULLHANDLE;
-        }
-      case ID_MENU_RESUME:
-        {
-          //FIXME
-          //          _cwmmPauseTrack(somSelf, hwndCnr, ACKEY_RESUME);
-          return NULLHANDLE;
-        }
-      case ID_MENU_PLAYER:
-        /*case 0xbbe5:   Player */
-        {
-          char chrPlayer[CCHMAXPATH]={0};
-          char chrParams[CCHMAXPATH+2]="\"";
-          char chrTitle[50];
-          char *chrPtr=chrParams;
-          ULONG ulSize;
-
-          /* Build path for the audio player app */
-          sprintf(chrPlayer, "%s\\bin\\%s", chrInstallDir, "mmplayer.exe");
-
-          /* The user may override the audio player using a setting in the ini. Default is using the
-             provided one.
-             */
-          PrfQueryProfileString(HINI_USERPROFILE, "CWMM", "audioplayer", chrPlayer, chrPlayer,sizeof(chrPlayer));
-          chrPtr++;
-          ulSize=sizeof(chrParams)-2;
-          _wpQueryRealName(somSelf, chrPtr, &ulSize, TRUE); /* Add filename */
-          strcat(chrPtr,"\"");
-
-          /* Get the Title for the window list */
-          if(!getMessage(chrTitle, IDSTR_AUDPLAYERTITLE, sizeof(chrTitle), queryResModuleHandle(), HWND_DESKTOP))
-            strcpy(chrTitle, "Player");
-
-          if((ulRc=launchPMProg(chrTitle, chrPlayer, chrParams, somSelf, ulView))==NULLHANDLE) {
-            break;
-          }
-          return NULLHANDLE;
-        }
-      case ID_MENU_VOLUME:
-        {
-          char chrVolume[CCHMAXPATH]={0};
-          char chrTitle[100]={0};
-          char chrParam[CCHMAXPATH]="\"";
-          ULONG ulRc;
-
-          sprintf(chrVolume, "%s\\bin\\classvol.exe", queryInstallDir());
-          
-          ulRc=sizeof(chrParam);
-          _wpQueryRealName(somSelf,chrParam+1, &ulRc, TRUE);
-          strcat(chrParam,"\"");
-          /* Get the Title for the window list */
-          if(!getMessage(chrTitle, IDSTR_VOLUMETITLE, sizeof(chrTitle), queryResModuleHandle(), HWND_DESKTOP))
-            strcpy(chrTitle, "Volume");
-
-          if((ulRc=launchPMProg(chrTitle, chrVolume, chrParam, somSelf, ID_MENU_VOLUME))==0)
-           return NULLHANDLE;
-
-#if 0
-          HOBJECT hObject;
-          if((hObject=WinQueryObject("<MMPM2_MMVOLUME>"))!=NULLHANDLE)
-            WinOpenObject(hObject, OPEN_DEFAULT, TRUE);
-#endif
-          return NULLHANDLE;
-        }
-      case ID_MENU_EDITOR:
-        /* case 0xbc0d:  Editor */ 
-        {
-          char chrPlayer[CCHMAXPATH]={0};
-          char chrParams[CCHMAXPATH+10]="-e \"";
-          char chrTitle[50];
-          char *chrPtr=chrParams;
-          ULONG ulSize;
-
-          /*
-            Check if the user specified another audio editor. 
-            */
-          if(!PrfQueryProfileString(HINI_USERPROFILE, "CWMM", "audioeditor", NULLHANDLE, chrPlayer,sizeof(chrPlayer)))
-            {
-              /* No user setting. Use default ab.exe copied by the installation program to another location */
-              PrfQueryProfileString(HINI_USERPROFILE, "CWMM", "ab", NULLHANDLE, chrPlayer,sizeof(chrPlayer));
-            }
-          chrPtr+=4;
-          ulSize=sizeof(chrParams)-2;
-          _wpQueryRealName(somSelf, chrPtr, &ulSize, TRUE);
-          strcat(chrPtr,"\"");
-
-          if(!getMessage(chrTitle, IDSTR_AUDEDITORTITLE, sizeof(chrTitle), queryResModuleHandle(), HWND_DESKTOP))
-            strcpy(chrTitle, "Editor");
-
-          if((ulRc=launchPMProg( chrTitle, chrPlayer, chrParams, somSelf, ulView))==NULLHANDLE) {
-            break;
-          }
-
-          return NULLHANDLE;
-        }
-#if 0
-        /* 
-           FIXME:
-           Moved this to wpMenuItemSelected(). Should be moved back later.
-           */
-      case 0xb4dd: /* Convert */ 
-        {
-          char chrPlayer[CCHMAXPATH]={0};
-          char chrParams[CCHMAXPATH+2]="\"";
-          char *chrPtr=chrParams;
-          ULONG ulSize;
-
-          PrfQueryProfileString(HINI_USERPROFILE, "CWMM", "audioconverter", "", chrPlayer,sizeof(chrPlayer));
-          chrPtr++;
-          ulSize=sizeof(chrParams)-2;
-          _wpQueryRealName(somSelf, chrPtr, &ulSize, TRUE);
-          strcat(chrPtr,"\"");
-          if((ulRc=launchPMProg("Spieler", chrPlayer, chrParams, somSelf, ulView))==NULLHANDLE) {
-            break;
-          }
-          return NULLHANDLE;
-        }
-#endif
-      default:
-        break;
-      }
-    return (MMAudio_parent_CWMMDataFile_wpOpen(somSelf, hwndCnr, ulView, 
-                                          param));
-}
-
-
-SOM_Scope void  SOMLINK cwaudio_wpInitData(MMAudio *somSelf)
-{
-    MMAudioData *somThis = MMAudioGetData(somSelf);
-    MMAudioMethodDebug("MMAudio","cwaudio_wpInitData");
-
-    MMAudio_parent_CWMMDataFile_wpInitData(somSelf);
-    /* Flag to mark we haven't yet the audio size. The size will be read from the
-       EAs (to circumvent the IO proc file scanning) or by checking the file using
-       IO procs when the file was altered. */
-    _ulFileSize=1;
-
-    /* This proc handles the start/stop/resume commands for audio objects.
-       Playing takes place on a separate thread with an object window and this proc used
-       for communicating. */
-    _cwmmSetObjWindowProc(somSelf, &playObjectProc);
-}
-
-/*
-  This function checks all the installed audio IO procs if one of them can handle the
-  audio file with the given extension. Only write enabled IO procs are accepted because
-  we use this function to determine if we should create a template for the audio class. 
- */
-static BOOL checkForWriteEnabledAudioIOProc(char * chrExt)
-{
-    CHAR          szBuffer[ sizeof( FOURCC ) + CCHMAXPATH + 4 ];
-    MMFORMATINFO  mmFormatInfo;
-    PMMFORMATINFO pmmFormatInfoArray;
-    void * memPtr;
-    ULONG         ulReturnCode;
-    LONG          lFormatsRead;
-    LONG          index;
-    LONG          lBytesRead;
-    LONG          lNumIOProcs;
-
-    memset( &mmFormatInfo,
-            '\0',
-            sizeof(MMFORMATINFO) );
-    
-    mmFormatInfo.ulMediaType |= MMIO_MEDIATYPE_AUDIO;
-    mmFormatInfo.ulFlags|=MMIO_CANWRITETRANSLATED;
-    ulReturnCode = mmioQueryFormatCount ( &mmFormatInfo,
-                                          &lNumIOProcs,
-                                          0,
-                                          0 );
-    
-    if( ulReturnCode != MMIO_SUCCESS )
-      {
-        /*
-         * Error - mmioQueryFormatCount failed.
-         */
-        return FALSE;
-      }
-
-    /*
-     * Allocate enough memory for n number of FormatInfo blocks
-     */
-    pmmFormatInfoArray = malloc (lNumIOProcs * sizeof( MMFORMATINFO ) );
-    memPtr=pmmFormatInfoArray;
-    if( pmmFormatInfoArray == NULL )
-      {
-        /*
-         * Could not allocate enough memory for mmFormatInfo array.
-         */
-        return FALSE;
-      }
-    
-    /*
-     * call mmioGetFormats to get info on the formats supported.
-     */
-    ulReturnCode = mmioGetFormats( &mmFormatInfo,
-                                   lNumIOProcs,
-                                   pmmFormatInfoArray,
-                                   &lFormatsRead,
-                                   0,
-                                   0 );
-    if( ulReturnCode != MMIO_SUCCESS )
-      {
-        /*
-         *  mmioGetFormats failed.
-         */
-        free(pmmFormatInfoArray);
-        return FALSE;
-      }
-    
-    if( lFormatsRead != lNumIOProcs )
-      {
-        /*
-         * Error in MMIO - number of formats read in by
-         * mmioGetFormats is not equal to number of formats
-         * found by mmioQueryFormatCount.
-         */
-        free(pmmFormatInfoArray);
-        return FALSE;
-      }
-
-    for ( index = 0; index <lNumIOProcs; index++ )
-      {
-        mmioGetFormatName(pmmFormatInfoArray, szBuffer, &lBytesRead, 0L, 0L);
-        
-        /* Insert NULL string terminator */
-        *( szBuffer + lBytesRead ) = (CHAR)NULL;
-
-        if(pmmFormatInfoArray->ulFlags & MMIO_CANWRITETRANSLATED)
-          {
-            //if(pmmFormatInfoArray->fccIOProc==mmioStringToFOURCC(chr, MMIO_TOUPPER))
-            //HlpWriteToTrapLog("%s --- %x %x %s\n",szBuffer, pmmFormatInfoArray->fccIOProc, mmioStringToFOURCC(chrType, MMIO_TOUPPER),
-            // pmmFormatInfoArray->szDefaultFormatExt);
-              if(strstr(chrExt, pmmFormatInfoArray->szDefaultFormatExt)) {
-                //   HlpWriteToTrapLog("******* Ext given: %s  IO-Proc: %s\n", chrExt, pmmFormatInfoArray->szDefaultFormatExt);
-                free(memPtr);
-                return TRUE;
-              }
-          }
-        /*
-         *  advance to next entry in mmFormatInfo array
-         */
-        pmmFormatInfoArray++;
-      }
-    free(memPtr);
-    return FALSE;
-}
-
-/*
- *    wpCreateShadowObject    : override;
- */
-
-SOM_Scope void  SOMLINK cwaudio_wpUnInitData(MMAudio *somSelf)
-{
-    MMAudioData *somThis = MMAudioGetData(somSelf);
-    MMAudioMethodDebug("MMAudio","cwaudio_wpUnInitData");
-
-    if(_pszName)
-      _wpFreeMem(somSelf, _pszName);
-        
-    if(_pszArtist)
-      _wpFreeMem(somSelf, _pszArtist);
-    
-    if(_pszAlbum)
-      _wpFreeMem(somSelf, _pszAlbum);
-
-    if(_pszComment)
-      _wpFreeMem(somSelf, _pszComment);
-
-    if(_pszYear)
-      _wpFreeMem(somSelf, _pszYear);
-
-    if(_pszGenre)
-      _wpFreeMem(somSelf, _pszGenre);
-
-    MMAudio_parent_CWMMDataFile_wpUnInitData(somSelf);
-}
-
-
-/*
-  Only templates for write enabled audio IO procs are created in this method. 
- */
-SOM_Scope BOOL  SOMLINK cwaudioM_wpclsCreateDefaultTemplates(M_MMAudio *somSelf, 
-                                                             WPObject* Folder)
-{
-    M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsCreateDefaultTemplates");
-    //FIXME
-return FALSE;
-    //HlpWriteToTrapLog("Classtitle: %s, Type: %s\n",_wpclsQueryTitle(somSelf), _wpclsQueryInstanceType(somSelf));
-    if(checkForWriteEnabledAudioIOProc( _wpclsQueryInstanceFilter(somSelf))) {
-      /* A write enabled IO proc was found, create the template. */
-      mmclsCreateTheDefaultTemplate(somSelf, Folder);
-      return TRUE; /* Tell the WPS template created*/
-    }
-
-    return TRUE; /* We created the template or don't want to have one */
-}
-
-
-SOM_Scope PSZ  SOMLINK cwaudioM_wpclsQueryInstanceType(M_MMAudio *somSelf)
-{
-    /* M_MMAudioData *somThis = M_MMAudioGetData(somSelf); */
-    M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsQueryInstanceType");
-
-    return TYPE_DIGITALAUDIO;
-}
-
-/*
- *    wpclsQueryDetailsInfo   	: override;
- */
-
-SOM_Scope PSZ  SOMLINK cwaudioM_wpclsQueryInstanceFilter(M_MMAudio *somSelf)
-{
-    /* M_MMAudioData *somThis = M_MMAudioGetData(somSelf); */
-    M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsQueryInstanceFilter");
-
-    /* The list of additional extensions is built in wpclsInitData(). 
-
-       FIXME
-       This is a static list read in only once during startup.
-       Should probably be changed later on.
-       */
-    return chrMMAudioExt;
-    /*   return (M_MMAudio_parent_M_CWMMDataFile_wpclsQueryInstanceFilter(somSelf)); */
-}
-
-#if 0
-//FIXME
-/*
- * The prototype for cwaudioM_wpclsQueryDetailsInfo was replaced by the following prototype:
- */
-SOM_Scope ULONG  SOMLINK cwaudioM_wpclsQueryDetailsInfo(M_MMAudio *somSelf, 
-                                                        PCLASSFIELDINFO* ppClassFieldInfo, 
-                                                        PULONG pSize)
-{
-  ULONG cParentColumns;
-  PCLASSFIELDINFO pCfi;
-  int i;
-
-    /* M_CWAudioData *somThis = M_CWAudioGetData(somSelf); */
-    M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsQueryDetailsInfo");
-
-    cParentColumns= (M_MMAudio_parent_M_CWMMDataFile_wpclsQueryDetailsInfo(somSelf, 
-                                                             ppClassFieldInfo, 
-                                                             pSize));
-  if(pSize)
-    *pSize+=sizeof(AUDIODETAILS);
-
-  if(ppClassFieldInfo)
-    {
-      if(*ppClassFieldInfo)
-        {
-          pCfi=*ppClassFieldInfo;
-          for(i=0; i<cParentColumns;i++)
-            pCfi=(pCfi->pNextFieldInfo ? pCfi->pNextFieldInfo: pCfi);
-
-          pCfi->pNextFieldInfo=cfiFieldInfo;
-        }
-      else
-        *ppClassFieldInfo=cfiFieldInfo;
-    }
-    return (cParentColumns+NUM_AUDIO_FIELDS);
-}
-#endif
-
-/*
- * The prototype for cwaudioM_wpclsQueryTitle was replaced by the following prototype:
- */
-SOM_Scope PSZ  SOMLINK cwaudioM_wpclsQueryTitle(M_MMAudio *somSelf)
-{
-  static char chrTitle[30]={0};
-  
-  M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsQueryTitle");
-  
-  if(chrTitle[0]==0)
-    if(!getMessage(chrTitle, IDSTR_CWAUDIOTITLE, sizeof(chrTitle), queryResModuleHandle(), HWND_DESKTOP))
-      strcpy(chrTitle, CLSTITLE_DIGITALAUDIO);
-  
-  return chrTitle;
-}
-
-/*
-  Initialize the MMAudio class.
- */
-SOM_Scope void  SOMLINK cwaudioM_wpclsInitData(M_MMAudio *somSelf)
-{
-  PCLASSFIELDINFO pCfi;
-  USHORT i;
-  static BOOL bGotAudioExt=FALSE;
-
-  /*    M_CWAudioData *somThis = M_CWAudioGetData(somSelf); */
-    M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsInitData");
-
-    /* 
-       Get extensions of additional audio procs. These extensions may be specified by
-       newly installed IO procs in MMPM2.INI or by using the Multimedia setup. For
-       example the MMIOMP3 procedure for reading MP3 files adds the MP3 extension this
-       way to the system. Extensions already handled by a specialized class will be
-       filtered in the called REXX script e.g. MP3 so only unknown extensions end up here.
-
-       Strangely enough wpclsQueryInstanceFilter() is called during wpclsInitData() so
-       we query the extensions here before calling the parent.
-
-       FIXME:
-       The check is only done once during initialization. This is a little annoyance for
-       the user because new extension specified in the settings will only be picked up
-       on next WPS start. 
-       */
-     if(!bGotAudioExt)
-      {
-        getStringFromRexxScript("audioext.rx", chrMMAudioExt, sizeof(chrMMAudioExt));
-        bGotAudioExt=TRUE; 
-      }
-
-    M_MMAudio_parent_M_CWMMDataFile_wpclsInitData(somSelf);
-
-    /* Get strings for details view titled from the ressource DLL */
-    if(getMessage(chrPlayTime, IDSTR_PLAYTIME, sizeof(chrPlayTime),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[0]=chrPlayTime;
-    /* New with 0.2.7 */
-    if(getMessage(chrSampleRate, IDSTR_BITRATE, sizeof(chrBitRate),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[1]=chrBitRate;
-
-    if(getMessage(chrSampleRate, IDSTR_SAMPLERATE, sizeof(chrSampleRate),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[2]=chrSampleRate;
-    if(getMessage(chrChannels, IDSTR_CHANNELS, sizeof(chrChannels),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[3]=chrChannels;
-    if(getMessage(chrBPS, IDSTR_BPS, sizeof(chrBPS),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[4]=chrBPS;
-
-    if(getMessage(chrName, IDSTR_TITLE, sizeof(chrName),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[5]=chrName;
-    if(getMessage(chrArtist, IDSTR_ARTIST, sizeof(chrArtist),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[6]=chrArtist;
-    if(getMessage(chrAlbum, IDSTR_ALBUM, sizeof(chrAlbum),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[7]=chrAlbum;
-    if(getMessage(chrYear, IDSTR_YEAR, sizeof(chrYear),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[8]=chrYear;
-    if(getMessage(chrComment, IDSTR_COMMENT, sizeof(chrComment),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[9]=chrComment;
-    if(getMessage(chrGenre, IDSTR_GENRE, sizeof(chrGenre),  queryResModuleHandle(), HWND_DESKTOP))
-      pszAudioColTitles[10]=chrGenre;
-
-
-  /* Setup the static data for the details view */
-  for(i=0,pCfi=cfiFieldInfo;i<NUM_AUDIO_FIELDS;i++,pCfi++)
-    {
-      memset((PCH)pCfi,0,sizeof(CLASSFIELDINFO));
-
-      pCfi->cb=sizeof(CLASSFIELDINFO);
-      pCfi->flData=CFA_LEFT|CFA_SEPARATOR|CFA_FIREADONLY;
-      pCfi->flTitle=CFA_CENTER|CFA_SEPARATOR|CFA_HORZSEPARATOR|CFA_STRING|CFA_FITITLEREADONLY;
-      pCfi->pNextFieldInfo=pCfi+1;
-      pCfi->pTitleData=(PVOID)pszAudioColTitles[i];
-      pCfi->flCompare=COMPARE_SUPPORTED|SORTBY_SUPPORTED;
-
-      switch(i)
-        {
-        case 0: /* play time */
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszPlayTime));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-        case 1: /* Bitrate */     /* New with 0.2.7 */
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszBitRate));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-        case 2: /* Sample rate */
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszSampleRate));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-        case 3: /* Channels */
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszChannels));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-        case 4: /* BPS */
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszBPS));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-
-        case 5: 
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszName));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-        case 6: 
-          pCfi->flData|=CFA_STRING;
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszArtist));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-        case 7: 
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszAlbum));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-        case 8: 
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszYear));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-        case 9: 
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszComment));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-        case 10: 
-          pCfi->flData|=CFA_STRING;
-          pCfi->offFieldData=(ULONG)(FIELDOFFSETUL(AUDIODETAILS,pszGenre));
-          pCfi->ulLenFieldData=sizeof(PSZ);
-          pCfi->DefaultComparison=CMP_EQUAL;
-          break;
-
-        }/* switch(i) */
-    }/* for() */
-  cfiFieldInfo[NUM_AUDIO_FIELDS].pNextFieldInfo=NULL;
-
-  /* Get name of help library from resource */
-  if(!getMessage(chrHelpLibrary, IDSTR_HELPLIBRARY, sizeof(chrHelpLibrary),
-                 queryResModuleHandle(), HWND_DESKTOP))
-        strcpy(chrHelpLibrary,"MMPARTS.HLP"); /* Fall back to default Warp hel library */
-}
-
-
-
-
-
-
-SOM_Scope void  SOMLINK cwaudioM_wpclsUnInitData(M_MMAudio *somSelf)
-{
-    /* M_MMAudioData *somThis = M_MMAudioGetData(somSelf); */
-    M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsUnInitData");
-
-    M_MMAudio_parent_M_CWMMDataFile_wpclsUnInitData(somSelf);
-}
-
-/*
- * The prototype for cwaudioM_wpclsQueryDefaultView was replaced by the following prototype:
- */
-SOM_Scope ULONG  SOMLINK cwaudioM_wpclsQueryDefaultView(M_MMAudio *somSelf)
-{
-    /* M_CWAudioData *somThis = M_CWAudioGetData(somSelf); */
-    M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsQueryDefaultView");
-
-    /* Default view for audio objects is 'Start' so on doubleclick the playing starts
-       immediately. */
-    return ID_MENU_START;
-    //    return (M_CWAudio_parent_M_MMAudio_wpclsQueryDefaultView(somSelf));
-}
-
-/*
- * The prototype for cwaudioM_wpclsQueryIconData was replaced by the following prototype:
- */
-SOM_Scope ULONG  SOMLINK cwaudioM_wpclsQueryIconData(M_MMAudio *somSelf, 
-                                                     PICONINFO pIconInfo)
-{
-    /* M_CWAudioData *somThis = M_CWAudioGetData(somSelf); */
-    M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsQueryIconData");
-    /*
-      We have our own icon.
-      */
-	if (pIconInfo)   {
-      pIconInfo->fFormat = ICON_RESOURCE;
-      pIconInfo->hmod    = queryModuleHandle();
-      pIconInfo->resid   = ID_ICONCWAUDIOFILE;
-	} /* endif */
-
-	return ( sizeof(ICONINFO) );
-}
-
-
-
-MRESULT EXPENTRY audioWorkerProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
-{
-
-  switch (msg)
-    {
-    case WM_APPTERMINATENOTIFY:
-      {
-      ULONG ulSize;
-      char fName[CCHMAXPATH];
-      char text[CCHMAXPATH];
-      BOOL bContinue=FALSE;
-      MMAudio *somSelf=(MMAudio*)mp1;
-      MMAudioData *somThis= MMAudioGetData(somSelf);
-      ULONG ulLoop;
-      //FIXME
-      //M_CWMMDataFileData *m_mmCWMM = M_CWMMDataFileGetData(_CWMMDataFile);
-
-      TRY_LOUD(AUDIO_WORKER) {
-        for(;;) {
-          ULONG rc;
-          MMIOINFO mmio;
-          HMMIO hmmio;
-          MMAUDIOHEADER mmAudioHeader={0};
-          LONG lBytesRead=0;
-          char* pChar;
-          ULONG ulFSize;
-          BOOL bIsMidi=FALSE;
-
-          mmclsSetObjectType(somSelf);
-
-          if(!somIsObj(somSelf))
-            break;
-
-          ulFSize=_wpQueryFileSize(somSelf);
-          if(_ulFileSize==ulFSize)
-            break;          /* We already scanned this file */
-          
-          ulSize=sizeof(fName);
-          if(!_wpQueryRealName(somSelf, fName, &ulSize, TRUE))
-            break;
-
-          /* Show status window */
-          if((pChar=strrchr(fName, '\\'))!=NULLHANDLE) {
-            HPS hps;
-            ULONG ulWinTextLen;
-            POINTL aptlPoints[TXTBOX_COUNT];
-            SWP swp;
-            ULONG ulCy;
-            WPOINT pwpBorder;
-            //FIXME
-            //HWND hwndClient=WinWindowFromID(m_mmCWMM->hwndStatus, FID_CLIENT);
-            HWND hwndClient=WinWindowFromID(__get_hwndStatus(_CWMMDataFile), FID_CLIENT);
-
-            sprintf(text,"%c:\\...%s",fName[0], pChar);
-            WinSetWindowText(hwndClient, text);
-            ulWinTextLen=(ULONG)strlen(text); // Query text length
-
-            /* Calculate text size in pixel */
-            hps=WinBeginPaint(hwndClient,(HPS)NULL,(PRECTL)NULL);
-            GpiQueryTextBox(hps,ulWinTextLen,text,TXTBOX_COUNT,aptlPoints);
-            WinEndPaint(hps);
-            //FIXME
-            //if(WinSendMsg(m_mmCWMM->hwndStatus ,WM_QUERYBORDERSIZE, MPFROMP(&pwpBorder), 0L))
-            if(WinSendMsg(__get_hwndStatus(_CWMMDataFile) ,WM_QUERYBORDERSIZE, MPFROMP(&pwpBorder), 0L))
-              ulCy=pwpBorder.x*2;
-            else
-              ulCy=SV_CYBORDER*2;
-            //FIXME
-            // if(WinQueryWindowPos(WinWindowFromID(m_mmCWMM->hwndStatus, FID_TITLEBAR),&swp))
-            if(WinQueryWindowPos(WinWindowFromID(__get_hwndStatus(_CWMMDataFile), FID_TITLEBAR),&swp))
-              ulCy+=swp.cy;
-            else
-              ulCy+=15;
-            //FIXME
-            //            WinSetWindowPos(m_mmCWMM->hwndStatus, HWND_TOP, 0,0,
-            WinSetWindowPos(__get_hwndStatus(_CWMMDataFile), HWND_TOP, 0,0,
-                            aptlPoints[TXTBOX_BOTTOMRIGHT].x-aptlPoints[TXTBOX_BOTTOMLEFT].x+18,
-                            aptlPoints[TXTBOX_TOPRIGHT].y-aptlPoints[TXTBOX_BOTTOMRIGHT].y+ulCy+4,
-                            SWP_SIZE|SWP_SHOW|SWP_ZORDER|SWP_DEACTIVATE);
-            //FIXME
-            //            WinPostMsg(m_mmCWMM->hwndStatus, WM_APPTERMINATENOTIFY, 0,MPFROMLONG(1L));
-            WinPostMsg(__get_hwndStatus(_CWMMDataFile), WM_APPTERMINATENOTIFY, 0,MPFROMLONG(1L));
-          }
-          //#if 0
-          /* This part obsolete?? */
-          /* Get file name */
-          ulSize=sizeof(fName);
-          if(!_wpQueryRealName(somSelf, fName, &ulSize, TRUE))
-            break;
-          //#endif
-
-          if(!_somIsA(somSelf, somGetSomClass("MMMIDI")))
-            {
-              /* Check audio files */
-              MP3OPTIONS mp3Opt; /* Struct holding MP3 additional info */
-              VORBISOPTIONS vorbisOpt;
-      
-              PMP3OPTIONS returnedMP3Opts;
-              PVORBISOPTIONS returnedVorbisOpts;
-
-              memset(&mmio,0, sizeof(mmio));
-              mmio.ulFlags=MMIO_READ;
-              mmio.ulTranslate=MMIO_TRANSLATEHEADER;
-
-              if(somObjectIsA(somSelf, "MMOGG"))
-                {
-                  vorbisOpt.cookie = VORBIS_COOKIE;
-                  mmio.pExtraInfoStruct = &vorbisOpt;
-                }
-              else
-                {
-                  /* For bitrate query of MP3 */
-                  mp3Opt.cookie = MP3_COOKIE;
-                  mmio.pExtraInfoStruct = &mp3Opt;              
-                }
-              hmmio = mmioOpen(fName, &mmio, MMIO_READ);
-              if(!hmmio)
-                break;
-              
-              memset(&mmAudioHeader,0,sizeof(MMAUDIOHEADER));
-              rc = mmioGetHeader(hmmio, &mmAudioHeader,sizeof(MMAUDIOHEADER),
-                                 &lBytesRead, 0, 0);
-              
-              if(rc!=MMIO_SUCCESS) {
-                mmioClose(hmmio, 0);
-                break;
-              }
-              mmioClose(hmmio, 0);
-              
-              /* Check if the object is still living. */
-              if(!somIsObj(somSelf))
-                break;
-
-              if(somObjectIsA(somSelf, "MMOGG")) {
-                returnedVorbisOpts = (PVORBISOPTIONS)mmAudioHeader.mmXWAVHeader.XWAVHeaderInfo.pAdditionalInformation;
-                if(0 != returnedVorbisOpts && VORBIS_COOKIE == returnedVorbisOpts->cookie && 0 != returnedVorbisOpts->nominal_bitrate)
-                  _ulBitRate=returnedVorbisOpts->nominal_bitrate;
-                else
-                  _ulBitRate=0;
-              }
-              else {
-                returnedMP3Opts = (PMP3OPTIONS)mmAudioHeader.mmXWAVHeader.XWAVHeaderInfo.pAdditionalInformation;
-                if(0 != returnedMP3Opts && MP3_COOKIE == returnedMP3Opts->cookie && 0 != returnedMP3Opts->bitrate)
-                  _ulBitRate=returnedMP3Opts->bitrate;
-                else
-                  _ulBitRate=0;
-              }
-
-
-              _ulChannels=mmAudioHeader.mmXWAVHeader.WAVEHeader.usChannels;
-              _ulSampleRate=mmAudioHeader.mmXWAVHeader.WAVEHeader.ulSamplesPerSec;
-              _ulBPS=mmAudioHeader.mmXWAVHeader.WAVEHeader.usBitsPerSample;
-              _ulNumAudioBytes=mmAudioHeader.mmXWAVHeader.XWAVHeaderInfo.ulAudioLengthInBytes;
-              /*      sprintf(fName,"%02d:%02d",mmAudioHeader.mmXWAVHeader.XWAVHeaderInfo.ulAudioLengthInBytes/
-                      mmAudioHeader.mmXWAVHeader.WAVEHeader.ulAvgBytesPerSec/60,
-                      mmAudioHeader.mmXWAVHeader.XWAVHeaderInfo.ulAudioLengthInBytes/
-                      mmAudioHeader.mmXWAVHeader.WAVEHeader.ulAvgBytesPerSec%60);*/
-              if(mmAudioHeader.mmXWAVHeader.XWAVHeaderInfo.ulAudioLengthInMS/1000) {
-                _ulPlaySecs=mmAudioHeader.mmXWAVHeader.XWAVHeaderInfo.ulAudioLengthInMS/1000;
-                _ulPlayMsecs=mmAudioHeader.mmXWAVHeader.XWAVHeaderInfo.ulAudioLengthInMS;
-              }
-              else {
-                _ulPlaySecs=mmAudioHeader.mmXWAVHeader.XWAVHeaderInfo.ulAudioLengthInBytes/
-                  mmAudioHeader.mmXWAVHeader.WAVEHeader.ulAvgBytesPerSec;
-                _ulPlayMsecs=_ulPlaySecs*1000;
-              }
-            }/* _somIsA()*/
-          else
-            {
-              /* The file is a midi file. Get audio information using MCI commands. */
-              unsigned char chrCommand[CCHMAXPATH];
-              char retMsg[20];
-              APIRET rc;
-              ULONG ulTime;
-
-              bIsMidi=TRUE;
-
-              //              HlpWriteToTrapLog("File: %s\n",  fName);
-              /* open the file */
-              sprintf(chrCommand,"open \"%s\"  type SEQUENCER alias wave%d SHAREABLE wait",fName,  somSelf);
-              rc = mciSendString( chrCommand, retMsg, sizeof(retMsg), NULLHANDLE, 0);
-              if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                break;
-              }
-
-              /* Set time format */
-              sprintf(chrCommand,"SET wave%d TIME FORMAT MILLISECONDS wait", somSelf);
-              rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-              if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                /* close the file */
-                sprintf(chrCommand,"close wave%d wait", somSelf);
-                mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-                break;
-              }
-
-              /* Get midi info */
-              sprintf(chrCommand,"STATUS wave%d LENGTH WAIT", somSelf);
-              rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-              if((rc & 0x0000ffff)!=MCIERR_SUCCESS) {
-                /* close the file */
-                sprintf(chrCommand,"close wave%d wait", somSelf);
-                mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-                break;
-              }
-              ulTime=atoi(retMsg);
-              //     HlpWriteToTrapLog("Midi-Time in ms: %d %s\n", ulTime, fName);
-
-              if(ulTime/1000) {
-                _ulPlaySecs=ulTime/1000;
-                _ulPlayMsecs=ulTime;
-              }
-              else {
-                _ulPlaySecs=1;
-                _ulPlayMsecs=_ulPlaySecs*1000;
-              }
-
-              //              HlpWriteToTrapLog("Midi-Time ulPlaySecs: %d\n", _ulPlaySecs);
-              sprintf(chrCommand,"STATUS wave%d NUMBER OF TRACKS WAIT", somSelf);
-              rc = mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-              if((rc & 0x0000ffff)==MCIERR_SUCCESS) {
-                _ulChannels=atoi(retMsg);
-                //     HlpWriteToTrapLog("Midi-Tracks: %d %s %s\n", _ulChannels, fName, retMsg);
-              }
-
-              /* close the file */
-              sprintf(chrCommand,"close wave%d wait", somSelf);
-              mciSendString(chrCommand, retMsg, sizeof(retMsg), 0, 0);
-            }/* else is MMMIDI */
-
-          _ulFileSize=_wpQueryFileSize(somSelf);
-          _bNeedSaving=TRUE;/* When the object is initialized the new instance data will be saved in wpObjectReady(). */
-
-          sprintf(fName,"%d",_ulChannels);
-          strncpy(_chrChannels, fName, sizeof(_chrChannels));
-          _chrChannels[sizeof(_chrChannels)-1]=0;
-
-          if(bIsMidi)
-            strncpy(_chrSampleRate, "---", sizeof(_chrSampleRate));      
-          else {
-          sprintf(fName,"%d", _ulSampleRate);
-          strncpy(_chrSampleRate, fName, sizeof(_chrSampleRate));          
-          }
-          _chrSampleRate[sizeof(_chrSampleRate)-1]=0;
-
-          if(!_ulBitRate)
-            strncpy(_chrBitRate, "---", sizeof(_chrBitRate));
-          else {
-            sprintf(fName,"%d",_ulBitRate);
-            strncpy(_chrBitRate, fName, sizeof(_chrBitRate));
-          }
-          _chrBitRate[sizeof(_chrBitRate)-1]=0;
-
-          if(bIsMidi)
-            strncpy(_chrBPS, "---", sizeof(_chrBPS));
-          else {
-            sprintf(fName,"%d",_ulBPS);
-            strncpy(_chrBPS, fName, sizeof(_chrBPS));
-          }
-          _chrBPS[sizeof(_chrBPS)-1]=0;
-          
-          sprintf(fName,"%02d:%02d",_ulPlaySecs/60, _ulPlaySecs%60);
-          strncpy(_chrPlayTime, fName, sizeof(_chrPlayTime));
-          _chrPlayTime[sizeof(_chrPlayTime)-1]=0;
-          
-          bContinue=TRUE;
-          break;
-        }/* for */
-      }
-      CATCH(AUDIO_WORKER)
-        {
-          SysWriteToTrapLog("\nTrap occured in %s, file %s, around line %d.\n",
-                            __FUNCTION__, __FILE__, __LINE__);
-          SysWriteToTrapLog("Audio file: %s\n\n",
-                            fName);
-        } END_CATCH;
-        //FIXME
-        //        WinPostMsg(m_mmCWMM->hwndStatus, WM_APPTERMINATENOTIFY, 0, 0L);
-        WinPostMsg(__get_hwndStatus(_CWMMDataFile), WM_APPTERMINATENOTIFY, 0, 0L);
-        
-        if(!bContinue)
-          return (MRESULT)FALSE;
-
-        /* This Message was posted from wpRestore(). It's not allowed to call
-         wpSaveDeferred() from there. The object must be initilized! This is important when 
-         creating objects form templates. So we wait for the object to be initialized.
-         If it isn't initialized within 2s we quit. */
-        ulLoop=0;
-        while(!_wpIsObjectInitialized(somSelf) && ulLoop<40) {
-          DosSleep(50);
-          ulLoop++;
-        }
-        if(ulLoop<20)
-          _wpSaveDeferred(somSelf);
-        _wpCnrRefreshDetails(somSelf);
-
-        return (MRESULT) FALSE;
-      }
-    default:
-      break;
-    }
-
-  return WinDefWindowProc( hwnd, msg, mp1, mp2);
-}
-
-
-SOM_Scope ULONG  SOMLINK cwaudioM_wpclsQueryStyle(M_MMAudio *somSelf)
-{
-    /* M_MMAudioData *somThis = M_MMAudioGetData(somSelf); */
-    M_MMAudioMethodDebug("M_MMAudio","cwaudioM_wpclsQueryStyle");
-
-    return (M_MMAudio_parent_M_CWMMDataFile_wpclsQueryStyle(somSelf))| CLSSTYLE_NEVERPRINT;
-}
-
Index: trunk/classes/c/c_audio/working_mmwav.c
===================================================================
--- trunk/classes/c/c_audio/working_mmwav.c	(revision 93)
+++ 	(revision )
@@ -1,197 +1,0 @@
-
-/*
- *  This file was generated by the SOM Compiler and Emitter Framework.
- *  Generated using: 
- *      SOM Emitter emitctm: 2.42
- */
-
-#ifndef SOM_Module_mmwav_Source
-#define SOM_Module_mmwav_Source
-#endif
-#define MMWAV_Class_Source
-#define M_MMWAV_Class_Source
-
-#include <os2.h>
-#include "helpid.h"
-#include "mmwav.ih"
-#include "cwaudioinc.h"
-
-extern char chrHelpLibrary[CCHMAXPATH];
-
-HMODULE queryModuleHandle(void);
-BOOL getMessage(char* text,ULONG ulID, LONG lSizeText, HMODULE hResource,HWND hwnd);
-void HlpWriteToTrapLog(const char* chrFormat, ...);
-
-/*
- * SOM_Scope BOOL  SOMLINK mmwav_wpSaveState(CWWAV *somSelf)
- */
-
-/*
- * The prototype for mmwav_wpSaveState was replaced by the following prototype:
- */
-SOM_Scope BOOL  SOMLINK mmwav_wpSaveState(MMWAV *somSelf)
-{
-  char chrBuf[256];
-  ULONG ulLength;
-  BOOL rc;
-
-    /* CWWAVData *somThis = CWWAVGetData(somSelf); */
-    MMWAVMethodDebug("MMWAV","mmwav_wpSaveState");
-
-    /* call parent first. By doing so, the MP3 type is written after the Digital Audio type.
-     This way the default class the WPS picks is MMWAV and not MMAudio. */
-    rc=(MMWAV_parent_MMAudio_wpSaveState(somSelf));
-
-    /* Set .TYPE EA so the editor and the player are happy. */
-    strncpy(chrBuf, _wpQueryType(somSelf), sizeof(chrBuf));
-    chrBuf[sizeof(chrBuf)-1]=0;
-
-    //HlpWriteToTrapLog("%x %x %s\n",strstr(chrBuf, TYPE_WAV), chrBuf, chrBuf);
-    if(!strstr(chrBuf, TYPE_WAV) && strlen(chrBuf)) {
-      ulLength=strlen(chrBuf);
-      if(ulLength) {
-        if(ulLength+2+sizeof(TYPE_WAV) < sizeof(chrBuf)) {
-          strcat(chrBuf, "\n");
-          strcat(chrBuf, TYPE_WAV);
-        }
-      }
-      else
-        strcpy(chrBuf, TYPE_WAV);
-      /* Set .TYPE EA so the editor and the player are happy. */
-    }
-    /* Write it to the EA */
-    _wpSetType(somSelf, chrBuf , NULL);
-    return rc;
-}
-
-
-/*
- * The prototype for mmwavM_wpclsQueryTitle was replaced by the following prototype:
- */
-
-/*
- * SOM_Scope PSZ  SOMLINK mmwavM_wpclsQueryTitle(M_CWWAV *somSelf)
- */
-
-/*
- * The prototype for mmwavM_wpclsQueryTitle was replaced by the following prototype:
- */
-SOM_Scope PSZ  SOMLINK mmwavM_wpclsQueryTitle(M_MMWAV *somSelf)
-{
-  static char chrTitle[20]={0};
-    /* M_MMWAVData *somThis = M_MMWAVGetData(somSelf); */
-  /*    M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryTitle");*/
-    M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryTitle");
-
-    if(chrTitle[0]==0)
-      if(!getMessage(chrTitle, IDSTR_WAVTITLE, sizeof(chrTitle), queryModuleHandle(), HWND_DESKTOP))
-        strcpy(chrTitle, CLSTITLE_WAV);
-
-    return chrTitle;
-}
-
-
-/*
- * SOM_Scope PSZ  SOMLINK mmwavM_wpclsQueryInstanceType(M_MMWAV *somSelf)
- */
-
-/*
- * The prototype for mmwavM_wpclsQueryInstanceType was replaced by the following prototype:
- */
-
-/*
- * SOM_Scope PSZ  SOMLINK mmwavM_wpclsQueryInstanceType(M_CWWAV *somSelf)
- */
-
-/*
- * The prototype for mmwavM_wpclsQueryInstanceType was replaced by the following prototype:
- */
-SOM_Scope PSZ  SOMLINK mmwavM_wpclsQueryInstanceType(M_MMWAV *somSelf)
-{
-    /* M_MMWAVData *somThis = M_MMWAVGetData(somSelf); */
-  /*    M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryInstanceType");*/
-    M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryInstanceType");
-
-    return TYPE_WAV;
-    //    return "WAV,Digital Audio";
-}
-
-
-/*
- * SOM_Scope PSZ  SOMLINK mmwavM_wpclsQueryInstanceFilter(M_MMWAV *somSelf)
- */
-
-/*
- * The prototype for mmwavM_wpclsQueryInstanceFilter was replaced by the following prototype:
- */
-
-/*
- * SOM_Scope PSZ  SOMLINK mmwavM_wpclsQueryInstanceFilter(M_CWWAV *somSelf)
- */
-
-/*
- * The prototype for mmwavM_wpclsQueryInstanceFilter was replaced by the following prototype:
- */
-SOM_Scope PSZ  SOMLINK mmwavM_wpclsQueryInstanceFilter(M_MMWAV *somSelf)
-{
-    /* M_MMWAVData *somThis = M_MMWAVGetData(somSelf); */
-    M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryInstanceFilter");
-    /*     M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryInstanceFilter");*/
-
-    return "*.WAV";
-}
-
-/*
- * The prototype for mmwavM_wpclsQueryIconData was replaced by the following prototype:
- */
-
-/*
- * SOM_Scope ULONG  SOMLINK mmwavM_wpclsQueryIconData(M_CWWAV *somSelf, 
- *                                                    PICONINFO pIconInfo)
- */
-
-/*
- * The prototype for mmwavM_wpclsQueryIconData was replaced by the following prototype:
- */
-SOM_Scope ULONG  SOMLINK mmwavM_wpclsQueryIconData(M_MMWAV *somSelf, 
-                                                   PICONINFO pIconInfo)
-{
-    /* M_MMWAVData *somThis = M_MMWAVGetData(somSelf); */
-  /*    M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryIconData");*/
-    M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryIconData");
-
-	if (pIconInfo)   {
-      pIconInfo->fFormat = ICON_RESOURCE;
-      pIconInfo->hmod    = queryModuleHandle();
-      pIconInfo->resid   = ID_ICONWAVFILE;
-	} /* endif */
-    
-	return ( sizeof(ICONINFO) );
-}
-
-/*
- * The prototype for mmwavM_wpclsQueryDefaultHelp was replaced by the following prototype:
- */
-/*
- * SOM_Scope BOOL  SOMLINK mmwavM_wpclsQueryDefaultHelp(M_CWWAV *somSelf, 
- *                                                      PULONG pHelpPanelId, 
- *                                                      PSZ pszHelpLibrary)
- */
-/*
- * The prototype for mmwavM_wpclsQueryDefaultHelp was replaced by the following prototype:
- */
-SOM_Scope BOOL  SOMLINK mmwavM_wpclsQueryDefaultHelp(M_MMWAV *somSelf, 
-                                                     PULONG pHelpPanelId, 
-                                                     PSZ pszHelpLibrary)
-{
-    /* M_MMWAVData *somThis = M_MMWAVGetData(somSelf); */
-  /*    M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryDefaultHelp");*/
-    M_MMWAVMethodDebug("M_MMWAV","mmwavM_wpclsQueryDefaultHelp");
-
-    if(pHelpPanelId)
-      *pHelpPanelId=WAVFILE_HELP_PANEL;
-    if(pszHelpLibrary)
-      strncpy(pszHelpLibrary, chrHelpLibrary, CCHMAXPATH);
-    return TRUE; 
-}
-
Index: trunk/classes/c/c_image/__cwbmp.c
===================================================================
--- trunk/classes/c/c_image/__cwbmp.c	(revision 93)
+++ 	(revision )
@@ -1,410 +1,0 @@
-
-/*
- *  This file was generated by the SOM Compiler.
- *  Generated using:
- *     SOM incremental update: 2.42
- */
-
-
-/*
- *  This file was generated by the SOM Compiler and Emitter Framework.
- *  Generated using: 
- *      SOM Emitter emitctm: 2.42
- */
-
-#ifndef SOM_Module_cwbmp_Source
-#define SOM_Module_cwbmp_Source
-#endif
-#define CWBitmap_Class_Source
-#define M_CWBitmap_Class_Source
-
-#define INCL_DOS
-#define INCL_PM
-#include <os2.h>
-#include <stdio.h>
-
-#include "cwbmp.ih"
-#include "except.h"
-#include "cwmmres.h"
-#include "cwaudioinc.h"
-
-#define STR_BITMAPNAME   "Bitmap"
-
-extern LONG  lNumIOProcs;
-
-HMODULE queryModuleHandle(void);
-BOOL insertIOProcMenuItems( HWND hwndMenu );
-ULONG launchPMProg(PSZ pszTitle, PSZ wrapperExe, PSZ parameters,  WPObject *thisPtr, ULONG ulView);
-BOOL getMessage(char* text,ULONG ulID, LONG lSizeText, HMODULE hResource,HWND hwnd);
-BOOL getBmpInfoHeader(PBITMAPINFOHEADER2  bmpih2, PSZ pszFileName, char* procName, ULONG ulLength);
-HBITMAP loadBitmap ( PSZ pszFileName, PBITMAPINFOHEADER2 pBMPInfoHeader2);
-HBITMAP createNewBitmap ( HBITMAP hbm,
-                          PBITMAPINFOHEADER2 pBmpInfoHeader2,
-                          ULONG ulWidth, 
-                          ULONG ulHeight, 
-                          BOOL* pbQuitEarly);
-
-MRESULT EXPENTRY bmpInfoDlgProc(HWND hwnd, ULONG msg, MPARAM mp1, MPARAM mp2)
-{
-  CWBitmap *cwImage;
-
-  switch(msg) {
-  case WM_INITDLG :
-    cwImage=(CWBitmap*)LONGFROMMP(mp2);
-    if(somIsObj(cwImage)) {
-      //      CWBitmapData *somThis = CWBitmapGetData(cwImage);
-
-      PBITMAPINFOHEADER2 pbmpih2;
-
-      if((pbmpih2=(PBITMAPINFOHEADER2) _cwmmQueryBitmapInfoHeader(cwImage))!=NULLHANDLE)
-        {
-          char fName[CCHMAXPATH];
-          char chrTemplate[100];
-
-          if(pbmpih2->cbFix==sizeof(BITMAPINFOHEADER2)) {
-            getMessage(chrTemplate, IDSTR_SPRINTFPIXEL, sizeof(chrTemplate), 
-                       queryModuleHandle(), hwnd);;
-            sprintf(fName, chrTemplate,pbmpih2->cx);
-            WinSetWindowText(WinWindowFromID(hwnd, IDST_IMAGEWIDTH),fName);
-            
-            sprintf(fName, chrTemplate, pbmpih2->cy);
-            WinSetWindowText(WinWindowFromID(hwnd, IDST_IMAGEHEIGHT),fName);
-
-            getMessage(chrTemplate, IDSTR_SPRINTFBIT, sizeof(chrTemplate), 
-                       queryModuleHandle(), hwnd);;            
-            sprintf(fName, chrTemplate, pbmpih2->cBitCount);
-            WinSetWindowText(WinWindowFromID(hwnd, IDST_COLORDEPTH),fName);
-          }
-          else if(pbmpih2->cbFix==sizeof(BITMAPINFOHEADER)) {
-            /* We shouldn't get a BITMAPINFOHEADER here but who knows...*/
-            PBITMAPINFOHEADER pbmpih=(PBITMAPINFOHEADER)pbmpih2;
-            getMessage(chrTemplate, IDSTR_SPRINTFPIXEL, sizeof(chrTemplate), 
-                       queryModuleHandle(), hwnd);;
-
-            sprintf(fName, chrTemplate,pbmpih->cx);
-            WinSetWindowText(WinWindowFromID(hwnd, IDST_IMAGEWIDTH),fName);
-            
-            sprintf(fName, chrTemplate, pbmpih->cy);
-            WinSetWindowText(WinWindowFromID(hwnd, IDST_IMAGEHEIGHT),fName);
-
-            getMessage(chrTemplate, IDSTR_SPRINTFBIT, sizeof(chrTemplate), 
-                       queryModuleHandle(), hwnd);;                        
-            sprintf(fName, chrTemplate, pbmpih->cBitCount);
-            WinSetWindowText(WinWindowFromID(hwnd, IDST_COLORDEPTH),fName);
-          }
-          
-          WinSetWindowText(WinWindowFromID(hwnd, IDST_IMAGEFORMAT), STR_BITMAPNAME);
-        }
-    }/* somIsObj() */
-    return (MRESULT)TRUE;
-    /* This prevents switching the notebook page behind the open folder */
-    case WM_WINDOWPOSCHANGED:
-      {
-        MRESULT mr;
-
-        if(WinQueryFocus(HWND_DESKTOP)!=
-           WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT)) {
-          mp2=MPFROMLONG(LONGFROMMP(mp2)|0x80000);/*AWP_ACTIVATE 0x00080000L*/
-          mr=WinDefDlgProc(hwnd, msg, mp1, mp2);
-          return mr;  
-        }
-        break;
-      }
-    case WM_FOCUSCHANGE:
-      {
-        if(!SHORT1FROMMP(mp2)) {
-          if(HWNDFROMMP(mp1)==hwnd) {
-            MRESULT mr;
-
-            mr=WinDefDlgProc(hwnd, msg, mp1, mp2);
-            WinSendMsg(WinQueryWindow(WinQueryWindow(hwnd, QW_PARENT), QW_PARENT), 
-                       WM_SETFOCUS, MPFROMHWND(hwnd), (MPARAM)TRUE);
-            return mr;
-          }
-        }
-        break;
-      }
-    case WM_DESTROY:
-      /* The notebook closes and gets destroyed */
-      /* Set focus to desktop to prevent PM freeze */
-      WinSetFocus(HWND_DESKTOP, HWND_DESKTOP);
-      break;
-  default:
-    break;
-  }
-  return WinDefDlgProc(hwnd, msg, mp1, mp2);
-}
-
-SOM_Scope ULONG  SOMLINK cwbmp_cwmmAddImageInformationPage(CWBitmap *somSelf, 
-                                                           HWND hwndNotebook)
-{
-  PAGEINFO pageinfo;
-  char pageName[100];
-
-    /* CWBitmapData *somThis = CWBitmapGetData(somSelf); */
-    CWBitmapMethodDebug("CWBitmap","cwbmp_cwmmAddImageInformationPage");
-
-  //Clear the pageinfo structure
-  memset((PCH)&pageinfo, 0, sizeof(PAGEINFO));
-  //Fill the pageinfo structure
-  pageinfo.cb = sizeof(PAGEINFO);
-  pageinfo.hwndPage = NULLHANDLE;
-  pageinfo.usPageStyleFlags = BKA_MAJOR | BKA_STATUSTEXTON;
-  pageinfo.usPageInsertFlags = BKA_FIRST;
-  //We want page numbers
-  pageinfo.usSettingsFlags = SETTINGS_PAGE_NUMBERS;
-  //The dialog procedure for this page
-  pageinfo.pfnwp = bmpInfoDlgProc;
-  //The resource DLL
-  pageinfo.resid = queryModuleHandle();
-  //pageinfo.resid = queryModuleHandle();
-  //The ID of the dialog template
-  pageinfo.dlgid = IDDLG_IMAGEINFOPAGE;
-  //pageinfo.dlgid = IDDLG_WAVEINFOPAGE;
-  //We need a pointer to our WPS-object in the dialog procedure
-  //to call class functions
-  pageinfo.pCreateParams = somSelf;
-  //The ID of the help panel for this page
-  //pageinfo.idDefaultHelpPanel = IDDLG_GENERAL2PAGE;
-
-  //Tell the WPS the help library name
-  pageinfo.pszHelpLibraryName = NULLHANDLE;
-  //We have a major tab so we need a name
-  /* pageName: "ISO filesystem" */
-  getMessage(pageName, IDSTR_IMAGEINFOPAGENAME, sizeof(pageName),  queryModuleHandle(), hwndNotebook);
-  pageinfo.pszName = pageName;
-  //Insert the page into the settings notebook
-  return _wpInsertSettingsPage(somSelf,hwndNotebook,&pageinfo);
-}
-
-
-static HBITMAP  cwQueryBitmapHandle(CWBitmap *somSelf, 
-                                 ULONG ulWidth, 
-                                 ULONG ulHeight)
-{
-  ULONG ulSize;
-  char chrName[CCHMAXPATH];
-  PBYTE pByte;
-  BOOL bGotHeader=FALSE;
-  HBITMAP hbm=NULLHANDLE;
-  HBITMAP hbm2;
-  
-  CWBitmapData *somThis = CWBitmapGetData(somSelf); 
-  //   CWImageMethodDebug("CWBitmap","cwimg_wpQueryBitmapHandle");
-  
-  if(ulWidth==0 || ulHeight==0)
-    return NULLHANDLE;
-  
-  ulSize=sizeof(chrName);
-  if(!_wpQueryRealName(somSelf, chrName, &ulSize,TRUE))
-    return NULLHANDLE;
-
-    
-  TRY_LOUD(LOAD_BMP3) {
-    if(_cwmmQueryBitmapInfoHeader(somSelf))
-      bGotHeader=TRUE;
-  }
-  CATCH(LOAD_BMP3)
-    {
-#if 0
-      if(MBID_OK==showMsgBox2(IDSTR_CWIMAGETITLE, IDSTR_IMGIOPROCCRASH, queryModuleHandle(),
-                              MB_OK | MB_MOVEABLE | MB_WARNING))
-        exit(0);
-      exit(0);
-#endif
-    }END_CATCH;
-    
-    if(!bGotHeader)
-      return NULLHANDLE;
-
-    TRY_LOUD(LOAD_BMP4) {
-      hbm=loadBitmap ( chrName , (PBITMAPINFOHEADER2) _pBmpInfoHeader2);
-    }
-    CATCH(LOAD_BMP4)
-      {
-#if 0
-        if(MBID_OK==showMsgBox2(IDSTR_CWIMAGETITLE, IDSTR_IMGIOPROCCRASH, queryModuleHandle(),
-                                MB_OK | MB_MOVEABLE | MB_WARNING))
-          exit(0);
-        exit(0);
-#endif
-        hbm=NULLHANDLE;
-      } END_CATCH;
-      
-      if(!hbm)
-        return NULLHANDLE;
-      
-      
-    TRY_LOUD(QRY_HBM) {
-      hbm2=createNewBitmap ( hbm, (PBITMAPINFOHEADER2) _pBmpInfoHeader2, ulWidth, ulHeight , NULLHANDLE);
-    }
-    CATCH(QRY_HBM)
-      {
-        hbm2=NULLHANDLE;
-      } END_CATCH;
-      
-      GpiDeleteBitmap(hbm);
-      return hbm2;
-}
-
-SOM_Scope HBITMAP  SOMLINK cwbmp_cwmmQuerySmallBitmapHandle(CWBitmap *somSelf, 
-                                                            ULONG ulSize)
-{
-HBITMAP hbm;
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_cwmmQuerySmallBitmapHandle");
-
-    if(ulSize<MAX_SIZE_SMALLBITMAP)
-      ulSize=MAX_SIZE_SMALLBITMAP;
-
-    if(ulSize>_ulSizeSmallBitmap)
-      {
-        if(_hBitmapSmall) {
-          GpiDeleteBitmap(_hBitmapSmall);
-          _hBitmapSmall=NULLHANDLE;
-        }
-      }
-
-    /* Return statement to be customized: */
-    return _hBitmapSmall;
-}
-
-SOM_Scope void  SOMLINK cwbmp_cwmmFreeBitmaps(CWBitmap *somSelf)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_cwmmFreeBitmaps");
-
-}
-
-SOM_Scope void  SOMLINK cwbmp_cwmmFreeSmallBitmap(CWBitmap *somSelf)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_cwmmFreeSmallBitmap");
-
-}
-
-SOM_Scope PBYTE  SOMLINK cwbmp_cwmmQueryBitmapInfoHeader(CWBitmap *somSelf)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_cwmmQueryBitmapInfoHeader");
-
-
-    /* Return statement to be customized: */
-    return;
-}
-
-SOM_Scope BOOL  SOMLINK cwbmp_wpModifyPopupMenu(CWBitmap *somSelf, 
-                                                HWND hwndMenu, 
-                                                HWND hwndCnr, 
-                                                ULONG iPosition)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_wpModifyPopupMenu");
-
-    return (CWBitmap_parent_WPBitmap_wpModifyPopupMenu(somSelf, 
-                                                       hwndMenu, 
-                                                       hwndCnr, 
-                                                       iPosition));
-}
-
-SOM_Scope BOOL  SOMLINK cwbmp_wpMenuItemSelected(CWBitmap *somSelf, 
-                                                 HWND hwndFrame, 
-                                                 ULONG ulMenuId)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_wpMenuItemSelected");
-
-    return (CWBitmap_parent_WPBitmap_wpMenuItemSelected(somSelf, 
-                                                        hwndFrame, 
-                                                        ulMenuId));
-}
-
-SOM_Scope HWND  SOMLINK cwbmp_wpOpen(CWBitmap *somSelf, HWND hwndCnr, 
-                                     ULONG ulView, ULONG param)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_wpOpen");
-
-    return (CWBitmap_parent_WPBitmap_wpOpen(somSelf, hwndCnr, 
-                                            ulView, param));
-}
-
-SOM_Scope BOOL  SOMLINK cwbmp_wpAddSettingsPages(CWBitmap *somSelf, 
-                                                 HWND hwndNotebook)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_wpAddSettingsPages");
-
-    return (CWBitmap_parent_WPBitmap_wpAddSettingsPages(somSelf, 
-                                                        hwndNotebook));
-}
-
-SOM_Scope void  SOMLINK cwbmp_wpUnInitData(CWBitmap *somSelf)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_wpUnInitData");
-
-    CWBitmap_parent_WPBitmap_wpUnInitData(somSelf);
-}
-
-SOM_Scope void  SOMLINK cwbmp_wpInitData(CWBitmap *somSelf)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_wpInitData");
-
-    CWBitmap_parent_WPBitmap_wpInitData(somSelf);
-}
-
-SOM_Scope ULONG  SOMLINK cwbmp_wpQueryDetailsData(CWBitmap *somSelf, 
-                                                  PVOID* ppDetailsData, 
-                                                  PULONG pcp)
-{
-    CWBitmapData *somThis = CWBitmapGetData(somSelf);
-    CWBitmapMethodDebug("CWBitmap","cwbmp_wpQueryDetailsData");
-
-    return (CWBitmap_parent_WPBitmap_wpQueryDetailsData(somSelf, 
-                                                        ppDetailsData, 
-                                                        pcp));
-}
-
-
-SOM_Scope ULONG  SOMLINK cwbmpM_wpclsQueryDefaultView(M_CWBitmap *somSelf)
-{
-    /* M_CWBitmapData *somThis = M_CWBitmapGetData(somSelf); */
-    M_CWBitmapMethodDebug("M_CWBitmap","cwbmpM_wpclsQueryDefaultView");
-
-    return (M_CWBitmap_parent_M_WPBitmap_wpclsQueryDefaultView(somSelf));
-}
-
-SOM_Scope ULONG  SOMLINK cwbmpM_wpclsQueryIconData(M_CWBitmap *somSelf, 
-                                                   PICONINFO pIconInfo)
-{
-    /* M_CWBitmapData *somThis = M_CWBitmapGetData(somSelf); */
-    M_CWBitmapMethodDebug("M_CWBitmap","cwbmpM_wpclsQueryIconData");
-
-    return (M_CWBitmap_parent_M_WPBitmap_wpclsQueryIconData(somSelf, 
-                                                            pIconInfo));
-}
-
-SOM_Scope ULONG  SOMLINK cwbmpM_wpclsQueryDetailsInfo(M_CWBitmap *somSelf, 
-                                                      PCLASSFIELDINFO* ppClassFieldInfo, 
-                                                      PULONG pSize)
-{
-    /* M_CWBitmapData *somThis = M_CWBitmapGetData(somSelf); */
-    M_CWBitmapMethodDebug("M_CWBitmap","cwbmpM_wpclsQueryDetailsInfo");
-
-    return (M_CWBitmap_parent_M_WPBitmap_wpclsQueryDetailsInfo(somSelf, 
-                                                               ppClassFieldInfo, 
-                                                               pSize));
-}
-
-SOM_Scope void  SOMLINK cwbmpM_wpclsInitData(M_CWBitmap *somSelf)
-{
-    /* M_CWBitmapData *somThis = M_CWBitmapGetData(somSelf); */
-    M_CWBitmapMethodDebug("M_CWBitmap","cwbmpM_wpclsInitData");
-
-    M_CWBitmap_parent_M_WPBitmap_wpclsInitData(somSelf);
-}
-
-
-/*******************************************/
Index: trunk/classes/c/c_image/_cwimage.DEF
===================================================================
--- trunk/classes/c/c_image/_cwimage.DEF	(revision 93)
+++ 	(revision )
@@ -1,105 +1,0 @@
-LIBRARY CWIMAGE INITGLOBAL
-DESCRIPTION '$@#(C) C. Wohlgemuth 2001-2002:#@##1## 29.05.2002 18:17:00      My ;-)  : :::0::@@ Extended MM-Classes V0.2.3' 
-;DESCRIPTION '$@#(C) C. Wohlgemuth 2001-2002:#@ Extended MM-Classes V0.2.3'
-PROTMODE
-CODE PRELOAD DISCARDABLE
-DATA SHARED LOADONCALL
-
-EXPORTS  
-        M_CWImageClassData	@1
-        M_CWImageCClassData	@2
-        M_CWImageNewClass	@3
-        CWImageClassData	@4
-        CWImageCClassData	@5
-        CWImageNewClass		@6
-
-        M_CWAVCClassData	@7
-        M_CWAVCCClassData	@8
-        M_CWAVCNewClass		@9
-        CWAVCClassData		@10
-        CWAVCCClassData		@11
-        CWAVCNewClass		@12
-
-        M_CWDIBClassData	@13
-        M_CWDIBCClassData	@14
-        M_CWDIBNewClass		@15
-        CWDIBClassData		@16
-        CWDIBCClassData		@17
-        CWDIBNewClass		@18
-
-        M_CWGIFClassData	@19
-        M_CWGIFCClassData	@20
-        M_CWGIFNewClass		@21
-        CWGIFClassData		@22
-        CWGIFCClassData		@23
-        CWGIFNewClass		@24
-
-        M_CWJPGClassData	@25
-        M_CWJPGCClassData	@26
-        M_CWJPGNewClass		@27
-        CWJPGClassData		@28
-        CWJPGCClassData		@29
-        CWJPGNewClass		@30
-
-        M_CWPhotoCDClassData	@31
-        M_CWPhotoCDCClassData	@32
-        M_CWPhotoCDNewClass	@33
-        CWPhotoCDClassData	@34
-        CWPhotoCDCClassData	@35
-        CWPhotoCDNewClass	@36
-
-        M_CWPCXClassData	@37
-        M_CWPCXCClassData	@38
-        M_CWPCXNewClass		@39
-        CWPCXClassData		@40
-        CWPCXCClassData		@41
-        CWPCXNewClass		@42
-
-        M_CWTargaClassData	@43
-        M_CWTargaCClassData	@44
-        M_CWTargaNewClass	@45
-        CWTargaClassData	@46
-        CWTargaCClassData	@47
-        CWTargaNewClass		@48
-
-        M_CWTIFFClassData	@49
-        M_CWTIFFCClassData	@50
-        M_CWTIFFNewClass	@51
-        CWTIFFClassData		@52
-        CWTIFFCClassData	@53
-        CWTIFFNewClass		@54
-
-        M_CWMMotionClassData	@55
-        M_CWMMotionCClassData	@56
-        M_CWMMotionNewClass	@57
-        CWMMotionClassData	@58
-        CWMMotionCClassData	@59
-        CWMMotionNewClass	@60
-
-
-
-IMPORTS
-	M_WPImageFileClassData=PMWP.495
-	M_WPImageFileCClassData=PMWP.494
-	M_WPImageFileNewClass=PMWP.496
-	WPImageFileClassData=PMWP.492
-	WPImageFileCClassData=PMWP.491
-	WPImageFileNewClass=PMWP.493
-
-;	PMWP.M_WPImageFileClassData
-;	PMWP.M_WPImageFileCClassData
-;	PMWP.M_WPImageFileNewClass
-;	PMWP.WPImageFileClassData
-;	WPImageFileCClassData=PMWP.491
-;	PMWP.WPImageFileNewClass
-
-
-
-;	M_WPImageFileClassData=MMPARTS.M_WPImageFileStubClassData
-;	M_WPImageFileCClassData=MMPARTS.M_WPImageFileStubCClassData
-;	M_WPImageFileNewClass=MMPARTS.M_WPImageFileStubNewClass
-;	WPImageFileClassData=MMPARTS.WPImageFileStubClassData
-;	WPImageFileCClassData=MMPARTS.WPImageFileStubCClassData
-;	WPImageFileNewClass=MMPARTS.WPImageFileStubNewClass
-
-
Index: trunk/classes/c/c_image/image.DEF
===================================================================
--- trunk/classes/c/c_image/image.DEF	(revision 93)
+++ 	(revision )
@@ -1,6 +1,0 @@
-NAME  IMAGE WINDOWAPI
-DESCRIPTION '$@#(C) C. Wohlgemuth 2001-2002:#@##1## 29.05.2002 18:17:00      My ;-)  : :::0::@@ Extended MM-Classes V0.2.3' 
-;DESCRIPTION '$@#(C) C. Wohlgemuth 2001-2002:#@ Extended MM-Classes V0.2.3'
-PROTMODE
-
-
Index: trunk/classes/doc_and_inst/eng/_Readme.eng
===================================================================
--- trunk/classes/doc_and_inst/eng/_Readme.eng	(revision 93)
+++ 	(revision )
@@ -1,116 +1,0 @@
-MP3/Ogg multimedia audio-classes 12.05.02
------------------------------------------
-
-These classes are for seemless integration of the
-MMIO procedures for MP3 and OGG files written by
-Russel O'Connor.
-Get these procedures from:
-
-http://www.math.berkeley.edu/~roconnor/
-
-After installation Ogg- and MP3 files are treated the
-same way by the WPS as the other audio files. They have
-their own Icons and the same menus as for example
-wave files. A doubleclick starts playback another one
-stops it. The convert menu item helps you decoding the
-file to wave without any other program. 
-
-The settings notebook of every audio file gets a new
-page added describing the audio characteristics like
-playtime or samplerate. This data is also shown in the
-details view of folders if set to class:CWAudio.
-
-There's also a new open-item for volume.
-With the following keys in OS2.ini you may specify
-the programs to use when opening audio files. These
-programs must be PM programs.
-
-CWMM->audioplayer-><Name of program>
-CWMM->audioeditor-><Name of program>
-
-You may view and change the ID3 tags of MP3 files
-using the settings notebook. These tags are also shown
-in the details view.
-
-
-Installation
-------------
-
-Put the contents of the archive into a directory and run
-cwaudio.ins which will run the installer and register the
-new classes.
-The installer comes with Audio/data-Cd-Creator the 
-CW-Multimedia classes or may be downloaded here:
- 
-http://www.os2world.com/cdwriting
-http://www.geocities.com/SiliconValley/Sector/5785/
-
-You have to restart the WPS so the changes can take effect.
-
-Open the multimedia settings notebook and add the types MP3
-and OGGS to digital audio if the menus do not work as expected.
-It may be necessary to also add associations to *.MP3 and
-*.OGG files.
-
-The command file setFolder.cmd sets the details and sort class of
-a folder to CWAudio so the new information is shown in the details
-view and the sort menu contains the new items. Just drop the folder
-in question on the script.
-
-
-Known problems
---------------
-
-The playtime isn't correct for some VBR-MP3s. This is a problem
-of the MMIOMPõ-Proc not the classes.
-
-
-History
--------
-
-V0.1.0
-
-First release of the new audio classes.
-
-V0.2.0
-
--Type 'Digital Audio' returned in addition to MP3/OGGS for the audio classes.
--Setting of .TYPE EA so Digital Audio player works with MP3/OGG files without further fiddling
--Caching of MP3 technical data in EAs to speed up folder opening.
--ID3 data shown with the right codepage.
--Mnemonic for Volume menu item.
-
-V0.2.1
-
--A bunch of minor fixes.
--No prereading of audio info for files on CD to speed up folder opening.
-
-V0.2.2
-
--New CD track class for FreeDB enabled CD player
--Improved open function. See media folder documentation
-
-Credits
--------
-
-The Icons are (C) Klaus Staedtler-Przyborski. Thanks for fearless
-beta testing.
-
-
-License
---------
-
-Theses classes are free to use but copyrighted. Use them on your own
-risk. If they burn your house or destroy your data it's all your
-fault.
-
- 
-Author
-------
-
-These classes are (C) 2001-2002 Chris Wohlgemuth.
-
-http://www.geocities.com/SiliconValley/Sector/5785/
-http://www.os2world.com/cdwriting
-
-
Index: trunk/classes/idl/idl_audio/__mmaudio.idl
===================================================================
--- trunk/classes/idl/idl_audio/__mmaudio.idl	(revision 93)
+++ 	(revision )
@@ -1,126 +1,0 @@
-
-/*
- * MMAudio.idl:
- */
-
-#include <mmdataf.idl>
-
-/*
-   CLASS: 
-*/
-
-interface M_MMAudio; 
-
-interface MMAudio : MMDataFile
-{
-
-    /*
-     * New instance methods
-     *
-     */
-
-
-
-#ifdef __SOMIDL__
-  implementation {
-
-    /*
-     * Class Modifiers:
-     *
-     */
-
-    externalprefix = mmaudio_;
-    externalstem = mmaudio;
-    majorversion = 1;
-    minorversion = 1;
-    filestem = mmaudio;           //# specifies the filestem for sc-generated files
-    metaclass = M_MMAudio;
-    dllname = "CWMM.dll";
-    callstyle = oidl;
-
-    /*
-     * Internal instance variables
-     *
-     */
-
-    /*
-     * methods overridden 
-     *
-     */
-
-    mmFilterPopupMenu       : override;
-    mmViewNotify            : override;
-
-    wpFormatDragItem       	: override;
-    wpMenuItemSelected     	: override;
-    wpModifyPopupMenu      	: override;
-    wpOpen                 	: override;
-    wpQueryDefaultView     	: override;
-    wpUnInitData            : override;  	
-         	
-#ifdef __PRIVATE__
-
-#endif
-
-  }; // implementation
-#endif /* __SOMIDL__ */
-};
-
-
-interface M_MMAudio : M_MMDataFile
-{
-
-    /*
-     * New class methods
-     *
-     */
-
-
-#ifdef __SOMIDL__
-  implementation {
-
-
-    /*
-     * Class Modifiers:
-     *
-     */
-
-    externalprefix = mmaudioM_;
-    externalstem = mmaudioM;
-    functionprefix = mmaudioM_;
-    majorversion = 1;
-    minorversion = 1;
-    filestem = mmaudio;           //# specifies the filestem for sc-generated files
-    dllname = "CWMM.dll";
-    callstyle = oidl;
-
-    /*
-     * Internal class variables
-     *
-     */
-
-    /*
-     * methods overridden 
-     *
-     */
-
-mmclsDeleteFromTypeList 	: override;   
-mmclsDeleteFromExtensionList: override;   
-mmclsInitTypesAndExtensions	: override;   
-
-wpclsQueryInstanceType  	: override;   
-wpclsQueryInstanceFilter	: override;   
-
-wpclsInitData           	: override;   
-wpclsQueryDefaultHelp   	: override;   
-wpclsQueryTitle         	: override;   
-wpclsUnInitData         	: override;   
-wpclsQueryIconData          : override;              	
-
-  };
-
-#endif /* __SOMIDL__ */
-
-};
-
-
Index: trunk/classes/idl/idl_audio/__mmdataf.idl
===================================================================
--- trunk/classes/idl/idl_audio/__mmdataf.idl	(revision 93)
+++ 	(revision )
@@ -1,152 +1,0 @@
-
-/*
- * cwdataf.idl
- */
-
-#include <wpdataf.idl>
-
-/*
-   CLASS: MMDataFile
-*/
-
-interface M_MMDataFile; 
-
-interface MMDataFile : WPDataFile
-{
-
-    /*
-     * New instance methods
-     *
-     */
-    /* These functions are used as placeholders. The parameters and the return type are both
-       unknown. There seems to be no documentation available for the MM-Classes.
-     */
-    ULONG mmFilterPopupMenu(in ULONG ulFlags, in HWND hwndcnr, in BOOL fMultiSelect);
-    ULONG mmViewNotify();           
-    ULONG mmDetermineViewFor();     
-
-#ifdef __SOMIDL__
-  implementation {
-releaseorder:   mmFilterPopupMenu,
-                mmViewNotify,
-                mmDetermineViewFor;
-    /*
-     * Class Modifiers:
-     *
-     */
-
-    externalprefix = mmdatafile_;
-    externalstem = mmdatafile;
-    majorversion = 1;
-    minorversion = 1;
-    filestem = mmdataf;           //# specifies the filestem for sc-generated files
-    metaclass = M_MMDataFile;
-    dllname = "MMPARTS.DLL";
-    callstyle = oidl;
-
-    /*
-     * Internal instance variables
-     *
-     */
-    /* Used as placeholder only. */
-    ULONG   ul1;
-    ULONG   ul2;
-    ULONG   ul3;
-    /*
-     *  methods overridden 
-     *
-     */
-
-    wpFilterPopupMenu: override;
-    wpInitData       : override;
-    wpMenuItemHelpSelected: override;
-    wpMenuItemSelected      : override;
-    wpModifyPopupMenu       : override;
-    wpOpen                  : override;
-    wpQueryConcurrentView   : override;
-    wpQueryDefaultView      : override;
-    wpSetTitle              : override;
-    wpSetup              : override;
-    wpUnInitData         : override;
-    wpObjectReady    : override;
-
-
-#ifdef __PRIVATE__
-
-#endif
-
-  }; // implementation
-#endif /* __SOMIDL__ */
-};
-
-
-interface M_MMDataFile : M_WPDataFile
-{
-
-    /*
-     * New class methods
-     *
-     */
-    /* These functions are used as placeholders. The parameters and the return type are both
-       unknown. There seems to be no documentation available for the MM-Classes.
-     */
-    BOOL mmclsDeleteFromTypeList(in PSZ pszType); 	
-    BOOL mmclsDeleteFromExtensionList(in PSZ pszExt);
-    BOOL mmclsInitTypesAndExtensions();	
-    BOOL mmclsSetDefaultView(in ULONG ulView);     	
-
-
-
-#ifdef __SOMIDL__
-  implementation {
-releaseorder:   mmclsDeleteFromTypeList,
-                mmclsDeleteFromExtensionList,
-                mmclsInitTypesAndExtensions,
-                mmclsSetDefaultView;
-
-    /*
-     * Class Modifiers:
-     *
-     */
-
-    externalprefix = mmdatafileM_;
-    externalstem = mmdatafileM;
-    functionprefix = mmdatafileM_;
-    majorversion = 1;
-    minorversion = 1;
-    filestem = mmdataf;           //# specifies the filestem for sc-generated files
-    dllname = "MMPARTS.DLL";
-    callstyle = oidl;
-
-    /*
-     * Internal class variables
-     *
-     */
-
-    /*
-     *  methods overridden 
-     *
-     */
-
-wpclsQueryInstanceType  	: override;
-wpclsQueryInstanceFilter	: override;
-
-wpclsCreateDefaultTemplates	: override;
-wpclsInitData           	: override;
-wpclsQueryDefaultHelp   	: override;
-wpclsQueryDefaultView   	: override;
-wpclsQueryStyle         	: override;
-wpclsQueryTitle         	: override;
-wpclsUnInitData         	: override;
-wpclsQueryIconData      	: override;
-
-  };
-
-#endif /* __SOMIDL__ */
-
-};
-
-
-
-
-
Index: trunk/classes/idl/idl_audio/fixed_cwaudio.idl
===================================================================
--- trunk/classes/idl/idl_audio/fixed_cwaudio.idl	(revision 93)
+++ 	(revision )
@@ -1,215 +1,0 @@
-/*
- * (C) Chris Wohlgemuth 2002-2003
- *
- */
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING.  If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- */          
-/*
- * If you need another license for your project/product (commercial,
- * noncommercial, whatever) contact me at
- * 
- * http://www.os2world.com/cdwriting
- * http://www.geocities.com/SiliconValley/Sector/5785/
- *
- */
-
-/*
- * CWAudio.idl:
- */
-
-#include <cwmmdataf.idl>
-
-#define SIZE_PLAYTIME    11
-#define SIZE_SAMPLERATE  7
-#define SIZE_BITRATE     7  
-#define SIZE_CHANNELS    2
-#define SIZE_BPS         4
-
-/*
-   CLASS: CWMMDataFile
-*/
-
-interface M_MMAudio; 
-
-
-
-
-interface MMAudio : CWMMDataFile
-{
-
-    /*
-     * New instance methods
-     *
-     */
-/*	ULONG  cwmmAddAudioInformationPage(in HWND hwndNotebook);
-    BOOL   cwmmSetTrackInfo(in char* chrString, in ULONG ulValue, in int iWhich);
-    ULONG  cwmmQueryTrackInfo(in PSZ chrString, in ULONG ulSize, in int iWhich);*/
-    void   cwmmPlayTrack(in HWND hwndCnr, in BOOL bPlay);
-/*	ULONG  cwmmAddTrackNamePage(in HWND hwndNotebook);
-    void   cwmmPauseTrack(in HWND hwndCnr, in ULONG ulAction);*/
-/*    LONG  cwmmSetTrackVolume(in ULONG ulVolume);
-    LONG  cwmmQueryTrackVolume();  */
-
-#ifdef __SOMIDL__
-  implementation {
-    releaseorder:
-                cwmmAddAudioInformationPage,
-                cwmmSetTrackInfo,
-                cwmmQueryTrackInfo,
-                cwmmPlayTrack,
-                cwmmAddTrackNamePage,
-                cwmmPauseTrack;
-/*                cwmmSetTrackVolume,
-                cwmmQueryTrackVolume; */
-    /*
-     * Class Modifiers:
-     *
-     */
-
-    externalprefix = cwaudio_;
-    externalstem = cwaudio;
-    majorversion = 1;
-    minorversion = 2;
-    filestem = cwaudio;           //# specifies the filestem for sc-generated files
-    metaclass = M_MMAudio;
-    dllname = "CWMM.dll";
-    callstyle = oidl;
-    passthru C_h_after =  ""
-    "#include \"mmres.h\""
-    "";
-
-    /*
-     * Internal instance variables
-     *
-     */
-    ULONG  ulPlayMsecs;
-    ULONG  ulPlaySecs;
-    ULONG  ulSampleRate;
-    ULONG  ulBitRate;
-    ULONG  ulChannels;  
-    ULONG  ulBPS;
-    ULONG  ulNumAudioBytes;
-    ULONG  ulFileSize;
-    BOOL bNeedSaving;
-    /* Strings shown in details view */
-    char chrPlayTime[SIZE_PLAYTIME];
-    char chrBitRate[SIZE_BITRATE];
-    char chrSampleRate[SIZE_SAMPLERATE];
-    char chrChannels[SIZE_CHANNELS];
-    char chrBPS[SIZE_BPS];
-
-/*    char id3Name[33+30+1]; */
- /* 63 chars. ID3 allows 30 */
-/*    char id3Artist[33+30+1]; 
-    char id3Album[33+30+1];
-    char id3Year[4+1];
-    char id3Comment[30+1];
-    char id3Genre[30+1]; */
-/*    int  id3TrackNr;  */
-	/* Track number for ID3 V1.1 */
-
-    /* New with v0.2.7: Track information isn't restricted to
-       the size of ID3 for other audio files than MP3. */
-    PSZ pszName;
-    PSZ pszArtist;
-    PSZ pszAlbum;
-    PSZ pszComment;
-    PSZ pszYear;
-    PSZ pszGenre;
-    /*
-     * methods overridden 
-     *
-     */
-
-/*    wpAddSettingsPages      : override;
-    wpQueryDetailsData      : override;*/
-/*    wpRestoreState          : override;*/
-    wpSaveState             : override;
-    wpModifyPopupMenu       : override;
-    wpMenuItemSelected      : override;
-    wpObjectReady           : override;
-    wpSetup                 : override;
-    wpOpen                  : override;
-
-
-    wpInitData              : override;
-    wpUnInitData            : override;
-/*    wpCreateShadowObject    : override; */
-#ifdef __PRIVATE__
-
-#endif
-
-  }; // implementation
-#endif /* __SOMIDL__ */
-};
-
-
-
-interface M_MMAudio : M_CWMMDataFile
-{
-
-    /*
-     * New class methods
-     *
-     */
-
-
-#ifdef __SOMIDL__
-  implementation {
-
-
-    /*
-     * Class Modifiers:
-     *
-     */
-
-    externalprefix = cwaudioM_;
-    externalstem = cwaudioM;
-    functionprefix = cwaudioM_;
-    majorversion = 1;
-    minorversion = 2;
-    filestem = cwaudio;           //# specifies the filestem for sc-generated files
-    dllname = "CWMM.dll";
-    callstyle = oidl;
-
-    /*
-     * Internal class variables
-     *
-     */
-
-
-    /*
-     * methods overridden 
-     *
-     */
-    wpclsCreateDefaultTemplates : override;
-    wpclsQueryInstanceType  	: override;
-    wpclsQueryInstanceFilter    : override;
-/*    wpclsQueryDetailsInfo   	: override;   */
-    wpclsQueryTitle         	: override;   
-    wpclsInitData   	        : override;
-    wpclsUnInitData   	        : override;
-    wpclsQueryDefaultView  : override;   
-    wpclsQueryIconData          : override;
-    wpclsQueryStyle             : override;
-  };
-
-#endif /* __SOMIDL__ */
-
-};
-
-
-
Index: trunk/classes/idl/idl_image/_WPOBJECT.IDL
===================================================================
--- trunk/classes/idl/idl_image/_WPOBJECT.IDL	(revision 93)
+++ 	(revision )
@@ -1,1394 +1,0 @@
-
-//  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 <sombacls.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);
-
-  BOOL  wpFilterMenu(inout FILTERFLAGS  pFlags,
-                     in    HWND         hwndCnr,
-                     in    BOOL         fMultiSelect,
-                     in    ULONG        ulMenuType,
-                     in    ULONG        ulView,
-                     in    ULONG        ulReserved);
-
-  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);
-
-  BOOL wpInsertMenuItems(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 wpModifyMenu(in HWND hwndMenu,
-                    in HWND hwndCnr,
-                    in ULONG iPosition,
-                    in ULONG ulMenuType,
-                    in ULONG ulView,
-                    in ULONG ulReserved);
-
-  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);
-
-  SGID   wpQueryScreenGroupID( in SGID   sgidPrevSgId );                       
-
-  BOOL   wpSetupOnce (in PSZ pszSetupString);
-
-  BOOL wpSetIcon(in HPOINTER hptrNewIcon);
-
-  BOOL wpSetIconData(in PICONINFO pIconInfo);
-
-  VOID wpSetMinWindow(in ULONG ulMinWindow);
-
-  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);
-
-  BOOL wpSetMenuStyle(in ULONG ulStyle);
-
-ULONG wpQueryMenuStyle();
-
-  BOOL wpIdentify(in PSZ pszIdentity);
-
-  BOOL wpSetStyle(in ULONG ulNewStyle);
-
-
-#ifdef __SOMIDL__
-  implementation {
-
-    releaseorder: wpSetTitle,wpQueryTitle,
-                  wpSetStyle,
-                  wpQueryStyle,wpSetIcon,
-                  wpQueryIcon,wpSetFolder,wpQueryFolder,
-                  wpObjectPrivate1,
-                  wpObjectPrivate2,
-                  wpSetDefaultView,wpQueryDefaultView,
-                  wpObjectPrivate3,
-                  wpSaveState,
-                  wpObjectPrivate4,
-                  wpObjectPrivate5,
-                  wpSaveLong,wpSaveString,wpSaveData,
-                  wpObjectPrivate6,
-                  wpRestoreState,
-                  wpObjectPrivate7,
-                  wpObjectPrivate8,
-                  wpRestoreLong,
-                  wpRestoreString,wpRestoreData,
-                  wpObjectPrivate9,
-                  wpAllocMem,wpFreeMem,wpAddToObjUseList,wpDeleteFromObjUseList,
-                  wpFindUseItem,wpSwitchTo,withdrawn1,wpFilterPopupMenu,
-                  wpModifyPopupMenu,wpMenuItemSelected,wpFormatDragItem,
-                  wpDrop,wpDragOver,wpRender,wpEndConversation,withdrawn10,
-                  wpObjectPrivate10,
-                  wpObjectPrivate11,
-                  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,
-                  wpObjectPrivate12,
-                  wpDelete,wpConfirmDelete,withdrawn2,withdrawn11,
-                  withdrawn7,wpRegisterView,wpIdentify,wpSetDefaultHelp,
-                  wpQueryDefaultHelp,wpDoesObjectMatch,wpCnrRefreshDetails,
-                  wpSetError,wpQueryError,wpDraggedOverObject,wpDroppedOnObject,
-                  wpSetDefaultIconPos,wpQueryDefaultIconPos,
-                  wpObjectPrivate13,
-                  wpObjectPrivate14,
-                  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,
-                  wpObjectPrivate15,
-                  wpSetTaskRec,
-                  wpObjectPrivate16,
-                  wpModifyStyle,
-                  wpObjectPrivate17,
-                  wpFindTaskRec,wpAppendObject,wpReplaceObject,
-                  wpQueryNameClashOptions,wpConfirmObjectTitle,_get_pobjNext,
-                  wpQueryContainerFlagPtr,
-                  wpObjectPrivate18,
-                  wpObjectPrivate19,
-                  wpObjectPrivate20,
-                  wpCnrDeleteUseItem,
-                  wpObjectReady, wpIsObjectInitialized,
-                  wpCreateShadowObjectExt,
-                  wpObjectPrivate21,
-                  wpObjectPrivate22,
-                  wpObjectPrivate26,
-                  wpDisplayMenu,
-                  wpWaitForClose, wpQueryScreenGroupID, wpSetupOnce,            
-                  wpAddObjectGeneralPage2,
-                  wpObjectPrivate23,
-                  wpObjectPrivate24,
-                  wpModifyMenu, wpFilterMenu, wpInsertMenuItems,                
-                  wpSetMenuStyle,wpQueryMenuStyle,                             
-                  wpObjectPrivate27,                                           
-                  wpObjectPrivate28,                                           
-                  wpObjectPrivate29,                                           
-                  wpObjectPrivate30,                                           
-                  wpQueryOpenView,                                             
-                  wpSetOpenView;                                               
-
-    externalstem = wpobj;
-    local;
-    externalprefix = obj_;
-    majorversion = 1;
-    minorversion = 2;
-    filestem = wpobject;
-    metaclass = M_WPObject;
-    callstyle = oidl;
-    dllname = "pmwp.dll";               
-
-    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"
-""
-"      #ifdef __cplusplus                                                 " 
-"            extern \"C\" {                                               " 
-"      #endif                                                             " 
-"      /* Export a convience function to find BS_NOTEBOOKBUTTON buttons */" 
-"      HWND APIENTRY WinNotebookButtonFromID(HWND hwndDlg, ULONG id);     " 
-""
-"      /* Allow applications to wait for the Shell to be available */     " 
-"      #define WWFS_QUERY            0x80000000                           " 
-"      #define WWFS_DESKTOPCREATED   1                                    " 
-"      #define WWFS_DESKTOPOPENED    2                                    " 
-"      #define WWFS_DESKTOPPOPULATED 3                                    " 
-"      BOOL APIENTRY WinWaitForShell( ULONG ulEvent );                    " 
-"      #ifdef __cplusplus                                                 " 
-"            }                                                            " 
-"      #endif                                                             " 
-"                                                                         " 
-""
-"      /* Object style flags (see wpSetStyle) */"
-""
-"      #define OBJSTYLE_NOMOVE         0x00000002"                              
-"      #define OBJSTYLE_NOLINK         0x00000004"                              
-"      #define OBJSTYLE_NOCOPY         0x00000008"                              
-"      #define OBJSTYLE_NOTDEFAULTICON 0x00000010   /* Intentionally not declared CLSSTYLE */ " 
-
-"      #define OBJSTYLE_TEMPLATE       0x00000020"                              
-"      #define OBJSTYLE_NODELETE       0x00000040"                              
-"      #define OBJSTYLE_NOPRINT        0x00000080"                              
-"      #define OBJSTYLE_NODRAG         0x00000100"                              
-"      #define OBJSTYLE_NOTVISIBLE     0x00000200"                              
-"      #define OBJSTYLE_NOSETTINGS     0x00000400"                              
-"      #define OBJSTYLE_NORENAME       0x00000800"                              
-"      #define OBJSTYLE_NODROP         0x00001000"  
-"      #define OBJSTYLE_NODROPON       0x00002000   /* Use instead of OBJSTYLE_NODROP, " 
-"                                              because OBJSTYLE_NODROP and     "
-"                                              CLSSTYLE_PRIVATE have the same  "
-"                                              value (DD 86093F) */            "
-"      #define OBJSTYLE_CUSTOMICON     0x00004000  /* Use instead of OBJSTYLE_NOTDEFAULTICON  " 
-"                                               because OBJSTYLE_NOTDEFAULTICON and    "
-"                                               CLSSTYLE_NEVERTEMPLATE have the same   "
-"                                               value (DD 86093F) */                   "
-
-"      #define OBJSTYLE_LOCKEDINPLACE  0x00020000 /* Lock an object in place */    " 
-
-""
-"      /*  Class style flags (see wpclsQueryStyle) */"
-""
-"      #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE"
-"      #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK"
-"      #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY"
-"      #define CLSSTYLE_NEVERTEMPLATE  0x00000010"                              
-"      #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        0x00001000   /* Intentionally not declared OBJSTYLE */     " 
-"      #define CLSSTYLE_NEVERSETTINGS  OBJSTYLE_NOSETTINGS                      /*DD 86093F*/ "
-"      #define CLSSTYLE_NEVERDROPON    OBJSTYLE_NODROPON                        /*DD 86093F*/ "
-"      #define CLSSTYLE_HIDDEN         0x00008000  /* Use instead of CLSSTYLE_PRIVATE          " 
-"                                                 because OBJSTYLE_NODROP and             "
-"                                                 CLSSTYLE_PRIVATE have the same          "
-"                                                 value (DD 86093F) */                    "
-"      #define CLSSTYLE_DONTTEMPLATE   0x00010000  /* Use instead of CLSSTYLE_NEVERTEMPLATE    " 
-"                                                 because OBJSTYLE_NOTDEFAULTICON and     "
-"                                                 CLSSTYLE_NEVERTEMPLATE have the same    "
-"                                                 value (DD 86093F) */                    "
-
-"      #define CLSSTYLE_ALWAYSTEMPLATE 0x00040000"                              
-""
-"      /* 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/wpFilterMenu methods */"
-""
-"      /* DWORD 0  */"
-"      #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_PROPERTIES    CTXT_SETTINGS"         
-"      #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"             
-"      #define CTXT_PUTDOWN        0x1000000"         
-"      #define CTXT_PUTDOWN_CANCEL 0x2000000"         
-"      #define CTXT_CHANGETOICON   0x4000000"         
-"      #define CTXT_CHANGETOTREE   0x8000000"         
-"      #define CTXT_CHANGETODETAILS 0x10000000"       
-"      #define CTXT_VIEW            0x20000000"       
-"      #define CTXT_PASTE           0x40000000"       
-"      #define CTXT_UNDOARRANGE     0x80000000"       
-""
-"      /* DWORD 1  */"
-"      #define CTXT_SELECTALL      0x00000001" 
-"      #define CTXT_DESELECTALL    0x00000002" 
-"      #define CTXT_OPENPARENT     0x00000004" 
-"      #define CTXT_SETUP          0x00000008" 
-"      #define CTXT_PRODINFO       0x00000010" 
-"      #define CTXT_ORIGINAL       0x00000020" 
-"      #define CTXT_LOCATEORIGINAL 0x00000040" 
-"      #define CTXT_DELETEORIGINAL 0x00000080" 
-"      #define CTXT_COPYORIGINAL   0x00000100" 
-"      #define CTXT_NOOBJECTS      0x00000200" 
-"      #define CTXT_MAXIMIZE       0x00000400" 
-"      #define CTXT_RESTORE        0x00000800" 
-"      #define CTXT_WINDOWLIST     0x00002000" 
-"      #define CTXT_CREATEPARTITION 0x00004000" 
-"      #define CTXT_COPYDISK       0x00008000" 
-"      #define CTXT_FORMATDISK     0x00010000" 
-"      #define CTXT_CHECKDISK      0x00020000" 
-"      #define CTXT_LOCKDISK       0x00040000" 
-"      #define CTXT_UNLOCKDISK     0x00080000" 
-"      #define CTXT_EJECTDISK      0x00100000" 
-"      #define CTXT_LOGIN          0x00200000" 
-"      #define CTXT_LOGOUT         0x00400000" 
-"      #define CTXT_ASSIGN         0x00800000" 
-"      #define CTXT_UNASSIGN       0x01000000" 
-"      #define CTXT_ACCESSNEW      0x02000000" 
-"      #define CTXT_DATETIME       0x04000000" 
-"      #define CTXT_LOCKEDINPLACE    0x08000000" 
-"      #define CTXT_LOCKEDINPLACEYES 0x10000000" 
-"      #define CTXT_LOCKEDINPLACENO  0x20000000" 
-"      #define CTXT_STANDARD         0x40000000" 
-"      #define CTXT_PERIMETER        0x80000000" 
-""
-"      /* DWORD 2  */"
-"      #define CTXT_SELECTEDHORZ     0x00000001" 
-"      #define CTXT_SELECTEDVERT     0x00000002" 
-"      #define CTXT_ARRANGETOP       0x00000004" 
-"      #define CTXT_LOGOFF           0x00000008" 
-"      #define CTXT_ARRANGELEFT      0x00000010" 
-"      #define CTXT_ARRANGERIGHT     0x00000020" 
-"      #define CTXT_ARRANGEBOTTOM    0x00000040" 
-"      #define CTXT_UNDOSORT         0x00000080" 
-""
-"     /* Flags for the wpDisplayMenu() method */"
-""
-"     #define MENU_OBJECTPOPUP          0x00000001"
-"     #define MENU_OPENVIEWPOPUP        0x00000002"
-"     #define MENU_TITLEBARPULLDOWN     0x00000003"
-"     #define MENU_TITLEBARPULLDOWNINT  0x00000004"
-"     #define MENU_FOLDERPULLDOWN       0x00000005" 
-"     #define MENU_VIEWPULLDOWN         0x00000006" 
-"     #define MENU_HELPPULLDOWN         0x00000007" 
-"     #define MENU_EDITPULLDOWN         0x00000008" 
-"     #define MENU_SELECTEDPULLDOWN     0x00000009" 
-"     #define MENU_FOLDERMENUBAR        0x0000000A" 
-"     #define MENU_NODISPLAY            0x40000000" 
-"     #define MENU_USER                 0x80000000"
-""
-"      typedef struct _FILTERFLAGS"        
-"      {"                                  
-"         ULONG       cbItem;"             
-"         ULONG       Flags[3];"           
-"      } FILTERFLAGS;"                     
-"      typedef FILTERFLAGS *PFILTERFLAGS;" 
-""
-"      /* 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_PUTDOWN_CREATEPROGRAMOBJECT     195                    /*rme146942*/  "
-"      #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_OPENPARENT         714                                 /*DD 86092F*/  "
-""
-"      /* menu ids for folder menu bar */"
-"      #define WPMENUID_PASTE              715                                 /*pwbopend */  "
-"      #define WPMENUID_CHANGETOICON       716                                 /*pwbopend */  "
-"      #define WPMENUID_CHANGETOTREE       717                                 /*pwbopend */  "
-"      #define WPMENUID_CHANGETODETAILS    718                                 /*pwbopend */  "
-"      #define WPMENUID_FOLDERPULLDOWN     719                                 /*pwbopend */  "
-"      #define WPMENUID_EDITPULLDOWN       720                                 /*pwbopend */  "
-"      #define WPMENUID_VIEWPULLDOWN       721                                 /*pwbopend */  "
-"      #define WPMENUID_SELECTEDPULLDOWN   722                                 /*pwbopend */  "
-"      #define WPMENUID_HELPPULLDOWN       723                                 /*pwbopend */  "
-"      #define WPMENUID_VIEW               104                                 /*pwbopend */  "
-"      #define WPMENUID_UNDOARRANGE        724                                 /*pwbopend */  "
-"      #define WPMENUID_MAXIMIZE           725                                 /*pwbopend */  "
-"      #define WPMENUID_RESTORE            726                                 /*pwbopend */  "
-"      #define WPMENUID_WINDOWLIST         728                                 /*pwbopend */  "
-"      #define WPMENUID_DOCSHELL           729                                 /*aba142270*/  "
-"      #define WPMENUID_LOCKEDINPLACE      730                                 /*lwb146937*/  "
-"      #define WPMENUID_LOCKEDINPLACEYES   731                                 /*lwb146937*/  "
-"      #define WPMENUID_LOCKEDINPLACENO    732                                 /*lwb146937*/  "
-"      #define WPMENUID_STANDARD           733                                 /*lwb146937*/  "
-"      #define WPMENUID_ARRANGETOP         734                                 /*lwb149411*/  "
-"      #define WPMENUID_ARRANGELEFT        735                                 /*lwb149411*/  "
-"      #define WPMENUID_ARRANGERIGHT       736                                 /*lwb149411*/  "
-"      #define WPMENUID_ARRANGEBOTTOM      737                                 /*lwb149411*/  "
-"      #define WPMENUID_LOGOFF             738                                 /*pgm 141223*/ "
-"      #define WPMENUID_PERIMETER          739                                 /*lwb149411*/  "
-"      #define WPMENUID_SELECTEDHORZ       740                                 /*lwb149411*/  "
-"      #define WPMENUID_SELECTEDVERT       741                                 /*lwb149411*/  "
-""
-""
-"      /*  Views for the wpOpen(), wpFilterMenu and wpModifyMenu methods */"
-""
-"      #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" 
-"      #define CLOSED_ICON        122" 
-"      #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"
-"      #define USAGE_NOTIFY         21"
-"      #define USAGE_BACKGROUNDBMP  22"                                         
-""
-"      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 */"
-"      #define VIEWSTATE_PAINTED       0x0080   /* The view was painted */"     
-""
-"      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 and USAGE_NOTIFY 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;"
-""                                                                              
-"      typedef struct _BACKGROUNDBMPITEM /* USAGE_BACKGROUNDBMP struc */"       
-"      {"                                                                       
-"         PVOID        pFolderBackground;"                                      
-"      } BACKGROUNDBMPITEM;"                                                    
-"      typedef BACKGROUNDBMPITEM *PBACKGROUNDBMPITEM;"                          
-""
-"      /* 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" 
-"      {"
-"         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" 
-"      {"
-"         ULONG cb;                /* must have length in control data! */"
-"         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" 
-"      {"
-"         /* 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         */"
-"                                         /*   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    250"
-"      #define STDNOTEBOOKHEIGHT   125"
-""
-"      /* 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;" 
-"      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;"
-"      typedef LHANDLE HABS;"
-"      #define MAXSZHFS 10       /* size of the translated string */"
-"      #define MAKE_HOBJ(base, handle) ((HOBJECT) (((ULONG)(base) & 0x00FF0000) | (((ULONG)(handle) & 0x00FF0000) << 8) | ((ULONG)(handle) & 0x0000FFFF)) )"
-"      #define BASEHANDLE_FROM_HOBJ(objh) ((ULONG) ((((objh) & 0xFF000000) >> 8) | ((objh) & 0xFFFF)))"
-"      #define HABS_FROM_HOBJ(objh) ((HABS)BASEHANDLE_FROM_HOBJ(objh))"
-"      #define HFS_FROM_HOBJ(objh) ((HFS)BASEHANDLE_FROM_HOBJ(objh))"
-"      #define BASECLS_FROM_HOBJ(objh) ((ULONG) ((objh) & 0x00FF0000))"
-"      #define MAXHANDLE  0x00FFFFFF"
-""
-"      #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"
-""                                                                              
-"    /* wpConfirmObjectTitle return values */"                                  
-"      #define NAMECLASH_CANCEL              0x00"                              
-"      #define NAMECLASH_NONE                0x01"                              
-"      #define NAMECLASH_RENAME              0x02"                              
-"      #define NAMECLASH_APPEND              0x04"                              
-"      #define NAMECLASH_REPLACE             0x08"                              
-"      #define NAMECLASH_RENAME_KEEPASSOCS   0x20"                              
-"      #define NAMECLASH_NONE_KEEPASSOCS     0x30"                              
-""                                                                              
-"    /* wpQueryNameClashOptions return values */"                               
-"      #define NO_NAMECLASH_RENAME           0x10"                              
-"      #define NO_NAMECLASH_APPEND           0x20"                              
-"      #define NO_NAMECLASH_REPLACE          0x40"                              
-"      #define NO_NAMECLASH_DIALOG           0x80"                              
-""
-"      #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 */"
-""
-"/* Identifier types for the wpIdentify() method */"
-""
-"#define ID_TYPE_DISK     'H'"
-"#define ID_TYPE_FILE     'F'"
-"#define ID_TYPE_DIR      'D'"
-"#define ID_TYPE_TRANS    'T'"
-"#define ID_TYPE_ABS      'A'"
-""                                                                      
-"/*"
-" * Passthru some stuff to the .h file"
-" */"
-"";
-
-
-    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,
-                  wpclsObjectPrivate1,
-                  wpclsSetError,
-                  wpclsQueryError,wpclsQuerySettingsPageSize,wpclsSetSettingsPageSize,
-                  wpclsQueryIconData,wpclsSetIcon,wpclsSetIconData,
-                  wpclsQueryObject,wpclsObjectFromHandle,
-                  wpclsObjectPrivate2,
-                  wpclsObjectPrivate3,
-                  wpclsObjectPrivate4,
-                  wpclsObjectPrivate5,
-                  wpclsObjectPrivate6,
-                  wpclsQueryButtonAppearance,
-                  wpclsNew,wpclsQueryFolder,
-                  wpclsObjectPrivate7,
-                  wpclsObjectPrivate8,
-                  wpclsRemoveObjects,wpclsInsertMultipleObjects,
-                  wpclsObjectPrivate9,
-                  wpclsFindOneObject,
-                  wpclsObjectPrivate10;
-
-    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 */
-
Index: trunk/classes/idl/idl_image/_cwbmp.idl
===================================================================
--- trunk/classes/idl/idl_image/_cwbmp.idl	(revision 93)
+++ 	(revision )
@@ -1,127 +1,0 @@
-
-/*
- * CWBmp.idl:
- */
-
-#include <wpbitmap.idl>
-
-/*
-   CLASS: 
-*/
-
-interface M_CWBitmap; 
-
-interface CWBitmap : WPBitmap
-{
-
-    /*
-     * New instance methods
-     *
-     */
-
-	ULONG cwmmAddImageInformationPage(in HWND hwndNotebook);
-    HBITMAP cwmmQuerySmallBitmapHandle(in ULONG ulSize);
-    void cwmmFreeBitmaps();  
-    void cwmmFreeSmallBitmap();
-    PBYTE cwmmQueryBitmapInfoHeader();
-
-#ifdef __SOMIDL__
-  implementation {
-    releaseorder:     	cwmmAddImageInformationPage,
-   cwmmQuerySmallBitmapHandle,
-    cwmmFreeBitmaps, cwmmFreeSmallBitmap, cwmmQueryBitmapInfoHeader;
-
-    /*
-     * Class Modifiers:
-     *
-     */
-
-    externalprefix = cwbmp_;
-    externalstem = cwbmp;
-    majorversion = 1;
-    minorversion = 2;
-    filestem = cwbmp;           //# specifies the filestem for sc-generated files
-    metaclass = M_CWBitmap;
-    dllname = "cwimage.dll";
-    callstyle = oidl;
-
-
-    /*
-     * Internal instance variables
-     *
-     */
-    HBITMAP hBitmapSmall;   /* (Lighttable)Icon size bitmap */
-    ULONG   ulSizeSmallBitmap;
-    PBYTE   pBmpInfoHeader2;
-    char    chrIOProcName[64];
-/*    BOOL   bNoIOProcAvailable;*/
-    /*
-     * methods overridden 
-     *
-     */
-    wpModifyPopupMenu       : override;
-    wpMenuItemSelected      : override;
-    wpOpen                  : override;
-    wpAddSettingsPages      : override;
-    wpUnInitData:   override;
-    wpInitData:   override;
-    wpQueryDetailsData      : override; 
-#ifdef __PRIVATE__
-
-#endif
-
-  }; // implementation
-#endif /* __SOMIDL__ */
-};
-
-
-interface M_CWBitmap : M_WPBitmap
-{
-
-    /*
-     * New class methods
-     *
-     */
-
-
-#ifdef __SOMIDL__
-  implementation {
-
-
-    /*
-     * Class Modifiers:
-     *
-     */
-
-    externalprefix = cwbmpM_;
-    externalstem = cwbmpM;
-    functionprefix = cwbmpM_;
-    majorversion = 1;
-    minorversion = 2;
-    filestem = cwbmp;           //# specifies the filestem for sc-generated files
-    dllname = "cwimage.dll";
-    callstyle = oidl;
-
-    /*
-     * Internal class variables
-     *
-     */
-
-    /*
-     * methods overridden 
-     *
-     */
-
-    wpclsQueryDefaultView : override;
-    wpclsQueryIconData          : override;
-    wpclsQueryDetailsInfo   	: override;
-    wpclsInitData   : override;  
-  };
-
-#endif /* __SOMIDL__ */
-
-};
-
-
-
-
Index: trunk/classes/idl/idl_mm/_cwmmdataf.idl
===================================================================
--- trunk/classes/idl/idl_mm/_cwmmdataf.idl	(revision 93)
+++ 	(revision )
@@ -1,177 +1,0 @@
-/*
- * (C) Chris Wohlgemuth 2002-2003
- *
- */
-/*
- * This program is free software; you can redistribute it and/or modify
- * it under the terms of the GNU General Public License as published by
- * the Free Software Foundation; either version 2, or (at your option)
- * any later version.
- *
- * This program is distributed in the hope that it will be useful,
- * but WITHOUT ANY WARRANTY; without even the implied warranty of
- * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- * GNU General Public License for more details.
- *
- * You should have received a copy of the GNU General Public License
- * along with this program; see the file COPYING.  If not, write to
- * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
- */          
-/*
- * If you need another license for your project/product (commercial,
- * noncommercial, whatever) contact me at
- * 
- * http://www.os2world.com/cdwriting
- * http://www.geocities.com/SiliconValley/Sector/5785/
- *
- */
-
-/*
- * cwmmdataf.idl
- */
-
-#include <wpdataf.idl>
-
-/*
-   CLASS: CWMMDataFile
-*/
-
-interface M_CWMMDataFile; 
-
-interface CWMMDataFile : WPDataFile
-{
-
-    /*
-     * New instance methods
-     *
-     */
-	PFNWP cwmmSetObjWindowProc(in PFNWP pObjectProc);
-	PFNWP cwmmQueryObjWindowProc();
-    BOOL  cwmmSetRecordTitles(in PSZ pTitle, in BOOL bAddToTitle);
-    ULONG cwmmQueryTrackStatus();
-
-    /* Object window handling the start/stop/pause/resume commands. */
-    attribute  HWND hwndObjectPlay;
-    /* Saved view while playing. */
-    attribute ULONG ulPreviousView;
-    /* This var holds the current status: stopped, playing, paused... */
-    attribute ULONG ulTrackStatus;
-
-#ifdef __SOMIDL__
-  implementation {
-
-	releaseorder:
-		cwmmSetObjWindowProc,
-		cwmmQueryObjWindowProc,
-        cwmmSetRecordTitles,
-        cwmmQueryTrackStatus,
-        _get_hwndObjectPlay,
-        _set_hwndObjectPlay,
-        _get_ulPreviousView,
-        _set_ulPreviousView,
-        _get_ulTrackStatus,
-        _set_ulTrackStatus;
-    /*
-     * Class Modifiers:
-     *
-     */
-
-    externalprefix = cwmmdatafile_;
-    externalstem = cwmmdatafile;
-    majorversion = 1;
-    minorversion = 2;
-    filestem = cwmmdataf;           //# specifies the filestem for sc-generated files
-    metaclass = M_CWMMDataFile;
-    dllname = "cwmm.dll";
-    callstyle = oidl;
-
-    /*
-     * Internal instance variables
-     *
-     */
-    /* This object window procedure handles the start/stop commands. It has to be set by a subclass. */
-    PFNWP pfnwpObjectProc;
-    /* The alternative object title to be drawn in a container when playing. */
-    char chrRecordTitle[CCHMAXPATH];
-    /* Saved title for restoring. */
-    PSZ pOrgTitle;
-
-    /*
-     *  methods overridden 
-     *
-     */
-    wpFilterPopupMenu	    : override;
-    wpAddSettingsPages      : override;
-    wpModifyPopupMenu       : override;
-    wpSetTitle              : override;
-    wpQueryTitle            : override;
-#ifdef __PRIVATE__
-
-#endif
-
-  }; // implementation
-#endif /* __SOMIDL__ */
-};
-
-
-interface M_CWMMDataFile : M_WPDataFile
-{
-
-    /*
-     * New class methods
-     *
-     */
-
-    /* Window which receives messages asking for scanning audio files. */   
-    readonly attribute HWND hwndAudioWorker; 
-    /* Status window handle for message when scanning audio files. */
-	readonly attribute HWND hwndStatus;
-
-#ifdef __SOMIDL__
-  implementation {
-    /*
-     * Class Modifiers:
-     *
-     */
-    releaseorder:
-        _get_hwndAudioWorker,
-        _get_hwndStatus;
-
-    externalprefix = cwmmdatafileM_;
-    externalstem = cwmmdatafileM;
-    functionprefix = cwmmdatafileM_;
-    majorversion = 1;
-    minorversion = 2;
-    filestem = cwmmdataf;           //# specifies the filestem for sc-generated files
-    dllname = "cwmm.DLL";
-    callstyle = oidl;
-
-    /*
-     * Internal class variables
-     *
-     */
-    /* Window which receives messages asking for scanning audio files. */
-/*   HWND hwndAudioWorker;*/
-    /* Should we draw extended object titles in containers while playing? */
-    BOOL    bNoExtendedIconTitles;
-
-    /*
-     *  methods overridden 
-     *
-     */
-	wpclsCreateDefaultTemplates     : override;
-	wpclsQueryTitle         	: override;
-	wpclsQueryIconData      	: override;
-	wpclsInitData      	        : override;
-	wpclsUnInitData      	        : override;
-	wpclsQueryStyle                 : override;
-  };
-
-#endif /* __SOMIDL__ */
-
-};
-
-
-
-
-
Index: trunk/classes/inc/__wpobject.h
===================================================================
--- trunk/classes/inc/__wpobject.h	(revision 93)
+++ 	(revision )
@@ -1,4889 +1,0 @@
-
-/*
- * This file was generated by the SOM Compiler.
- * FileName: h:\include\wpobject.h.
- * Generated using:
- *     SOM Precompiler somipc: 2.29.1.17
- *     SOM Emitter emith: 2.47
- */
-
-/*
- *   Module Header
- * 
- *   Module Name: WPTYPES
- * 
- *   OS/2 Presentation Manager Workplace class definitions
- * 
- *   Copyright (c) International Business Machines Corporation 1994
- * 
- */
-
-
-#ifndef SOM_WPObject_h
-#define SOM_WPObject_h
-
-
-/*
- * Passthru lines: File: "C.h", "before"
- */
-
-   #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
-
-      #ifdef __cplusplus                                                 
-            extern "C" {                                               
-      #endif                                                             
-      /* Export a convience function to find BS_NOTEBOOKBUTTON buttons */
-      HWND APIENTRY WinNotebookButtonFromID(HWND hwndDlg, ULONG id);     
-
-      /* Allow applications to wait for the Shell to be available */     
-      #define WWFS_QUERY            0x80000000                           
-      #define WWFS_DESKTOPCREATED   1                                    
-      #define WWFS_DESKTOPOPENED    2                                    
-      #define WWFS_DESKTOPPOPULATED 3                                    
-      BOOL APIENTRY WinWaitForShell( ULONG ulEvent );                    
-      #ifdef __cplusplus                                                 
-            }                                                            
-      #endif                                                             
-                                                                         
-
-      /* Object style flags (see wpSetStyle) */
-
-      #define OBJSTYLE_NOMOVE         0x00000002
-      #define OBJSTYLE_NOLINK         0x00000004
-      #define OBJSTYLE_NOCOPY         0x00000008
-      #define OBJSTYLE_NOTDEFAULTICON 0x00000010   /* Intentionally not declared CLSSTYLE */ 
-      #define OBJSTYLE_TEMPLATE       0x00000020
-      #define OBJSTYLE_NODELETE       0x00000040
-      #define OBJSTYLE_NOPRINT        0x00000080
-      #define OBJSTYLE_NODRAG         0x00000100
-      #define OBJSTYLE_NOTVISIBLE     0x00000200
-      #define OBJSTYLE_NOSETTINGS     0x00000400
-      #define OBJSTYLE_NORENAME       0x00000800
-      #define OBJSTYLE_NODROP         0x00001000
-      #define OBJSTYLE_NODROPON       0x00002000   /* Use instead of OBJSTYLE_NODROP, 
-                                              because OBJSTYLE_NODROP and     
-                                              CLSSTYLE_PRIVATE have the same  
-                                              value (DD 86093F) */            
-      #define OBJSTYLE_CUSTOMICON     0x00004000  /* Use instead of OBJSTYLE_NOTDEFAULTICON  
-                                               because OBJSTYLE_NOTDEFAULTICON and    
-                                               CLSSTYLE_NEVERTEMPLATE have the same   
-                                               value (DD 86093F) */                   
-      #define OBJSTYLE_LOCKEDINPLACE  0x00020000 /* Lock an object in place */    
-
-      /*  Class style flags (see wpclsQueryStyle) */
-
-      #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE
-      #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK
-      #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY
-      #define CLSSTYLE_NEVERTEMPLATE  0x00000010
-      #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        0x00001000   /* Intentionally not declared OBJSTYLE */     
-      #define CLSSTYLE_NEVERSETTINGS  OBJSTYLE_NOSETTINGS                      /*DD 86093F*/ 
-      #define CLSSTYLE_NEVERDROPON    OBJSTYLE_NODROPON                        /*DD 86093F*/ 
-      #define CLSSTYLE_HIDDEN         0x00008000  /* Use instead of CLSSTYLE_PRIVATE          
-                                                 because OBJSTYLE_NODROP and             
-                                                 CLSSTYLE_PRIVATE have the same          
-                                                 value (DD 86093F) */                    
-      #define CLSSTYLE_DONTTEMPLATE   0x00010000  /* Use instead of CLSSTYLE_NEVERTEMPLATE    
-                                                 because OBJSTYLE_NOTDEFAULTICON and     
-                                                 CLSSTYLE_NEVERTEMPLATE have the same    
-                                                 value (DD 86093F) */                    
-      #define CLSSTYLE_ALWAYSTEMPLATE 0x00040000
-
-      /* 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/wpFilterMenu methods */
-
-      /* DWORD 0  */
-      #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_PROPERTIES    CTXT_SETTINGS
-      #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
-      #define CTXT_PUTDOWN        0x1000000
-      #define CTXT_PUTDOWN_CANCEL 0x2000000
-      #define CTXT_CHANGETOICON   0x4000000
-      #define CTXT_CHANGETOTREE   0x8000000
-      #define CTXT_CHANGETODETAILS 0x10000000
-      #define CTXT_VIEW            0x20000000
-      #define CTXT_PASTE           0x40000000
-      #define CTXT_UNDOARRANGE     0x80000000
-
-      /* DWORD 1  */
-      #define CTXT_SELECTALL      0x00000001
-      #define CTXT_DESELECTALL    0x00000002
-      #define CTXT_OPENPARENT     0x00000004
-      #define CTXT_SETUP          0x00000008
-      #define CTXT_PRODINFO       0x00000010
-      #define CTXT_ORIGINAL       0x00000020
-      #define CTXT_LOCATEORIGINAL 0x00000040
-      #define CTXT_DELETEORIGINAL 0x00000080
-      #define CTXT_COPYORIGINAL   0x00000100
-      #define CTXT_NOOBJECTS      0x00000200
-      #define CTXT_MAXIMIZE       0x00000400
-      #define CTXT_RESTORE        0x00000800
-      #define CTXT_WINDOWLIST     0x00002000
-      #define CTXT_CREATEPARTITION 0x00004000
-      #define CTXT_COPYDISK       0x00008000
-      #define CTXT_FORMATDISK     0x00010000
-      #define CTXT_CHECKDISK      0x00020000
-      #define CTXT_LOCKDISK       0x00040000
-      #define CTXT_UNLOCKDISK     0x00080000
-      #define CTXT_EJECTDISK      0x00100000
-      #define CTXT_LOGIN          0x00200000
-      #define CTXT_LOGOUT         0x00400000
-      #define CTXT_ASSIGN         0x00800000
-      #define CTXT_UNASSIGN       0x01000000
-      #define CTXT_ACCESSNEW      0x02000000
-      #define CTXT_DATETIME       0x04000000
-      #define CTXT_LOCKEDINPLACE    0x08000000
-      #define CTXT_LOCKEDINPLACEYES 0x10000000
-      #define CTXT_LOCKEDINPLACENO  0x20000000
-      #define CTXT_STANDARD         0x40000000
-      #define CTXT_PERIMETER        0x80000000
-
-      /* DWORD 2  */
-      #define CTXT_SELECTEDHORZ     0x00000001
-      #define CTXT_SELECTEDVERT     0x00000002
-      #define CTXT_ARRANGETOP       0x00000004
-      #define CTXT_LOGOFF           0x00000008
-      #define CTXT_ARRANGELEFT      0x00000010
-      #define CTXT_ARRANGERIGHT     0x00000020
-      #define CTXT_ARRANGEBOTTOM    0x00000040
-      #define CTXT_UNDOSORT         0x00000080
-
-     /* Flags for the wpDisplayMenu() method */
-
-     #define MENU_OBJECTPOPUP          0x00000001
-     #define MENU_OPENVIEWPOPUP        0x00000002
-     #define MENU_TITLEBARPULLDOWN     0x00000003
-     #define MENU_TITLEBARPULLDOWNINT  0x00000004
-     #define MENU_FOLDERPULLDOWN       0x00000005
-     #define MENU_VIEWPULLDOWN         0x00000006
-     #define MENU_HELPPULLDOWN         0x00000007
-     #define MENU_EDITPULLDOWN         0x00000008
-     #define MENU_SELECTEDPULLDOWN     0x00000009
-     #define MENU_FOLDERMENUBAR        0x0000000A
-     #define MENU_NODISPLAY            0x40000000
-     #define MENU_USER                 0x80000000
-
-      typedef struct _FILTERFLAGS
-      {
-         ULONG       cbItem;
-         ULONG       Flags[3];
-      } FILTERFLAGS;
-      typedef FILTERFLAGS *PFILTERFLAGS;
-
-      /* 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_PUTDOWN_CREATEPROGRAMOBJECT     195                    /*rme146942*/  
-      #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_OPENPARENT         714                                 /*DD 86092F*/  
-
-      /* menu ids for folder menu bar */
-      #define WPMENUID_PASTE              715                                 /*pwbopend */  
-      #define WPMENUID_CHANGETOICON       716                                 /*pwbopend */  
-      #define WPMENUID_CHANGETOTREE       717                                 /*pwbopend */  
-      #define WPMENUID_CHANGETODETAILS    718                                 /*pwbopend */  
-      #define WPMENUID_FOLDERPULLDOWN     719                                 /*pwbopend */  
-      #define WPMENUID_EDITPULLDOWN       720                                 /*pwbopend */  
-      #define WPMENUID_VIEWPULLDOWN       721                                 /*pwbopend */  
-      #define WPMENUID_SELECTEDPULLDOWN   722                                 /*pwbopend */  
-      #define WPMENUID_HELPPULLDOWN       723                                 /*pwbopend */  
-      #define WPMENUID_VIEW               104                                 /*pwbopend */  
-      #define WPMENUID_UNDOARRANGE        724                                 /*pwbopend */  
-      #define WPMENUID_MAXIMIZE           725                                 /*pwbopend */  
-      #define WPMENUID_RESTORE            726                                 /*pwbopend */  
-      #define WPMENUID_WINDOWLIST         728                                 /*pwbopend */  
-      #define WPMENUID_DOCSHELL           729                                 /*aba142270*/  
-      #define WPMENUID_LOCKEDINPLACE      730                                 /*lwb146937*/  
-      #define WPMENUID_LOCKEDINPLACEYES   731                                 /*lwb146937*/  
-      #define WPMENUID_LOCKEDINPLACENO    732                                 /*lwb146937*/  
-      #define WPMENUID_STANDARD           733                                 /*lwb146937*/  
-      #define WPMENUID_ARRANGETOP         734                                 /*lwb149411*/  
-      #define WPMENUID_ARRANGELEFT        735                                 /*lwb149411*/  
-      #define WPMENUID_ARRANGERIGHT       736                                 /*lwb149411*/  
-      #define WPMENUID_ARRANGEBOTTOM      737                                 /*lwb149411*/  
-      #define WPMENUID_LOGOFF             738                                 /*pgm 141223*/ 
-      #define WPMENUID_PERIMETER          739                                 /*lwb149411*/  
-      #define WPMENUID_SELECTEDHORZ       740                                 /*lwb149411*/  
-      #define WPMENUID_SELECTEDVERT       741                                 /*lwb149411*/  
-
-
-      /*  Views for the wpOpen(), wpFilterMenu and wpModifyMenu methods */
-
-      #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
-      #define CLOSED_ICON        122
-      #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
-      #define USAGE_NOTIFY         21
-      #define USAGE_BACKGROUNDBMP  22
-
-      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 */
-      #define VIEWSTATE_PAINTED       0x0080   /* The view was painted */
-
-      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 and USAGE_NOTIFY 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;
-
-      typedef struct _BACKGROUNDBMPITEM /* USAGE_BACKGROUNDBMP struc */
-      {
-         PVOID        pFolderBackground;
-      } BACKGROUNDBMPITEM;
-      typedef BACKGROUNDBMPITEM *PBACKGROUNDBMPITEM;
-
-      /* 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
-      {
-         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
-      {
-         ULONG cb;                /* must have length in control data! */
-         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
-      {
-         /* 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         */
-                                         /*   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    250
-      #define STDNOTEBOOKHEIGHT   125
-
-      /* 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;
-      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;
-      typedef LHANDLE HABS;
-      #define MAXSZHFS 10       /* size of the translated string */
-      #define MAKE_HOBJ(base, handle) ((HOBJECT) (((ULONG)(base) & 0x00FF0000) | (((ULONG)(handle) & 0x00FF0000) << 8) | ((ULONG)(handle) & 0x0000FFFF)) )
-      #define BASEHANDLE_FROM_HOBJ(objh) ((ULONG) ((((objh) & 0xFF000000) >> 8) | ((objh) & 0xFFFF)))
-      #define HABS_FROM_HOBJ(objh) ((HABS)BASEHANDLE_FROM_HOBJ(objh))
-      #define HFS_FROM_HOBJ(objh) ((HFS)BASEHANDLE_FROM_HOBJ(objh))
-      #define BASECLS_FROM_HOBJ(objh) ((ULONG) ((objh) & 0x00FF0000))
-      #define MAXHANDLE  0x00FFFFFF
-
-      #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
-
-    /* wpConfirmObjectTitle return values */
-      #define NAMECLASH_CANCEL              0x00
-      #define NAMECLASH_NONE                0x01
-      #define NAMECLASH_RENAME              0x02
-      #define NAMECLASH_APPEND              0x04
-      #define NAMECLASH_REPLACE             0x08
-      #define NAMECLASH_RENAME_KEEPASSOCS   0x20
-      #define NAMECLASH_NONE_KEEPASSOCS     0x30
-
-    /* wpQueryNameClashOptions return values */
-      #define NO_NAMECLASH_RENAME           0x10
-      #define NO_NAMECLASH_APPEND           0x20
-      #define NO_NAMECLASH_REPLACE          0x40
-      #define NO_NAMECLASH_DIALOG           0x80
-
-      #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 */
-
-/* Identifier types for the wpIdentify() method */
-
-#define ID_TYPE_DISK     'H'
-#define ID_TYPE_FILE     'F'
-#define ID_TYPE_DIR      'D'
-#define ID_TYPE_TRANS    'T'
-#define ID_TYPE_ABS      'A'
-
-/*
- * Passthru some stuff to the .h file
- */
-
-
-#include <som.h>
-
-/*
- * -- This emitter treats Method Tokens as Thunks by default.
- * -- Use the sc modifier "nothunks" to change this default
- */
-#undef somresolve_
-#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
-/*
- * Define the class name as an object type
- */
-#ifndef WPObject
-#define WPObject SOMObject
-#endif
-#include <somobj.h>
-
-/*
- * Start of bindings for IDL types
- */
-
-#ifndef SOMClass
-    #define SOMClass SOMObject
-#endif /* SOMClass */
-#ifndef WPFolder
-    #define WPFolder SOMObject
-#endif /* WPFolder */
-#ifndef M_WPObject
-    #define M_WPObject SOMObject
-#endif /* M_WPObject */
-#ifndef WPObject
-    #define WPObject SOMObject
-#endif /* WPObject */
-#ifndef WPImageFile
-    #define WPImageFile SOMObject
-#endif /* WPImageFile */
-
-/*
- * End of bindings for IDL types.
- */
-
-#define WPObject_MajorVersion 1
-#define WPObject_MinorVersion 2
-
-/*
- * External name shortening if required
- */
-#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
-#define WPObjectNewClass wpobjc
-#pragma linkage(wpobjc, system)
-#define WPObjectClassData wpobjd
-#define WPObjectCClassData wpobjx
-#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
-/*--------------Migration------------*/
-#define WPObject_classObj WPObjectClassData.classObject
-#define _WPObject WPObject_classObj
-
-/*
- * Declare the class creation procedure
- */
-SOMEXTERN SOMClass * SOMLINK WPObjectNewClass(integer4 somtmajorVersion,
-		integer4 somtminorVersion);
-#pragma linkage(WPObjectNewClass, system)
-
-/*
- * Declare the class data structure
- */
-SOMEXTERN struct WPObjectClassDataStructure {
-	SOMClass *classObject;
-	somMToken wpSetTitle;
-	somMToken wpQueryTitle;
-	somMToken wpSetStyle;
-	somMToken wpQueryStyle;
-	somMToken wpSetIcon;
-	somMToken wpQueryIcon;
-	somMToken wpSetFolder;
-	somMToken wpQueryFolder;
-	somMToken wpSetNextObj;
-	somMToken wpQueryNextObj;
-	somMToken wpSetDefaultView;
-	somMToken wpQueryDefaultView;
-	somMToken wpMakeDormant;
-	somMToken wpSaveState;
-	somMToken wpBeginSave;
-	somMToken wpEndSave;
-	somMToken wpSaveLong;
-	somMToken wpSaveString;
-	somMToken wpSaveData;
-	somMToken wpAppendSaveData;
-	somMToken wpRestoreState;
-	somMToken wpBeginRestore;
-	somMToken wpEndRestore;
-	somMToken wpRestoreLong;
-	somMToken wpRestoreString;
-	somMToken wpRestoreData;
-	somMToken wpExtractRestoreData;
-	somMToken wpAllocMem;
-	somMToken wpFreeMem;
-	somMToken wpAddToObjUseList;
-	somMToken wpDeleteFromObjUseList;
-	somMToken wpFindUseItem;
-	somMToken wpSwitchTo;
-	somMToken withdrawn1;
-	somMToken wpFilterPopupMenu;
-	somMToken wpModifyPopupMenu;
-	somMToken wpMenuItemSelected;
-	somMToken wpFormatDragItem;
-	somMToken wpDrop;
-	somMToken wpDragOver;
-	somMToken wpRender;
-	somMToken wpEndConversation;
-	somMToken withdrawn10;
-	somMToken wpMakeObject;
-	somMToken wpDestroyObject;
-	somMToken wpFree;
-	somMToken wpCopiedFromTemplate;
-	somMToken wpAddSettingsPages;
-	somMToken wpAddObjectGeneralPage;
-	somMToken wpDisplayHelp;
-	somMToken wpMenuItemHelpSelected;
-	somMToken wpInsertSettingsPage;
-	somMToken wpInsertPopupMenuItems;
-	somMToken withdrawn5;
-	somMToken withdrawn6;
-	somMToken withdrawn4;
-	somMToken withdrawn3;
-	somMToken wpCnrInsertObject;
-	somMToken wpCnrRemoveObject;
-	somMToken wpInitData;
-	somMToken wpUnInitData;
-	somMToken wpSetup;
-	somMToken wpScanSetupString;
-	somMToken wpSaveImmediate;
-	somMToken wpOpen;
-	somMToken wpClose;
-	somMToken wpHide;
-	somMToken wpRestore;
-	somMToken wpSetIconData;
-	somMToken wpQueryIconData;
-	somMToken wpQueryIconSaved;
-	somMToken wpDelete;
-	somMToken wpConfirmDelete;
-	somMToken withdrawn2;
-	somMToken withdrawn11;
-	somMToken withdrawn7;
-	somMToken wpRegisterView;
-	somMToken wpIdentify;
-	somMToken wpSetDefaultHelp;
-	somMToken wpQueryDefaultHelp;
-	somMToken wpDoesObjectMatch;
-	somMToken wpCnrRefreshDetails;
-	somMToken wpSetError;
-	somMToken wpQueryError;
-	somMToken wpDraggedOverObject;
-	somMToken wpDroppedOnObject;
-	somMToken wpSetDefaultIconPos;
-	somMToken wpQueryDefaultIconPos;
-	somMToken wpSetState;
-	somMToken wpQueryState;
-	somMToken wpSetObjectID;
-	somMToken wpQueryObjectID;
-	somMToken wpIsDeleteable;
-	somMToken wpQueryHandle;
-	somMToken wpSaveDeferred;
-	somMToken wpAddObjectWindowPage;
-	somMToken wpQueryConcurrentView;
-	somMToken wpSetConcurrentView;
-	somMToken wpQueryMinWindow;
-	somMToken wpSetMinWindow;
-	somMToken wpViewObject;
-	somMToken wpQueryButtonAppearance;
-	somMToken wpSetButtonAppearance;
-	somMToken wpQueryConfirmations;
-	somMToken wpCnrSetEmphasis;
-	somMToken wpQueryCoreRecord;
-	somMToken wpFindViewItem;
-	somMToken wpCreateFromTemplate;
-	somMethodProc *wpQueryTrueStyle;
-	somMToken wpAssertObjectMutexSem;
-	somMToken wpReleaseObjectMutexSem;
-	somMToken wpRequestObjectMutexSem;
-	somMToken wpCreateAnother;
-	somMToken wpCreateShadowObject;
-	somMToken wpCopyObject;
-	somMToken wpMoveObject;
-	somMToken wpLockObject;
-	somMToken wpUnlockObject;
-	somMToken wpIsLocked;
-	somMToken wpRenderComplete;
-	somMToken wpQueryDetailsData;
-	somMToken wpPrintObject;
-	somMToken wpQueryTaskRec;
-	somMToken wpSetTaskRec;
-	somMToken wpSnoozeNotify;
-	somMToken wpModifyStyle;
-	somMToken wpSetInsertState;
-	somMToken wpFindTaskRec;
-	somMToken wpAppendObject;
-	somMToken wpReplaceObject;
-	somMToken wpQueryNameClashOptions;
-	somMToken wpConfirmObjectTitle;
-	somMToken _get_pobjNext;
-	somMToken wpQueryContainerFlagPtr;
-	somMToken wpAddWindowPosKey;
-	somMToken wpDeleteWindowPosKeys;
-	somMToken wpObjectInsertPreparation;
-	somMToken wpCnrDeleteUseItem;
-	somMToken wpObjectReady;
-	somMToken wpIsObjectInitialized;
-	somMToken wpCreateShadowObjectExt;
-	somMToken wpSetIconHandle;
-	somMToken wpQueryContainer;
-	somMToken wpSetContainer;
-	somMToken wpDisplayMenu;
-	somMToken wpWaitForClose;
-	somMToken wpQueryScreenGroupID;
-	somMToken wpSetupOnce;
-	somMToken wpAddObjectGeneralPage2;
-	somMToken wpFindTaskRec2;
-	somMToken wpModifyState;
-	somMToken wpModifyMenu;
-	somMToken wpFilterMenu;
-	somMToken wpInsertMenuItems;
-	somMToken wpSetMenuStyle;
-	somMToken wpQueryMenuStyle;
-	somMToken wpObjectPrivate27;
-	somMToken wpObjectPrivate28;
-	somMToken wpObjectPrivate29;
-	somMToken wpObjectPrivate30;
-} SOMDLINK WPObjectClassData;
-
-/*
- * Declare the C specific class data structure
- */
-SOMEXTERN struct WPObjectCClassDataStructure {
-	somMethodTabs parentMtab;
-	somDToken instanceDataToken;
-} SOMDLINK WPObjectCClassData;
-
-/*
- * New and Renew macros for WPObject
- */
-#define WPObjectNew() \
-   ( _WPObject ? \
-	_somNew(_WPObject) \
-	: ( WPObjectNewClass(\
-		WPObject_MajorVersion, \
-		WPObject_MinorVersion),\
-	   _somNew(_WPObject)))
-#define WPObjectRenew(buf) \
-   ( _WPObject ? \
-	_somRenew(_WPObject, buf) \
-	: ( WPObjectNewClass(\
-		WPObject_MajorVersion, \
-		WPObject_MinorVersion),\
-	   _somRenew(_WPObject, buf)))
-
-/*
- * Override method: somInit
- */
-#define WPObject_somInit(somSelf) \
-	SOMObject_somInit(somSelf)
-
-/*
- * Override method: somUninit
- */
-#define WPObject_somUninit(somSelf) \
-	SOMObject_somUninit(somSelf)
-
-/*
- * Override method: somDefaultInit
- */
-#define WPObject_somDefaultInit(somSelf,ctrl) \
-	SOMObject_somDefaultInit(somSelf,ctrl)
-
-/*
- * Override method: somDestruct
- */
-#define WPObject_somDestruct(somSelf,doFree,ctrl) \
-	SOMObject_somDestruct(somSelf,doFree,ctrl)
-
-/*
- * New Method: wpAddObjectGeneralPage
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectGeneralPage(WPObject *somSelf, 
-		HWND hwndNotebook);
-#pragma linkage(somTP_WPObject_wpAddObjectGeneralPage, system)
-typedef somTP_WPObject_wpAddObjectGeneralPage *somTD_WPObject_wpAddObjectGeneralPage;
-#define somMD_WPObject_wpAddObjectGeneralPage "::WPObject::wpAddObjectGeneralPage"
-#define WPObject_wpAddObjectGeneralPage(somSelf,hwndNotebook) \
-    (SOM_Resolve(somSelf, WPObject, wpAddObjectGeneralPage) \
-	(somSelf,hwndNotebook))
-#ifndef SOMGD_wpAddObjectGeneralPage
-    #if (defined(_wpAddObjectGeneralPage) || defined(__wpAddObjectGeneralPage))
-        #undef _wpAddObjectGeneralPage
-        #undef __wpAddObjectGeneralPage
-        #define SOMGD_wpAddObjectGeneralPage 1
-    #else
-        #define _wpAddObjectGeneralPage WPObject_wpAddObjectGeneralPage
-    #endif /* _wpAddObjectGeneralPage */
-#endif /* SOMGD_wpAddObjectGeneralPage */
-
-/*
- * New Method: wpAddObjectGeneralPage2
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectGeneralPage2(WPObject *somSelf, 
-		HWND hwndNotebook);
-#pragma linkage(somTP_WPObject_wpAddObjectGeneralPage2, system)
-typedef somTP_WPObject_wpAddObjectGeneralPage2 *somTD_WPObject_wpAddObjectGeneralPage2;
-#define somMD_WPObject_wpAddObjectGeneralPage2 "::WPObject::wpAddObjectGeneralPage2"
-#define WPObject_wpAddObjectGeneralPage2(somSelf,hwndNotebook) \
-    (SOM_Resolve(somSelf, WPObject, wpAddObjectGeneralPage2) \
-	(somSelf,hwndNotebook))
-#ifndef SOMGD_wpAddObjectGeneralPage2
-    #if (defined(_wpAddObjectGeneralPage2) || defined(__wpAddObjectGeneralPage2))
-        #undef _wpAddObjectGeneralPage2
-        #undef __wpAddObjectGeneralPage2
-        #define SOMGD_wpAddObjectGeneralPage2 1
-    #else
-        #define _wpAddObjectGeneralPage2 WPObject_wpAddObjectGeneralPage2
-    #endif /* _wpAddObjectGeneralPage2 */
-#endif /* SOMGD_wpAddObjectGeneralPage2 */
-
-/*
- * New Method: wpAddObjectWindowPage
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectWindowPage(WPObject *somSelf, 
-		HWND hwndNotebook);
-#pragma linkage(somTP_WPObject_wpAddObjectWindowPage, system)
-typedef somTP_WPObject_wpAddObjectWindowPage *somTD_WPObject_wpAddObjectWindowPage;
-#define somMD_WPObject_wpAddObjectWindowPage "::WPObject::wpAddObjectWindowPage"
-#define WPObject_wpAddObjectWindowPage(somSelf,hwndNotebook) \
-    (SOM_Resolve(somSelf, WPObject, wpAddObjectWindowPage) \
-	(somSelf,hwndNotebook))
-#ifndef SOMGD_wpAddObjectWindowPage
-    #if (defined(_wpAddObjectWindowPage) || defined(__wpAddObjectWindowPage))
-        #undef _wpAddObjectWindowPage
-        #undef __wpAddObjectWindowPage
-        #define SOMGD_wpAddObjectWindowPage 1
-    #else
-        #define _wpAddObjectWindowPage WPObject_wpAddObjectWindowPage
-    #endif /* _wpAddObjectWindowPage */
-#endif /* SOMGD_wpAddObjectWindowPage */
-
-/*
- * New Method: wpAddSettingsPages
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpAddSettingsPages(WPObject *somSelf, 
-		HWND hwndNotebook);
-#pragma linkage(somTP_WPObject_wpAddSettingsPages, system)
-typedef somTP_WPObject_wpAddSettingsPages *somTD_WPObject_wpAddSettingsPages;
-#define somMD_WPObject_wpAddSettingsPages "::WPObject::wpAddSettingsPages"
-#define WPObject_wpAddSettingsPages(somSelf,hwndNotebook) \
-    (SOM_Resolve(somSelf, WPObject, wpAddSettingsPages) \
-	(somSelf,hwndNotebook))
-#ifndef SOMGD_wpAddSettingsPages
-    #if (defined(_wpAddSettingsPages) || defined(__wpAddSettingsPages))
-        #undef _wpAddSettingsPages
-        #undef __wpAddSettingsPages
-        #define SOMGD_wpAddSettingsPages 1
-    #else
-        #define _wpAddSettingsPages WPObject_wpAddSettingsPages
-    #endif /* _wpAddSettingsPages */
-#endif /* SOMGD_wpAddSettingsPages */
-
-/*
- * New Method: wpAddToObjUseList
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpAddToObjUseList(WPObject *somSelf, 
-		PUSEITEM pUseItem);
-#pragma linkage(somTP_WPObject_wpAddToObjUseList, system)
-typedef somTP_WPObject_wpAddToObjUseList *somTD_WPObject_wpAddToObjUseList;
-#define somMD_WPObject_wpAddToObjUseList "::WPObject::wpAddToObjUseList"
-#define WPObject_wpAddToObjUseList(somSelf,pUseItem) \
-    (SOM_Resolve(somSelf, WPObject, wpAddToObjUseList) \
-	(somSelf,pUseItem))
-#ifndef SOMGD_wpAddToObjUseList
-    #if (defined(_wpAddToObjUseList) || defined(__wpAddToObjUseList))
-        #undef _wpAddToObjUseList
-        #undef __wpAddToObjUseList
-        #define SOMGD_wpAddToObjUseList 1
-    #else
-        #define _wpAddToObjUseList WPObject_wpAddToObjUseList
-    #endif /* _wpAddToObjUseList */
-#endif /* SOMGD_wpAddToObjUseList */
-
-/*
- * New Method: wpAllocMem
- */
-typedef PBYTE   SOMLINK somTP_WPObject_wpAllocMem(WPObject *somSelf, 
-		ULONG cbBytes, 
-		PULONG prc);
-#pragma linkage(somTP_WPObject_wpAllocMem, system)
-typedef somTP_WPObject_wpAllocMem *somTD_WPObject_wpAllocMem;
-#define somMD_WPObject_wpAllocMem "::WPObject::wpAllocMem"
-#define WPObject_wpAllocMem(somSelf,cbBytes,prc) \
-    (SOM_Resolve(somSelf, WPObject, wpAllocMem) \
-	(somSelf,cbBytes,prc))
-#ifndef SOMGD_wpAllocMem
-    #if (defined(_wpAllocMem) || defined(__wpAllocMem))
-        #undef _wpAllocMem
-        #undef __wpAllocMem
-        #define SOMGD_wpAllocMem 1
-    #else
-        #define _wpAllocMem WPObject_wpAllocMem
-    #endif /* _wpAllocMem */
-#endif /* SOMGD_wpAllocMem */
-
-/*
- * New Method: wpAppendObject
- */
-typedef BOOL32   SOMLINK somTP_WPObject_wpAppendObject(WPObject *somSelf, 
-		WPObject* targetObject, 
-		BOOL32 fMove);
-#pragma linkage(somTP_WPObject_wpAppendObject, system)
-typedef somTP_WPObject_wpAppendObject *somTD_WPObject_wpAppendObject;
-#define somMD_WPObject_wpAppendObject "::WPObject::wpAppendObject"
-#define WPObject_wpAppendObject(somSelf,targetObject,fMove) \
-    (SOM_Resolve(somSelf, WPObject, wpAppendObject) \
-	(somSelf,targetObject,fMove))
-#ifndef SOMGD_wpAppendObject
-    #if (defined(_wpAppendObject) || defined(__wpAppendObject))
-        #undef _wpAppendObject
-        #undef __wpAppendObject
-        #define SOMGD_wpAppendObject 1
-    #else
-        #define _wpAppendObject WPObject_wpAppendObject
-    #endif /* _wpAppendObject */
-#endif /* SOMGD_wpAppendObject */
-
-/*
- * New Method: wpAssertObjectMutexSem
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpAssertObjectMutexSem(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpAssertObjectMutexSem, system)
-typedef somTP_WPObject_wpAssertObjectMutexSem *somTD_WPObject_wpAssertObjectMutexSem;
-#define somMD_WPObject_wpAssertObjectMutexSem "::WPObject::wpAssertObjectMutexSem"
-#define WPObject_wpAssertObjectMutexSem(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpAssertObjectMutexSem) \
-	(somSelf))
-#ifndef SOMGD_wpAssertObjectMutexSem
-    #if (defined(_wpAssertObjectMutexSem) || defined(__wpAssertObjectMutexSem))
-        #undef _wpAssertObjectMutexSem
-        #undef __wpAssertObjectMutexSem
-        #define SOMGD_wpAssertObjectMutexSem 1
-    #else
-        #define _wpAssertObjectMutexSem WPObject_wpAssertObjectMutexSem
-    #endif /* _wpAssertObjectMutexSem */
-#endif /* SOMGD_wpAssertObjectMutexSem */
-
-/*
- * New Method: wpClose
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpClose(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpClose, system)
-typedef somTP_WPObject_wpClose *somTD_WPObject_wpClose;
-#define somMD_WPObject_wpClose "::WPObject::wpClose"
-#define WPObject_wpClose(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpClose) \
-	(somSelf))
-#ifndef SOMGD_wpClose
-    #if (defined(_wpClose) || defined(__wpClose))
-        #undef _wpClose
-        #undef __wpClose
-        #define SOMGD_wpClose 1
-    #else
-        #define _wpClose WPObject_wpClose
-    #endif /* _wpClose */
-#endif /* SOMGD_wpClose */
-
-/*
- * New Method: wpCnrInsertObject
- */
-typedef PMINIRECORDCORE   SOMLINK somTP_WPObject_wpCnrInsertObject(WPObject *somSelf, 
-		HWND hwndCnr, 
-		PPOINTL pptlIcon, 
-		PMINIRECORDCORE preccParent, 
-		PRECORDINSERT pRecInsert);
-#pragma linkage(somTP_WPObject_wpCnrInsertObject, system)
-typedef somTP_WPObject_wpCnrInsertObject *somTD_WPObject_wpCnrInsertObject;
-#define somMD_WPObject_wpCnrInsertObject "::WPObject::wpCnrInsertObject"
-#define WPObject_wpCnrInsertObject(somSelf,hwndCnr,pptlIcon,preccParent,pRecInsert) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrInsertObject) \
-	(somSelf,hwndCnr,pptlIcon,preccParent,pRecInsert))
-#ifndef SOMGD_wpCnrInsertObject
-    #if (defined(_wpCnrInsertObject) || defined(__wpCnrInsertObject))
-        #undef _wpCnrInsertObject
-        #undef __wpCnrInsertObject
-        #define SOMGD_wpCnrInsertObject 1
-    #else
-        #define _wpCnrInsertObject WPObject_wpCnrInsertObject
-    #endif /* _wpCnrInsertObject */
-#endif /* SOMGD_wpCnrInsertObject */
-
-/*
- * New Method: wpCnrRemoveObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpCnrRemoveObject(WPObject *somSelf, 
-		HWND hwndCnr);
-#pragma linkage(somTP_WPObject_wpCnrRemoveObject, system)
-typedef somTP_WPObject_wpCnrRemoveObject *somTD_WPObject_wpCnrRemoveObject;
-#define somMD_WPObject_wpCnrRemoveObject "::WPObject::wpCnrRemoveObject"
-#define WPObject_wpCnrRemoveObject(somSelf,hwndCnr) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrRemoveObject) \
-	(somSelf,hwndCnr))
-#ifndef SOMGD_wpCnrRemoveObject
-    #if (defined(_wpCnrRemoveObject) || defined(__wpCnrRemoveObject))
-        #undef _wpCnrRemoveObject
-        #undef __wpCnrRemoveObject
-        #define SOMGD_wpCnrRemoveObject 1
-    #else
-        #define _wpCnrRemoveObject WPObject_wpCnrRemoveObject
-    #endif /* _wpCnrRemoveObject */
-#endif /* SOMGD_wpCnrRemoveObject */
-
-/*
- * New Method: wpCnrSetEmphasis
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpCnrSetEmphasis(WPObject *somSelf, 
-		ULONG ulEmphasisAttr, 
-		BOOL fTurnOn);
-#pragma linkage(somTP_WPObject_wpCnrSetEmphasis, system)
-typedef somTP_WPObject_wpCnrSetEmphasis *somTD_WPObject_wpCnrSetEmphasis;
-#define somMD_WPObject_wpCnrSetEmphasis "::WPObject::wpCnrSetEmphasis"
-#define WPObject_wpCnrSetEmphasis(somSelf,ulEmphasisAttr,fTurnOn) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrSetEmphasis) \
-	(somSelf,ulEmphasisAttr,fTurnOn))
-#ifndef SOMGD_wpCnrSetEmphasis
-    #if (defined(_wpCnrSetEmphasis) || defined(__wpCnrSetEmphasis))
-        #undef _wpCnrSetEmphasis
-        #undef __wpCnrSetEmphasis
-        #define SOMGD_wpCnrSetEmphasis 1
-    #else
-        #define _wpCnrSetEmphasis WPObject_wpCnrSetEmphasis
-    #endif /* _wpCnrSetEmphasis */
-#endif /* SOMGD_wpCnrSetEmphasis */
-
-/*
- * New Method: wpConfirmDelete
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpConfirmDelete(WPObject *somSelf, 
-		ULONG fConfirmations);
-#pragma linkage(somTP_WPObject_wpConfirmDelete, system)
-typedef somTP_WPObject_wpConfirmDelete *somTD_WPObject_wpConfirmDelete;
-#define somMD_WPObject_wpConfirmDelete "::WPObject::wpConfirmDelete"
-#define WPObject_wpConfirmDelete(somSelf,fConfirmations) \
-    (SOM_Resolve(somSelf, WPObject, wpConfirmDelete) \
-	(somSelf,fConfirmations))
-#ifndef SOMGD_wpConfirmDelete
-    #if (defined(_wpConfirmDelete) || defined(__wpConfirmDelete))
-        #undef _wpConfirmDelete
-        #undef __wpConfirmDelete
-        #define SOMGD_wpConfirmDelete 1
-    #else
-        #define _wpConfirmDelete WPObject_wpConfirmDelete
-    #endif /* _wpConfirmDelete */
-#endif /* SOMGD_wpConfirmDelete */
-
-/*
- * New Method: wpConfirmObjectTitle
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpConfirmObjectTitle(WPObject *somSelf, 
-		WPFolder* Folder, 
-		WPObject** ppDuplicate, 
-		PSZ pszTitle, 
-		ULONG cbTitle, 
-		ULONG menuID);
-#pragma linkage(somTP_WPObject_wpConfirmObjectTitle, system)
-typedef somTP_WPObject_wpConfirmObjectTitle *somTD_WPObject_wpConfirmObjectTitle;
-#define somMD_WPObject_wpConfirmObjectTitle "::WPObject::wpConfirmObjectTitle"
-#define WPObject_wpConfirmObjectTitle(somSelf,Folder,ppDuplicate,pszTitle,cbTitle,menuID) \
-    (SOM_Resolve(somSelf, WPObject, wpConfirmObjectTitle) \
-	(somSelf,Folder,ppDuplicate,pszTitle,cbTitle,menuID))
-#ifndef SOMGD_wpConfirmObjectTitle
-    #if (defined(_wpConfirmObjectTitle) || defined(__wpConfirmObjectTitle))
-        #undef _wpConfirmObjectTitle
-        #undef __wpConfirmObjectTitle
-        #define SOMGD_wpConfirmObjectTitle 1
-    #else
-        #define _wpConfirmObjectTitle WPObject_wpConfirmObjectTitle
-    #endif /* _wpConfirmObjectTitle */
-#endif /* SOMGD_wpConfirmObjectTitle */
-
-/*
- * New Method: wpCopiedFromTemplate
- */
-typedef void   SOMLINK somTP_WPObject_wpCopiedFromTemplate(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpCopiedFromTemplate, system)
-typedef somTP_WPObject_wpCopiedFromTemplate *somTD_WPObject_wpCopiedFromTemplate;
-#define somMD_WPObject_wpCopiedFromTemplate "::WPObject::wpCopiedFromTemplate"
-#define WPObject_wpCopiedFromTemplate(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpCopiedFromTemplate) \
-	(somSelf))
-#ifndef SOMGD_wpCopiedFromTemplate
-    #if (defined(_wpCopiedFromTemplate) || defined(__wpCopiedFromTemplate))
-        #undef _wpCopiedFromTemplate
-        #undef __wpCopiedFromTemplate
-        #define SOMGD_wpCopiedFromTemplate 1
-    #else
-        #define _wpCopiedFromTemplate WPObject_wpCopiedFromTemplate
-    #endif /* _wpCopiedFromTemplate */
-#endif /* SOMGD_wpCopiedFromTemplate */
-
-/*
- * New Method: wpCopyObject
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCopyObject(WPObject *somSelf, 
-		WPFolder* Folder, 
-		BOOL fLock);
-#pragma linkage(somTP_WPObject_wpCopyObject, system)
-typedef somTP_WPObject_wpCopyObject *somTD_WPObject_wpCopyObject;
-#define somMD_WPObject_wpCopyObject "::WPObject::wpCopyObject"
-#define WPObject_wpCopyObject(somSelf,Folder,fLock) \
-    (SOM_Resolve(somSelf, WPObject, wpCopyObject) \
-	(somSelf,Folder,fLock))
-#ifndef SOMGD_wpCopyObject
-    #if (defined(_wpCopyObject) || defined(__wpCopyObject))
-        #undef _wpCopyObject
-        #undef __wpCopyObject
-        #define SOMGD_wpCopyObject 1
-    #else
-        #define _wpCopyObject WPObject_wpCopyObject
-    #endif /* _wpCopyObject */
-#endif /* SOMGD_wpCopyObject */
-
-/*
- * New Method: wpCreateAnother
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCreateAnother(WPObject *somSelf, 
-		PSZ pszTitle, 
-		PSZ pszSetupEnv, 
-		WPFolder* Folder);
-#pragma linkage(somTP_WPObject_wpCreateAnother, system)
-typedef somTP_WPObject_wpCreateAnother *somTD_WPObject_wpCreateAnother;
-#define somMD_WPObject_wpCreateAnother "::WPObject::wpCreateAnother"
-#define WPObject_wpCreateAnother(somSelf,pszTitle,pszSetupEnv,Folder) \
-    (SOM_Resolve(somSelf, WPObject, wpCreateAnother) \
-	(somSelf,pszTitle,pszSetupEnv,Folder))
-#ifndef SOMGD_wpCreateAnother
-    #if (defined(_wpCreateAnother) || defined(__wpCreateAnother))
-        #undef _wpCreateAnother
-        #undef __wpCreateAnother
-        #define SOMGD_wpCreateAnother 1
-    #else
-        #define _wpCreateAnother WPObject_wpCreateAnother
-    #endif /* _wpCreateAnother */
-#endif /* SOMGD_wpCreateAnother */
-
-/*
- * New Method: wpCreateFromTemplate
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCreateFromTemplate(WPObject *somSelf, 
-		WPFolder* folder, 
-		BOOL fLock);
-#pragma linkage(somTP_WPObject_wpCreateFromTemplate, system)
-typedef somTP_WPObject_wpCreateFromTemplate *somTD_WPObject_wpCreateFromTemplate;
-#define somMD_WPObject_wpCreateFromTemplate "::WPObject::wpCreateFromTemplate"
-#define WPObject_wpCreateFromTemplate(somSelf,folder,fLock) \
-    (SOM_Resolve(somSelf, WPObject, wpCreateFromTemplate) \
-	(somSelf,folder,fLock))
-#ifndef SOMGD_wpCreateFromTemplate
-    #if (defined(_wpCreateFromTemplate) || defined(__wpCreateFromTemplate))
-        #undef _wpCreateFromTemplate
-        #undef __wpCreateFromTemplate
-        #define SOMGD_wpCreateFromTemplate 1
-    #else
-        #define _wpCreateFromTemplate WPObject_wpCreateFromTemplate
-    #endif /* _wpCreateFromTemplate */
-#endif /* SOMGD_wpCreateFromTemplate */
-
-/*
- * New Method: wpCreateShadowObject
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCreateShadowObject(WPObject *somSelf, 
-		WPFolder* Folder, 
-		BOOL fLock);
-#pragma linkage(somTP_WPObject_wpCreateShadowObject, system)
-typedef somTP_WPObject_wpCreateShadowObject *somTD_WPObject_wpCreateShadowObject;
-#define somMD_WPObject_wpCreateShadowObject "::WPObject::wpCreateShadowObject"
-#define WPObject_wpCreateShadowObject(somSelf,Folder,fLock) \
-    (SOM_Resolve(somSelf, WPObject, wpCreateShadowObject) \
-	(somSelf,Folder,fLock))
-#ifndef SOMGD_wpCreateShadowObject
-    #if (defined(_wpCreateShadowObject) || defined(__wpCreateShadowObject))
-        #undef _wpCreateShadowObject
-        #undef __wpCreateShadowObject
-        #define SOMGD_wpCreateShadowObject 1
-    #else
-        #define _wpCreateShadowObject WPObject_wpCreateShadowObject
-    #endif /* _wpCreateShadowObject */
-#endif /* SOMGD_wpCreateShadowObject */
-
-/*
- * New Method: wpDelete
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpDelete(WPObject *somSelf, 
-		ULONG fConfirmations);
-#pragma linkage(somTP_WPObject_wpDelete, system)
-typedef somTP_WPObject_wpDelete *somTD_WPObject_wpDelete;
-#define somMD_WPObject_wpDelete "::WPObject::wpDelete"
-#define WPObject_wpDelete(somSelf,fConfirmations) \
-    (SOM_Resolve(somSelf, WPObject, wpDelete) \
-	(somSelf,fConfirmations))
-#ifndef SOMGD_wpDelete
-    #if (defined(_wpDelete) || defined(__wpDelete))
-        #undef _wpDelete
-        #undef __wpDelete
-        #define SOMGD_wpDelete 1
-    #else
-        #define _wpDelete WPObject_wpDelete
-    #endif /* _wpDelete */
-#endif /* SOMGD_wpDelete */
-
-/*
- * New Method: wpDeleteFromObjUseList
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDeleteFromObjUseList(WPObject *somSelf, 
-		PUSEITEM pUseItem);
-#pragma linkage(somTP_WPObject_wpDeleteFromObjUseList, system)
-typedef somTP_WPObject_wpDeleteFromObjUseList *somTD_WPObject_wpDeleteFromObjUseList;
-#define somMD_WPObject_wpDeleteFromObjUseList "::WPObject::wpDeleteFromObjUseList"
-#define WPObject_wpDeleteFromObjUseList(somSelf,pUseItem) \
-    (SOM_Resolve(somSelf, WPObject, wpDeleteFromObjUseList) \
-	(somSelf,pUseItem))
-#ifndef SOMGD_wpDeleteFromObjUseList
-    #if (defined(_wpDeleteFromObjUseList) || defined(__wpDeleteFromObjUseList))
-        #undef _wpDeleteFromObjUseList
-        #undef __wpDeleteFromObjUseList
-        #define SOMGD_wpDeleteFromObjUseList 1
-    #else
-        #define _wpDeleteFromObjUseList WPObject_wpDeleteFromObjUseList
-    #endif /* _wpDeleteFromObjUseList */
-#endif /* SOMGD_wpDeleteFromObjUseList */
-
-/*
- * New Method: wpDisplayHelp
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDisplayHelp(WPObject *somSelf, 
-		ULONG HelpPanelId, 
-		PSZ HelpLibrary);
-#pragma linkage(somTP_WPObject_wpDisplayHelp, system)
-typedef somTP_WPObject_wpDisplayHelp *somTD_WPObject_wpDisplayHelp;
-#define somMD_WPObject_wpDisplayHelp "::WPObject::wpDisplayHelp"
-#define WPObject_wpDisplayHelp(somSelf,HelpPanelId,HelpLibrary) \
-    (SOM_Resolve(somSelf, WPObject, wpDisplayHelp) \
-	(somSelf,HelpPanelId,HelpLibrary))
-#ifndef SOMGD_wpDisplayHelp
-    #if (defined(_wpDisplayHelp) || defined(__wpDisplayHelp))
-        #undef _wpDisplayHelp
-        #undef __wpDisplayHelp
-        #define SOMGD_wpDisplayHelp 1
-    #else
-        #define _wpDisplayHelp WPObject_wpDisplayHelp
-    #endif /* _wpDisplayHelp */
-#endif /* SOMGD_wpDisplayHelp */
-
-/*
- * New Method: wpDisplayMenu
- */
-typedef HWND   SOMLINK somTP_WPObject_wpDisplayMenu(WPObject *somSelf, 
-		HWND hwndOwner, 
-		HWND hwndClient, 
-		POINTL* ptlPopupPt, 
-		ULONG ulMenuType, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpDisplayMenu, system)
-typedef somTP_WPObject_wpDisplayMenu *somTD_WPObject_wpDisplayMenu;
-#define somMD_WPObject_wpDisplayMenu "::WPObject::wpDisplayMenu"
-#define WPObject_wpDisplayMenu(somSelf,hwndOwner,hwndClient,ptlPopupPt,ulMenuType,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpDisplayMenu) \
-	(somSelf,hwndOwner,hwndClient,ptlPopupPt,ulMenuType,ulReserved))
-#ifndef SOMGD_wpDisplayMenu
-    #if (defined(_wpDisplayMenu) || defined(__wpDisplayMenu))
-        #undef _wpDisplayMenu
-        #undef __wpDisplayMenu
-        #define SOMGD_wpDisplayMenu 1
-    #else
-        #define _wpDisplayMenu WPObject_wpDisplayMenu
-    #endif /* _wpDisplayMenu */
-#endif /* SOMGD_wpDisplayMenu */
-
-/*
- * New Method: wpDoesObjectMatch
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDoesObjectMatch(WPObject *somSelf, 
-		PVOID pvoidExtendedCriteria);
-#pragma linkage(somTP_WPObject_wpDoesObjectMatch, system)
-typedef somTP_WPObject_wpDoesObjectMatch *somTD_WPObject_wpDoesObjectMatch;
-#define somMD_WPObject_wpDoesObjectMatch "::WPObject::wpDoesObjectMatch"
-#define WPObject_wpDoesObjectMatch(somSelf,pvoidExtendedCriteria) \
-    (SOM_Resolve(somSelf, WPObject, wpDoesObjectMatch) \
-	(somSelf,pvoidExtendedCriteria))
-#ifndef SOMGD_wpDoesObjectMatch
-    #if (defined(_wpDoesObjectMatch) || defined(__wpDoesObjectMatch))
-        #undef _wpDoesObjectMatch
-        #undef __wpDoesObjectMatch
-        #define SOMGD_wpDoesObjectMatch 1
-    #else
-        #define _wpDoesObjectMatch WPObject_wpDoesObjectMatch
-    #endif /* _wpDoesObjectMatch */
-#endif /* SOMGD_wpDoesObjectMatch */
-
-/*
- * New Method: wpDraggedOverObject
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpDraggedOverObject(WPObject *somSelf, 
-		WPObject* DraggedOverObject);
-#pragma linkage(somTP_WPObject_wpDraggedOverObject, system)
-typedef somTP_WPObject_wpDraggedOverObject *somTD_WPObject_wpDraggedOverObject;
-#define somMD_WPObject_wpDraggedOverObject "::WPObject::wpDraggedOverObject"
-#define WPObject_wpDraggedOverObject(somSelf,DraggedOverObject) \
-    (SOM_Resolve(somSelf, WPObject, wpDraggedOverObject) \
-	(somSelf,DraggedOverObject))
-#ifndef SOMGD_wpDraggedOverObject
-    #if (defined(_wpDraggedOverObject) || defined(__wpDraggedOverObject))
-        #undef _wpDraggedOverObject
-        #undef __wpDraggedOverObject
-        #define SOMGD_wpDraggedOverObject 1
-    #else
-        #define _wpDraggedOverObject WPObject_wpDraggedOverObject
-    #endif /* _wpDraggedOverObject */
-#endif /* SOMGD_wpDraggedOverObject */
-
-/*
- * New Method: wpDragOver
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpDragOver(WPObject *somSelf, 
-		HWND hwndCnr, 
-		PDRAGINFO pdrgInfo);
-#pragma linkage(somTP_WPObject_wpDragOver, system)
-typedef somTP_WPObject_wpDragOver *somTD_WPObject_wpDragOver;
-#define somMD_WPObject_wpDragOver "::WPObject::wpDragOver"
-#define WPObject_wpDragOver(somSelf,hwndCnr,pdrgInfo) \
-    (SOM_Resolve(somSelf, WPObject, wpDragOver) \
-	(somSelf,hwndCnr,pdrgInfo))
-#ifndef SOMGD_wpDragOver
-    #if (defined(_wpDragOver) || defined(__wpDragOver))
-        #undef _wpDragOver
-        #undef __wpDragOver
-        #define SOMGD_wpDragOver 1
-    #else
-        #define _wpDragOver WPObject_wpDragOver
-    #endif /* _wpDragOver */
-#endif /* SOMGD_wpDragOver */
-
-/*
- * New Method: wpDrop
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpDrop(WPObject *somSelf, 
-		HWND hwndCnr, 
-		PDRAGINFO pdrgInfo, 
-		PDRAGITEM pdrgItem);
-#pragma linkage(somTP_WPObject_wpDrop, system)
-typedef somTP_WPObject_wpDrop *somTD_WPObject_wpDrop;
-#define somMD_WPObject_wpDrop "::WPObject::wpDrop"
-#define WPObject_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem) \
-    (SOM_Resolve(somSelf, WPObject, wpDrop) \
-	(somSelf,hwndCnr,pdrgInfo,pdrgItem))
-#ifndef SOMGD_wpDrop
-    #if (defined(_wpDrop) || defined(__wpDrop))
-        #undef _wpDrop
-        #undef __wpDrop
-        #define SOMGD_wpDrop 1
-    #else
-        #define _wpDrop WPObject_wpDrop
-    #endif /* _wpDrop */
-#endif /* SOMGD_wpDrop */
-
-/*
- * New Method: wpDroppedOnObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDroppedOnObject(WPObject *somSelf, 
-		WPObject* DroppedOnObject);
-#pragma linkage(somTP_WPObject_wpDroppedOnObject, system)
-typedef somTP_WPObject_wpDroppedOnObject *somTD_WPObject_wpDroppedOnObject;
-#define somMD_WPObject_wpDroppedOnObject "::WPObject::wpDroppedOnObject"
-#define WPObject_wpDroppedOnObject(somSelf,DroppedOnObject) \
-    (SOM_Resolve(somSelf, WPObject, wpDroppedOnObject) \
-	(somSelf,DroppedOnObject))
-#ifndef SOMGD_wpDroppedOnObject
-    #if (defined(_wpDroppedOnObject) || defined(__wpDroppedOnObject))
-        #undef _wpDroppedOnObject
-        #undef __wpDroppedOnObject
-        #define SOMGD_wpDroppedOnObject 1
-    #else
-        #define _wpDroppedOnObject WPObject_wpDroppedOnObject
-    #endif /* _wpDroppedOnObject */
-#endif /* SOMGD_wpDroppedOnObject */
-
-/*
- * New Method: wpEndConversation
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpEndConversation(WPObject *somSelf, 
-		ULONG ulItemID, 
-		ULONG flResult);
-#pragma linkage(somTP_WPObject_wpEndConversation, system)
-typedef somTP_WPObject_wpEndConversation *somTD_WPObject_wpEndConversation;
-#define somMD_WPObject_wpEndConversation "::WPObject::wpEndConversation"
-#define WPObject_wpEndConversation(somSelf,ulItemID,flResult) \
-    (SOM_Resolve(somSelf, WPObject, wpEndConversation) \
-	(somSelf,ulItemID,flResult))
-#ifndef SOMGD_wpEndConversation
-    #if (defined(_wpEndConversation) || defined(__wpEndConversation))
-        #undef _wpEndConversation
-        #undef __wpEndConversation
-        #define SOMGD_wpEndConversation 1
-    #else
-        #define _wpEndConversation WPObject_wpEndConversation
-    #endif /* _wpEndConversation */
-#endif /* SOMGD_wpEndConversation */
-
-/*
- * New Method: wpFilterPopupMenu
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpFilterPopupMenu(WPObject *somSelf, 
-		ULONG ulFlags, 
-		HWND hwndCnr, 
-		BOOL fMultiSelect);
-#pragma linkage(somTP_WPObject_wpFilterPopupMenu, system)
-typedef somTP_WPObject_wpFilterPopupMenu *somTD_WPObject_wpFilterPopupMenu;
-#define somMD_WPObject_wpFilterPopupMenu "::WPObject::wpFilterPopupMenu"
-#define WPObject_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect) \
-    (SOM_Resolve(somSelf, WPObject, wpFilterPopupMenu) \
-	(somSelf,ulFlags,hwndCnr,fMultiSelect))
-#ifndef SOMGD_wpFilterPopupMenu
-    #if (defined(_wpFilterPopupMenu) || defined(__wpFilterPopupMenu))
-        #undef _wpFilterPopupMenu
-        #undef __wpFilterPopupMenu
-        #define SOMGD_wpFilterPopupMenu 1
-    #else
-        #define _wpFilterPopupMenu WPObject_wpFilterPopupMenu
-    #endif /* _wpFilterPopupMenu */
-#endif /* SOMGD_wpFilterPopupMenu */
-
-/*
- * New Method: wpFindUseItem
- */
-typedef PUSEITEM   SOMLINK somTP_WPObject_wpFindUseItem(WPObject *somSelf, 
-		ULONG type, 
-		PUSEITEM pCurrentItem);
-#pragma linkage(somTP_WPObject_wpFindUseItem, system)
-typedef somTP_WPObject_wpFindUseItem *somTD_WPObject_wpFindUseItem;
-#define somMD_WPObject_wpFindUseItem "::WPObject::wpFindUseItem"
-#define WPObject_wpFindUseItem(somSelf,type,pCurrentItem) \
-    (SOM_Resolve(somSelf, WPObject, wpFindUseItem) \
-	(somSelf,type,pCurrentItem))
-#ifndef SOMGD_wpFindUseItem
-    #if (defined(_wpFindUseItem) || defined(__wpFindUseItem))
-        #undef _wpFindUseItem
-        #undef __wpFindUseItem
-        #define SOMGD_wpFindUseItem 1
-    #else
-        #define _wpFindUseItem WPObject_wpFindUseItem
-    #endif /* _wpFindUseItem */
-#endif /* SOMGD_wpFindUseItem */
-
-/*
- * New Method: wpFormatDragItem
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpFormatDragItem(WPObject *somSelf, 
-		PDRAGITEM pdrgItem);
-#pragma linkage(somTP_WPObject_wpFormatDragItem, system)
-typedef somTP_WPObject_wpFormatDragItem *somTD_WPObject_wpFormatDragItem;
-#define somMD_WPObject_wpFormatDragItem "::WPObject::wpFormatDragItem"
-#define WPObject_wpFormatDragItem(somSelf,pdrgItem) \
-    (SOM_Resolve(somSelf, WPObject, wpFormatDragItem) \
-	(somSelf,pdrgItem))
-#ifndef SOMGD_wpFormatDragItem
-    #if (defined(_wpFormatDragItem) || defined(__wpFormatDragItem))
-        #undef _wpFormatDragItem
-        #undef __wpFormatDragItem
-        #define SOMGD_wpFormatDragItem 1
-    #else
-        #define _wpFormatDragItem WPObject_wpFormatDragItem
-    #endif /* _wpFormatDragItem */
-#endif /* SOMGD_wpFormatDragItem */
-
-/*
- * New Method: wpFree
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpFree(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpFree, system)
-typedef somTP_WPObject_wpFree *somTD_WPObject_wpFree;
-#define somMD_WPObject_wpFree "::WPObject::wpFree"
-#define WPObject_wpFree(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpFree) \
-	(somSelf))
-#ifndef SOMGD_wpFree
-    #if (defined(_wpFree) || defined(__wpFree))
-        #undef _wpFree
-        #undef __wpFree
-        #define SOMGD_wpFree 1
-    #else
-        #define _wpFree WPObject_wpFree
-    #endif /* _wpFree */
-#endif /* SOMGD_wpFree */
-
-/*
- * New Method: wpFreeMem
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpFreeMem(WPObject *somSelf, 
-		PBYTE pByte);
-#pragma linkage(somTP_WPObject_wpFreeMem, system)
-typedef somTP_WPObject_wpFreeMem *somTD_WPObject_wpFreeMem;
-#define somMD_WPObject_wpFreeMem "::WPObject::wpFreeMem"
-#define WPObject_wpFreeMem(somSelf,pByte) \
-    (SOM_Resolve(somSelf, WPObject, wpFreeMem) \
-	(somSelf,pByte))
-#ifndef SOMGD_wpFreeMem
-    #if (defined(_wpFreeMem) || defined(__wpFreeMem))
-        #undef _wpFreeMem
-        #undef __wpFreeMem
-        #define SOMGD_wpFreeMem 1
-    #else
-        #define _wpFreeMem WPObject_wpFreeMem
-    #endif /* _wpFreeMem */
-#endif /* SOMGD_wpFreeMem */
-
-/*
- * New Method: wpHide
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpHide(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpHide, system)
-typedef somTP_WPObject_wpHide *somTD_WPObject_wpHide;
-#define somMD_WPObject_wpHide "::WPObject::wpHide"
-#define WPObject_wpHide(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpHide) \
-	(somSelf))
-#ifndef SOMGD_wpHide
-    #if (defined(_wpHide) || defined(__wpHide))
-        #undef _wpHide
-        #undef __wpHide
-        #define SOMGD_wpHide 1
-    #else
-        #define _wpHide WPObject_wpHide
-    #endif /* _wpHide */
-#endif /* SOMGD_wpHide */
-
-/*
- * New Method: wpInitData
- */
-typedef void   SOMLINK somTP_WPObject_wpInitData(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpInitData, system)
-typedef somTP_WPObject_wpInitData *somTD_WPObject_wpInitData;
-#define somMD_WPObject_wpInitData "::WPObject::wpInitData"
-#define WPObject_wpInitData(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpInitData) \
-	(somSelf))
-#ifndef SOMGD_wpInitData
-    #if (defined(_wpInitData) || defined(__wpInitData))
-        #undef _wpInitData
-        #undef __wpInitData
-        #define SOMGD_wpInitData 1
-    #else
-        #define _wpInitData WPObject_wpInitData
-    #endif /* _wpInitData */
-#endif /* SOMGD_wpInitData */
-
-/*
- * New Method: wpInsertPopupMenuItems
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpInsertPopupMenuItems(WPObject *somSelf, 
-		HWND hwndMenu, 
-		ULONG iPosition, 
-		HMODULE hmod, 
-		ULONG MenuID, 
-		ULONG SubMenuID);
-#pragma linkage(somTP_WPObject_wpInsertPopupMenuItems, system)
-typedef somTP_WPObject_wpInsertPopupMenuItems *somTD_WPObject_wpInsertPopupMenuItems;
-#define somMD_WPObject_wpInsertPopupMenuItems "::WPObject::wpInsertPopupMenuItems"
-#define WPObject_wpInsertPopupMenuItems(somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID) \
-    (SOM_Resolve(somSelf, WPObject, wpInsertPopupMenuItems) \
-	(somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID))
-#ifndef SOMGD_wpInsertPopupMenuItems
-    #if (defined(_wpInsertPopupMenuItems) || defined(__wpInsertPopupMenuItems))
-        #undef _wpInsertPopupMenuItems
-        #undef __wpInsertPopupMenuItems
-        #define SOMGD_wpInsertPopupMenuItems 1
-    #else
-        #define _wpInsertPopupMenuItems WPObject_wpInsertPopupMenuItems
-    #endif /* _wpInsertPopupMenuItems */
-#endif /* SOMGD_wpInsertPopupMenuItems */
-
-/*
- * New Method: wpInsertSettingsPage
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpInsertSettingsPage(WPObject *somSelf, 
-		HWND hwndNotebook, 
-		PPAGEINFO ppageinfo);
-#pragma linkage(somTP_WPObject_wpInsertSettingsPage, system)
-typedef somTP_WPObject_wpInsertSettingsPage *somTD_WPObject_wpInsertSettingsPage;
-#define somMD_WPObject_wpInsertSettingsPage "::WPObject::wpInsertSettingsPage"
-#define WPObject_wpInsertSettingsPage(somSelf,hwndNotebook,ppageinfo) \
-    (SOM_Resolve(somSelf, WPObject, wpInsertSettingsPage) \
-	(somSelf,hwndNotebook,ppageinfo))
-#ifndef SOMGD_wpInsertSettingsPage
-    #if (defined(_wpInsertSettingsPage) || defined(__wpInsertSettingsPage))
-        #undef _wpInsertSettingsPage
-        #undef __wpInsertSettingsPage
-        #define SOMGD_wpInsertSettingsPage 1
-    #else
-        #define _wpInsertSettingsPage WPObject_wpInsertSettingsPage
-    #endif /* _wpInsertSettingsPage */
-#endif /* SOMGD_wpInsertSettingsPage */
-
-/*
- * New Method: wpMenuItemHelpSelected
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpMenuItemHelpSelected(WPObject *somSelf, 
-		ULONG MenuId);
-#pragma linkage(somTP_WPObject_wpMenuItemHelpSelected, system)
-typedef somTP_WPObject_wpMenuItemHelpSelected *somTD_WPObject_wpMenuItemHelpSelected;
-#define somMD_WPObject_wpMenuItemHelpSelected "::WPObject::wpMenuItemHelpSelected"
-#define WPObject_wpMenuItemHelpSelected(somSelf,MenuId) \
-    (SOM_Resolve(somSelf, WPObject, wpMenuItemHelpSelected) \
-	(somSelf,MenuId))
-#ifndef SOMGD_wpMenuItemHelpSelected
-    #if (defined(_wpMenuItemHelpSelected) || defined(__wpMenuItemHelpSelected))
-        #undef _wpMenuItemHelpSelected
-        #undef __wpMenuItemHelpSelected
-        #define SOMGD_wpMenuItemHelpSelected 1
-    #else
-        #define _wpMenuItemHelpSelected WPObject_wpMenuItemHelpSelected
-    #endif /* _wpMenuItemHelpSelected */
-#endif /* SOMGD_wpMenuItemHelpSelected */
-
-/*
- * New Method: wpMenuItemSelected
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpMenuItemSelected(WPObject *somSelf, 
-		HWND hwndFrame, 
-		ULONG ulMenuId);
-#pragma linkage(somTP_WPObject_wpMenuItemSelected, system)
-typedef somTP_WPObject_wpMenuItemSelected *somTD_WPObject_wpMenuItemSelected;
-#define somMD_WPObject_wpMenuItemSelected "::WPObject::wpMenuItemSelected"
-#define WPObject_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId) \
-    (SOM_Resolve(somSelf, WPObject, wpMenuItemSelected) \
-	(somSelf,hwndFrame,ulMenuId))
-#ifndef SOMGD_wpMenuItemSelected
-    #if (defined(_wpMenuItemSelected) || defined(__wpMenuItemSelected))
-        #undef _wpMenuItemSelected
-        #undef __wpMenuItemSelected
-        #define SOMGD_wpMenuItemSelected 1
-    #else
-        #define _wpMenuItemSelected WPObject_wpMenuItemSelected
-    #endif /* _wpMenuItemSelected */
-#endif /* SOMGD_wpMenuItemSelected */
-
-/*
- * New Method: wpModifyPopupMenu
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpModifyPopupMenu(WPObject *somSelf, 
-		HWND hwndMenu, 
-		HWND hwndCnr, 
-		ULONG iPosition);
-#pragma linkage(somTP_WPObject_wpModifyPopupMenu, system)
-typedef somTP_WPObject_wpModifyPopupMenu *somTD_WPObject_wpModifyPopupMenu;
-#define somMD_WPObject_wpModifyPopupMenu "::WPObject::wpModifyPopupMenu"
-#define WPObject_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition) \
-    (SOM_Resolve(somSelf, WPObject, wpModifyPopupMenu) \
-	(somSelf,hwndMenu,hwndCnr,iPosition))
-#ifndef SOMGD_wpModifyPopupMenu
-    #if (defined(_wpModifyPopupMenu) || defined(__wpModifyPopupMenu))
-        #undef _wpModifyPopupMenu
-        #undef __wpModifyPopupMenu
-        #define SOMGD_wpModifyPopupMenu 1
-    #else
-        #define _wpModifyPopupMenu WPObject_wpModifyPopupMenu
-    #endif /* _wpModifyPopupMenu */
-#endif /* SOMGD_wpModifyPopupMenu */
-
-/*
- * New Method: wpMoveObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpMoveObject(WPObject *somSelf, 
-		WPFolder* Folder);
-#pragma linkage(somTP_WPObject_wpMoveObject, system)
-typedef somTP_WPObject_wpMoveObject *somTD_WPObject_wpMoveObject;
-#define somMD_WPObject_wpMoveObject "::WPObject::wpMoveObject"
-#define WPObject_wpMoveObject(somSelf,Folder) \
-    (SOM_Resolve(somSelf, WPObject, wpMoveObject) \
-	(somSelf,Folder))
-#ifndef SOMGD_wpMoveObject
-    #if (defined(_wpMoveObject) || defined(__wpMoveObject))
-        #undef _wpMoveObject
-        #undef __wpMoveObject
-        #define SOMGD_wpMoveObject 1
-    #else
-        #define _wpMoveObject WPObject_wpMoveObject
-    #endif /* _wpMoveObject */
-#endif /* SOMGD_wpMoveObject */
-
-/*
- * New Method: wpOpen
- */
-typedef HWND   SOMLINK somTP_WPObject_wpOpen(WPObject *somSelf, 
-		HWND hwndCnr, 
-		ULONG ulView, 
-		ULONG param);
-#pragma linkage(somTP_WPObject_wpOpen, system)
-typedef somTP_WPObject_wpOpen *somTD_WPObject_wpOpen;
-#define somMD_WPObject_wpOpen "::WPObject::wpOpen"
-#define WPObject_wpOpen(somSelf,hwndCnr,ulView,param) \
-    (SOM_Resolve(somSelf, WPObject, wpOpen) \
-	(somSelf,hwndCnr,ulView,param))
-#ifndef SOMGD_wpOpen
-    #if (defined(_wpOpen) || defined(__wpOpen))
-        #undef _wpOpen
-        #undef __wpOpen
-        #define SOMGD_wpOpen 1
-    #else
-        #define _wpOpen WPObject_wpOpen
-    #endif /* _wpOpen */
-#endif /* SOMGD_wpOpen */
-
-/*
- * New Method: wpPrintObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpPrintObject(WPObject *somSelf, 
-		PPRINTDEST pPrintDest, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpPrintObject, system)
-typedef somTP_WPObject_wpPrintObject *somTD_WPObject_wpPrintObject;
-#define somMD_WPObject_wpPrintObject "::WPObject::wpPrintObject"
-#define WPObject_wpPrintObject(somSelf,pPrintDest,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpPrintObject) \
-	(somSelf,pPrintDest,ulReserved))
-#ifndef SOMGD_wpPrintObject
-    #if (defined(_wpPrintObject) || defined(__wpPrintObject))
-        #undef _wpPrintObject
-        #undef __wpPrintObject
-        #define SOMGD_wpPrintObject 1
-    #else
-        #define _wpPrintObject WPObject_wpPrintObject
-    #endif /* _wpPrintObject */
-#endif /* SOMGD_wpPrintObject */
-
-/*
- * New Method: wpQueryConcurrentView
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryConcurrentView(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryConcurrentView, system)
-typedef somTP_WPObject_wpQueryConcurrentView *somTD_WPObject_wpQueryConcurrentView;
-#define somMD_WPObject_wpQueryConcurrentView "::WPObject::wpQueryConcurrentView"
-#define WPObject_wpQueryConcurrentView(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryConcurrentView) \
-	(somSelf))
-#ifndef SOMGD_wpQueryConcurrentView
-    #if (defined(_wpQueryConcurrentView) || defined(__wpQueryConcurrentView))
-        #undef _wpQueryConcurrentView
-        #undef __wpQueryConcurrentView
-        #define SOMGD_wpQueryConcurrentView 1
-    #else
-        #define _wpQueryConcurrentView WPObject_wpQueryConcurrentView
-    #endif /* _wpQueryConcurrentView */
-#endif /* SOMGD_wpQueryConcurrentView */
-
-/*
- * New Method: wpQueryButtonAppearance
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryButtonAppearance(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryButtonAppearance, system)
-typedef somTP_WPObject_wpQueryButtonAppearance *somTD_WPObject_wpQueryButtonAppearance;
-#define somMD_WPObject_wpQueryButtonAppearance "::WPObject::wpQueryButtonAppearance"
-#define WPObject_wpQueryButtonAppearance(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryButtonAppearance) \
-	(somSelf))
-#ifndef SOMGD_wpQueryButtonAppearance
-    #if (defined(_wpQueryButtonAppearance) || defined(__wpQueryButtonAppearance))
-        #undef _wpQueryButtonAppearance
-        #undef __wpQueryButtonAppearance
-        #define SOMGD_wpQueryButtonAppearance 1
-    #else
-        #define _wpQueryButtonAppearance WPObject_wpQueryButtonAppearance
-    #endif /* _wpQueryButtonAppearance */
-#endif /* SOMGD_wpQueryButtonAppearance */
-
-/*
- * New Method: wpQueryConfirmations
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryConfirmations(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryConfirmations, system)
-typedef somTP_WPObject_wpQueryConfirmations *somTD_WPObject_wpQueryConfirmations;
-#define somMD_WPObject_wpQueryConfirmations "::WPObject::wpQueryConfirmations"
-#define WPObject_wpQueryConfirmations(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryConfirmations) \
-	(somSelf))
-#ifndef SOMGD_wpQueryConfirmations
-    #if (defined(_wpQueryConfirmations) || defined(__wpQueryConfirmations))
-        #undef _wpQueryConfirmations
-        #undef __wpQueryConfirmations
-        #define SOMGD_wpQueryConfirmations 1
-    #else
-        #define _wpQueryConfirmations WPObject_wpQueryConfirmations
-    #endif /* _wpQueryConfirmations */
-#endif /* SOMGD_wpQueryConfirmations */
-
-/*
- * New Method: wpQueryDefaultHelp
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpQueryDefaultHelp(WPObject *somSelf, 
-		PULONG pHelpPanelId, 
-		PSZ HelpLibrary);
-#pragma linkage(somTP_WPObject_wpQueryDefaultHelp, system)
-typedef somTP_WPObject_wpQueryDefaultHelp *somTD_WPObject_wpQueryDefaultHelp;
-#define somMD_WPObject_wpQueryDefaultHelp "::WPObject::wpQueryDefaultHelp"
-#define WPObject_wpQueryDefaultHelp(somSelf,pHelpPanelId,HelpLibrary) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryDefaultHelp) \
-	(somSelf,pHelpPanelId,HelpLibrary))
-#ifndef SOMGD_wpQueryDefaultHelp
-    #if (defined(_wpQueryDefaultHelp) || defined(__wpQueryDefaultHelp))
-        #undef _wpQueryDefaultHelp
-        #undef __wpQueryDefaultHelp
-        #define SOMGD_wpQueryDefaultHelp 1
-    #else
-        #define _wpQueryDefaultHelp WPObject_wpQueryDefaultHelp
-    #endif /* _wpQueryDefaultHelp */
-#endif /* SOMGD_wpQueryDefaultHelp */
-
-/*
- * New Method: wpQueryDefaultView
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryDefaultView(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryDefaultView, system)
-typedef somTP_WPObject_wpQueryDefaultView *somTD_WPObject_wpQueryDefaultView;
-#define somMD_WPObject_wpQueryDefaultView "::WPObject::wpQueryDefaultView"
-#define WPObject_wpQueryDefaultView(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryDefaultView) \
-	(somSelf))
-#ifndef SOMGD_wpQueryDefaultView
-    #if (defined(_wpQueryDefaultView) || defined(__wpQueryDefaultView))
-        #undef _wpQueryDefaultView
-        #undef __wpQueryDefaultView
-        #define SOMGD_wpQueryDefaultView 1
-    #else
-        #define _wpQueryDefaultView WPObject_wpQueryDefaultView
-    #endif /* _wpQueryDefaultView */
-#endif /* SOMGD_wpQueryDefaultView */
-
-/*
- * New Method: wpQueryDetailsData
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryDetailsData(WPObject *somSelf, 
-		PVOID* ppDetailsData, 
-		PULONG pcp);
-#pragma linkage(somTP_WPObject_wpQueryDetailsData, system)
-typedef somTP_WPObject_wpQueryDetailsData *somTD_WPObject_wpQueryDetailsData;
-#define somMD_WPObject_wpQueryDetailsData "::WPObject::wpQueryDetailsData"
-#define WPObject_wpQueryDetailsData(somSelf,ppDetailsData,pcp) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryDetailsData) \
-	(somSelf,ppDetailsData,pcp))
-#ifndef SOMGD_wpQueryDetailsData
-    #if (defined(_wpQueryDetailsData) || defined(__wpQueryDetailsData))
-        #undef _wpQueryDetailsData
-        #undef __wpQueryDetailsData
-        #define SOMGD_wpQueryDetailsData 1
-    #else
-        #define _wpQueryDetailsData WPObject_wpQueryDetailsData
-    #endif /* _wpQueryDetailsData */
-#endif /* SOMGD_wpQueryDetailsData */
-
-/*
- * New Method: wpQueryError
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryError(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryError, system)
-typedef somTP_WPObject_wpQueryError *somTD_WPObject_wpQueryError;
-#define somMD_WPObject_wpQueryError "::WPObject::wpQueryError"
-#define WPObject_wpQueryError(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryError) \
-	(somSelf))
-#ifndef SOMGD_wpQueryError
-    #if (defined(_wpQueryError) || defined(__wpQueryError))
-        #undef _wpQueryError
-        #undef __wpQueryError
-        #define SOMGD_wpQueryError 1
-    #else
-        #define _wpQueryError WPObject_wpQueryError
-    #endif /* _wpQueryError */
-#endif /* SOMGD_wpQueryError */
-
-/*
- * New Method: wpSetFolder
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetFolder(WPObject *somSelf, 
-		WPObject* container);
-#pragma linkage(somTP_WPObject_wpSetFolder, system)
-typedef somTP_WPObject_wpSetFolder *somTD_WPObject_wpSetFolder;
-#define somMD_WPObject_wpSetFolder "::WPObject::wpSetFolder"
-#define WPObject_wpSetFolder(somSelf,container) \
-    (SOM_Resolve(somSelf, WPObject, wpSetFolder) \
-	(somSelf,container))
-#ifndef SOMGD_wpSetFolder
-    #if (defined(_wpSetFolder) || defined(__wpSetFolder))
-        #undef _wpSetFolder
-        #undef __wpSetFolder
-        #define SOMGD_wpSetFolder 1
-    #else
-        #define _wpSetFolder WPObject_wpSetFolder
-    #endif /* _wpSetFolder */
-#endif /* SOMGD_wpSetFolder */
-
-/*
- * New Method: wpQueryFolder
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpQueryFolder(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryFolder, system)
-typedef somTP_WPObject_wpQueryFolder *somTD_WPObject_wpQueryFolder;
-#define somMD_WPObject_wpQueryFolder "::WPObject::wpQueryFolder"
-#define WPObject_wpQueryFolder(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryFolder) \
-	(somSelf))
-#ifndef SOMGD_wpQueryFolder
-    #if (defined(_wpQueryFolder) || defined(__wpQueryFolder))
-        #undef _wpQueryFolder
-        #undef __wpQueryFolder
-        #define SOMGD_wpQueryFolder 1
-    #else
-        #define _wpQueryFolder WPObject_wpQueryFolder
-    #endif /* _wpQueryFolder */
-#endif /* SOMGD_wpQueryFolder */
-
-/*
- * New Method: wpQueryIcon
- */
-typedef HPOINTER   SOMLINK somTP_WPObject_wpQueryIcon(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryIcon, system)
-typedef somTP_WPObject_wpQueryIcon *somTD_WPObject_wpQueryIcon;
-#define somMD_WPObject_wpQueryIcon "::WPObject::wpQueryIcon"
-#define WPObject_wpQueryIcon(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryIcon) \
-	(somSelf))
-#ifndef SOMGD_wpQueryIcon
-    #if (defined(_wpQueryIcon) || defined(__wpQueryIcon))
-        #undef _wpQueryIcon
-        #undef __wpQueryIcon
-        #define SOMGD_wpQueryIcon 1
-    #else
-        #define _wpQueryIcon WPObject_wpQueryIcon
-    #endif /* _wpQueryIcon */
-#endif /* SOMGD_wpQueryIcon */
-
-/*
- * New Method: wpQueryIconData
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryIconData(WPObject *somSelf, 
-		PICONINFO pIconInfo);
-#pragma linkage(somTP_WPObject_wpQueryIconData, system)
-typedef somTP_WPObject_wpQueryIconData *somTD_WPObject_wpQueryIconData;
-#define somMD_WPObject_wpQueryIconData "::WPObject::wpQueryIconData"
-#define WPObject_wpQueryIconData(somSelf,pIconInfo) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryIconData) \
-	(somSelf,pIconInfo))
-#ifndef SOMGD_wpQueryIconData
-    #if (defined(_wpQueryIconData) || defined(__wpQueryIconData))
-        #undef _wpQueryIconData
-        #undef __wpQueryIconData
-        #define SOMGD_wpQueryIconData 1
-    #else
-        #define _wpQueryIconData WPObject_wpQueryIconData
-    #endif /* _wpQueryIconData */
-#endif /* SOMGD_wpQueryIconData */
-
-/*
- * New Method: wpQueryMinWindow
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryMinWindow(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryMinWindow, system)
-typedef somTP_WPObject_wpQueryMinWindow *somTD_WPObject_wpQueryMinWindow;
-#define somMD_WPObject_wpQueryMinWindow "::WPObject::wpQueryMinWindow"
-#define WPObject_wpQueryMinWindow(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryMinWindow) \
-	(somSelf))
-#ifndef SOMGD_wpQueryMinWindow
-    #if (defined(_wpQueryMinWindow) || defined(__wpQueryMinWindow))
-        #undef _wpQueryMinWindow
-        #undef __wpQueryMinWindow
-        #define SOMGD_wpQueryMinWindow 1
-    #else
-        #define _wpQueryMinWindow WPObject_wpQueryMinWindow
-    #endif /* _wpQueryMinWindow */
-#endif /* SOMGD_wpQueryMinWindow */
-
-/*
- * New Method: wpQueryNameClashOptions
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryNameClashOptions(WPObject *somSelf, 
-		ULONG menuID);
-#pragma linkage(somTP_WPObject_wpQueryNameClashOptions, system)
-typedef somTP_WPObject_wpQueryNameClashOptions *somTD_WPObject_wpQueryNameClashOptions;
-#define somMD_WPObject_wpQueryNameClashOptions "::WPObject::wpQueryNameClashOptions"
-#define WPObject_wpQueryNameClashOptions(somSelf,menuID) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryNameClashOptions) \
-	(somSelf,menuID))
-#ifndef SOMGD_wpQueryNameClashOptions
-    #if (defined(_wpQueryNameClashOptions) || defined(__wpQueryNameClashOptions))
-        #undef _wpQueryNameClashOptions
-        #undef __wpQueryNameClashOptions
-        #define SOMGD_wpQueryNameClashOptions 1
-    #else
-        #define _wpQueryNameClashOptions WPObject_wpQueryNameClashOptions
-    #endif /* _wpQueryNameClashOptions */
-#endif /* SOMGD_wpQueryNameClashOptions */
-
-/*
- * New Method: wpQueryStyle
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryStyle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryStyle, system)
-typedef somTP_WPObject_wpQueryStyle *somTD_WPObject_wpQueryStyle;
-#define somMD_WPObject_wpQueryStyle "::WPObject::wpQueryStyle"
-#define WPObject_wpQueryStyle(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryStyle) \
-	(somSelf))
-#ifndef SOMGD_wpQueryStyle
-    #if (defined(_wpQueryStyle) || defined(__wpQueryStyle))
-        #undef _wpQueryStyle
-        #undef __wpQueryStyle
-        #define SOMGD_wpQueryStyle 1
-    #else
-        #define _wpQueryStyle WPObject_wpQueryStyle
-    #endif /* _wpQueryStyle */
-#endif /* SOMGD_wpQueryStyle */
-
-/*
- * New Method: wpSetTaskRec
- */
-typedef BOOL32   SOMLINK somTP_WPObject_wpSetTaskRec(WPObject *somSelf, 
-		PTASKREC pNew, 
-		PTASKREC pOld);
-#pragma linkage(somTP_WPObject_wpSetTaskRec, system)
-typedef somTP_WPObject_wpSetTaskRec *somTD_WPObject_wpSetTaskRec;
-#define somMD_WPObject_wpSetTaskRec "::WPObject::wpSetTaskRec"
-#define WPObject_wpSetTaskRec(somSelf,pNew,pOld) \
-    (SOM_Resolve(somSelf, WPObject, wpSetTaskRec) \
-	(somSelf,pNew,pOld))
-#ifndef SOMGD_wpSetTaskRec
-    #if (defined(_wpSetTaskRec) || defined(__wpSetTaskRec))
-        #undef _wpSetTaskRec
-        #undef __wpSetTaskRec
-        #define SOMGD_wpSetTaskRec 1
-    #else
-        #define _wpSetTaskRec WPObject_wpSetTaskRec
-    #endif /* _wpSetTaskRec */
-#endif /* SOMGD_wpSetTaskRec */
-
-/*
- * New Method: wpFindTaskRec
- */
-typedef PTASKREC   SOMLINK somTP_WPObject_wpFindTaskRec(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpFindTaskRec, system)
-typedef somTP_WPObject_wpFindTaskRec *somTD_WPObject_wpFindTaskRec;
-#define somMD_WPObject_wpFindTaskRec "::WPObject::wpFindTaskRec"
-#define WPObject_wpFindTaskRec(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpFindTaskRec) \
-	(somSelf))
-#ifndef SOMGD_wpFindTaskRec
-    #if (defined(_wpFindTaskRec) || defined(__wpFindTaskRec))
-        #undef _wpFindTaskRec
-        #undef __wpFindTaskRec
-        #define SOMGD_wpFindTaskRec 1
-    #else
-        #define _wpFindTaskRec WPObject_wpFindTaskRec
-    #endif /* _wpFindTaskRec */
-#endif /* SOMGD_wpFindTaskRec */
-
-/*
- * New Method: wpQueryTitle
- */
-typedef PSZ   SOMLINK somTP_WPObject_wpQueryTitle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryTitle, system)
-typedef somTP_WPObject_wpQueryTitle *somTD_WPObject_wpQueryTitle;
-#define somMD_WPObject_wpQueryTitle "::WPObject::wpQueryTitle"
-#define WPObject_wpQueryTitle(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryTitle) \
-	(somSelf))
-#ifndef SOMGD_wpQueryTitle
-    #if (defined(_wpQueryTitle) || defined(__wpQueryTitle))
-        #undef _wpQueryTitle
-        #undef __wpQueryTitle
-        #define SOMGD_wpQueryTitle 1
-    #else
-        #define _wpQueryTitle WPObject_wpQueryTitle
-    #endif /* _wpQueryTitle */
-#endif /* SOMGD_wpQueryTitle */
-
-/*
- * New Method: wpRegisterView
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRegisterView(WPObject *somSelf, 
-		HWND hwndFrame, 
-		PSZ pszViewTitle);
-#pragma linkage(somTP_WPObject_wpRegisterView, system)
-typedef somTP_WPObject_wpRegisterView *somTD_WPObject_wpRegisterView;
-#define somMD_WPObject_wpRegisterView "::WPObject::wpRegisterView"
-#define WPObject_wpRegisterView(somSelf,hwndFrame,pszViewTitle) \
-    (SOM_Resolve(somSelf, WPObject, wpRegisterView) \
-	(somSelf,hwndFrame,pszViewTitle))
-#ifndef SOMGD_wpRegisterView
-    #if (defined(_wpRegisterView) || defined(__wpRegisterView))
-        #undef _wpRegisterView
-        #undef __wpRegisterView
-        #define SOMGD_wpRegisterView 1
-    #else
-        #define _wpRegisterView WPObject_wpRegisterView
-    #endif /* _wpRegisterView */
-#endif /* SOMGD_wpRegisterView */
-
-/*
- * New Method: wpReleaseObjectMutexSem
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpReleaseObjectMutexSem(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpReleaseObjectMutexSem, system)
-typedef somTP_WPObject_wpReleaseObjectMutexSem *somTD_WPObject_wpReleaseObjectMutexSem;
-#define somMD_WPObject_wpReleaseObjectMutexSem "::WPObject::wpReleaseObjectMutexSem"
-#define WPObject_wpReleaseObjectMutexSem(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpReleaseObjectMutexSem) \
-	(somSelf))
-#ifndef SOMGD_wpReleaseObjectMutexSem
-    #if (defined(_wpReleaseObjectMutexSem) || defined(__wpReleaseObjectMutexSem))
-        #undef _wpReleaseObjectMutexSem
-        #undef __wpReleaseObjectMutexSem
-        #define SOMGD_wpReleaseObjectMutexSem 1
-    #else
-        #define _wpReleaseObjectMutexSem WPObject_wpReleaseObjectMutexSem
-    #endif /* _wpReleaseObjectMutexSem */
-#endif /* SOMGD_wpReleaseObjectMutexSem */
-
-/*
- * New Method: wpRender
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpRender(WPObject *somSelf, 
-		PDRAGTRANSFER pdxfer);
-#pragma linkage(somTP_WPObject_wpRender, system)
-typedef somTP_WPObject_wpRender *somTD_WPObject_wpRender;
-#define somMD_WPObject_wpRender "::WPObject::wpRender"
-#define WPObject_wpRender(somSelf,pdxfer) \
-    (SOM_Resolve(somSelf, WPObject, wpRender) \
-	(somSelf,pdxfer))
-#ifndef SOMGD_wpRender
-    #if (defined(_wpRender) || defined(__wpRender))
-        #undef _wpRender
-        #undef __wpRender
-        #define SOMGD_wpRender 1
-    #else
-        #define _wpRender WPObject_wpRender
-    #endif /* _wpRender */
-#endif /* SOMGD_wpRender */
-
-/*
- * New Method: wpRenderComplete
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpRenderComplete(WPObject *somSelf, 
-		PDRAGTRANSFER pdxfer, 
-		ULONG ulResult);
-#pragma linkage(somTP_WPObject_wpRenderComplete, system)
-typedef somTP_WPObject_wpRenderComplete *somTD_WPObject_wpRenderComplete;
-#define somMD_WPObject_wpRenderComplete "::WPObject::wpRenderComplete"
-#define WPObject_wpRenderComplete(somSelf,pdxfer,ulResult) \
-    (SOM_Resolve(somSelf, WPObject, wpRenderComplete) \
-	(somSelf,pdxfer,ulResult))
-#ifndef SOMGD_wpRenderComplete
-    #if (defined(_wpRenderComplete) || defined(__wpRenderComplete))
-        #undef _wpRenderComplete
-        #undef __wpRenderComplete
-        #define SOMGD_wpRenderComplete 1
-    #else
-        #define _wpRenderComplete WPObject_wpRenderComplete
-    #endif /* _wpRenderComplete */
-#endif /* SOMGD_wpRenderComplete */
-
-/*
- * New Method: wpReplaceObject
- */
-typedef BOOL32   SOMLINK somTP_WPObject_wpReplaceObject(WPObject *somSelf, 
-		WPObject* targetObject, 
-		BOOL32 fMove);
-#pragma linkage(somTP_WPObject_wpReplaceObject, system)
-typedef somTP_WPObject_wpReplaceObject *somTD_WPObject_wpReplaceObject;
-#define somMD_WPObject_wpReplaceObject "::WPObject::wpReplaceObject"
-#define WPObject_wpReplaceObject(somSelf,targetObject,fMove) \
-    (SOM_Resolve(somSelf, WPObject, wpReplaceObject) \
-	(somSelf,targetObject,fMove))
-#ifndef SOMGD_wpReplaceObject
-    #if (defined(_wpReplaceObject) || defined(__wpReplaceObject))
-        #undef _wpReplaceObject
-        #undef __wpReplaceObject
-        #define SOMGD_wpReplaceObject 1
-    #else
-        #define _wpReplaceObject WPObject_wpReplaceObject
-    #endif /* _wpReplaceObject */
-#endif /* SOMGD_wpReplaceObject */
-
-/*
- * New Method: wpRequestObjectMutexSem
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpRequestObjectMutexSem(WPObject *somSelf, 
-		ULONG ulTimeout);
-#pragma linkage(somTP_WPObject_wpRequestObjectMutexSem, system)
-typedef somTP_WPObject_wpRequestObjectMutexSem *somTD_WPObject_wpRequestObjectMutexSem;
-#define somMD_WPObject_wpRequestObjectMutexSem "::WPObject::wpRequestObjectMutexSem"
-#define WPObject_wpRequestObjectMutexSem(somSelf,ulTimeout) \
-    (SOM_Resolve(somSelf, WPObject, wpRequestObjectMutexSem) \
-	(somSelf,ulTimeout))
-#ifndef SOMGD_wpRequestObjectMutexSem
-    #if (defined(_wpRequestObjectMutexSem) || defined(__wpRequestObjectMutexSem))
-        #undef _wpRequestObjectMutexSem
-        #undef __wpRequestObjectMutexSem
-        #define SOMGD_wpRequestObjectMutexSem 1
-    #else
-        #define _wpRequestObjectMutexSem WPObject_wpRequestObjectMutexSem
-    #endif /* _wpRequestObjectMutexSem */
-#endif /* SOMGD_wpRequestObjectMutexSem */
-
-/*
- * New Method: wpRestore
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestore(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpRestore, system)
-typedef somTP_WPObject_wpRestore *somTD_WPObject_wpRestore;
-#define somMD_WPObject_wpRestore "::WPObject::wpRestore"
-#define WPObject_wpRestore(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpRestore) \
-	(somSelf))
-#ifndef SOMGD_wpRestore
-    #if (defined(_wpRestore) || defined(__wpRestore))
-        #undef _wpRestore
-        #undef __wpRestore
-        #define SOMGD_wpRestore 1
-    #else
-        #define _wpRestore WPObject_wpRestore
-    #endif /* _wpRestore */
-#endif /* SOMGD_wpRestore */
-
-/*
- * New Method: wpRestoreData
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestoreData(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PBYTE pValue, 
-		PULONG pcbValue);
-#pragma linkage(somTP_WPObject_wpRestoreData, system)
-typedef somTP_WPObject_wpRestoreData *somTD_WPObject_wpRestoreData;
-#define somMD_WPObject_wpRestoreData "::WPObject::wpRestoreData"
-#define WPObject_wpRestoreData(somSelf,pszClass,ulKey,pValue,pcbValue) \
-    (SOM_Resolve(somSelf, WPObject, wpRestoreData) \
-	(somSelf,pszClass,ulKey,pValue,pcbValue))
-#ifndef SOMGD_wpRestoreData
-    #if (defined(_wpRestoreData) || defined(__wpRestoreData))
-        #undef _wpRestoreData
-        #undef __wpRestoreData
-        #define SOMGD_wpRestoreData 1
-    #else
-        #define _wpRestoreData WPObject_wpRestoreData
-    #endif /* _wpRestoreData */
-#endif /* SOMGD_wpRestoreData */
-
-/*
- * New Method: wpRestoreLong
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestoreLong(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PULONG pulValue);
-#pragma linkage(somTP_WPObject_wpRestoreLong, system)
-typedef somTP_WPObject_wpRestoreLong *somTD_WPObject_wpRestoreLong;
-#define somMD_WPObject_wpRestoreLong "::WPObject::wpRestoreLong"
-#define WPObject_wpRestoreLong(somSelf,pszClass,ulKey,pulValue) \
-    (SOM_Resolve(somSelf, WPObject, wpRestoreLong) \
-	(somSelf,pszClass,ulKey,pulValue))
-#ifndef SOMGD_wpRestoreLong
-    #if (defined(_wpRestoreLong) || defined(__wpRestoreLong))
-        #undef _wpRestoreLong
-        #undef __wpRestoreLong
-        #define SOMGD_wpRestoreLong 1
-    #else
-        #define _wpRestoreLong WPObject_wpRestoreLong
-    #endif /* _wpRestoreLong */
-#endif /* SOMGD_wpRestoreLong */
-
-/*
- * New Method: wpRestoreState
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestoreState(WPObject *somSelf, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpRestoreState, system)
-typedef somTP_WPObject_wpRestoreState *somTD_WPObject_wpRestoreState;
-#define somMD_WPObject_wpRestoreState "::WPObject::wpRestoreState"
-#define WPObject_wpRestoreState(somSelf,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpRestoreState) \
-	(somSelf,ulReserved))
-#ifndef SOMGD_wpRestoreState
-    #if (defined(_wpRestoreState) || defined(__wpRestoreState))
-        #undef _wpRestoreState
-        #undef __wpRestoreState
-        #define SOMGD_wpRestoreState 1
-    #else
-        #define _wpRestoreState WPObject_wpRestoreState
-    #endif /* _wpRestoreState */
-#endif /* SOMGD_wpRestoreState */
-
-/*
- * New Method: wpRestoreString
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestoreString(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PSZ pszValue, 
-		PULONG pcbValue);
-#pragma linkage(somTP_WPObject_wpRestoreString, system)
-typedef somTP_WPObject_wpRestoreString *somTD_WPObject_wpRestoreString;
-#define somMD_WPObject_wpRestoreString "::WPObject::wpRestoreString"
-#define WPObject_wpRestoreString(somSelf,pszClass,ulKey,pszValue,pcbValue) \
-    (SOM_Resolve(somSelf, WPObject, wpRestoreString) \
-	(somSelf,pszClass,ulKey,pszValue,pcbValue))
-#ifndef SOMGD_wpRestoreString
-    #if (defined(_wpRestoreString) || defined(__wpRestoreString))
-        #undef _wpRestoreString
-        #undef __wpRestoreString
-        #define SOMGD_wpRestoreString 1
-    #else
-        #define _wpRestoreString WPObject_wpRestoreString
-    #endif /* _wpRestoreString */
-#endif /* SOMGD_wpRestoreString */
-
-/*
- * New Method: wpSaveData
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveData(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PBYTE pValue, 
-		ULONG cbValue);
-#pragma linkage(somTP_WPObject_wpSaveData, system)
-typedef somTP_WPObject_wpSaveData *somTD_WPObject_wpSaveData;
-#define somMD_WPObject_wpSaveData "::WPObject::wpSaveData"
-#define WPObject_wpSaveData(somSelf,pszClass,ulKey,pValue,cbValue) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveData) \
-	(somSelf,pszClass,ulKey,pValue,cbValue))
-#ifndef SOMGD_wpSaveData
-    #if (defined(_wpSaveData) || defined(__wpSaveData))
-        #undef _wpSaveData
-        #undef __wpSaveData
-        #define SOMGD_wpSaveData 1
-    #else
-        #define _wpSaveData WPObject_wpSaveData
-    #endif /* _wpSaveData */
-#endif /* SOMGD_wpSaveData */
-
-/*
- * New Method: wpSaveImmediate
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveImmediate(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpSaveImmediate, system)
-typedef somTP_WPObject_wpSaveImmediate *somTD_WPObject_wpSaveImmediate;
-#define somMD_WPObject_wpSaveImmediate "::WPObject::wpSaveImmediate"
-#define WPObject_wpSaveImmediate(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveImmediate) \
-	(somSelf))
-#ifndef SOMGD_wpSaveImmediate
-    #if (defined(_wpSaveImmediate) || defined(__wpSaveImmediate))
-        #undef _wpSaveImmediate
-        #undef __wpSaveImmediate
-        #define SOMGD_wpSaveImmediate 1
-    #else
-        #define _wpSaveImmediate WPObject_wpSaveImmediate
-    #endif /* _wpSaveImmediate */
-#endif /* SOMGD_wpSaveImmediate */
-
-/*
- * New Method: wpSaveDeferred
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveDeferred(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpSaveDeferred, system)
-typedef somTP_WPObject_wpSaveDeferred *somTD_WPObject_wpSaveDeferred;
-#define somMD_WPObject_wpSaveDeferred "::WPObject::wpSaveDeferred"
-#define WPObject_wpSaveDeferred(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveDeferred) \
-	(somSelf))
-#ifndef SOMGD_wpSaveDeferred
-    #if (defined(_wpSaveDeferred) || defined(__wpSaveDeferred))
-        #undef _wpSaveDeferred
-        #undef __wpSaveDeferred
-        #define SOMGD_wpSaveDeferred 1
-    #else
-        #define _wpSaveDeferred WPObject_wpSaveDeferred
-    #endif /* _wpSaveDeferred */
-#endif /* SOMGD_wpSaveDeferred */
-
-/*
- * New Method: wpSaveLong
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveLong(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		ULONG ulValue);
-#pragma linkage(somTP_WPObject_wpSaveLong, system)
-typedef somTP_WPObject_wpSaveLong *somTD_WPObject_wpSaveLong;
-#define somMD_WPObject_wpSaveLong "::WPObject::wpSaveLong"
-#define WPObject_wpSaveLong(somSelf,pszClass,ulKey,ulValue) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveLong) \
-	(somSelf,pszClass,ulKey,ulValue))
-#ifndef SOMGD_wpSaveLong
-    #if (defined(_wpSaveLong) || defined(__wpSaveLong))
-        #undef _wpSaveLong
-        #undef __wpSaveLong
-        #define SOMGD_wpSaveLong 1
-    #else
-        #define _wpSaveLong WPObject_wpSaveLong
-    #endif /* _wpSaveLong */
-#endif /* SOMGD_wpSaveLong */
-
-/*
- * New Method: wpSaveState
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveState(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpSaveState, system)
-typedef somTP_WPObject_wpSaveState *somTD_WPObject_wpSaveState;
-#define somMD_WPObject_wpSaveState "::WPObject::wpSaveState"
-#define WPObject_wpSaveState(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveState) \
-	(somSelf))
-#ifndef SOMGD_wpSaveState
-    #if (defined(_wpSaveState) || defined(__wpSaveState))
-        #undef _wpSaveState
-        #undef __wpSaveState
-        #define SOMGD_wpSaveState 1
-    #else
-        #define _wpSaveState WPObject_wpSaveState
-    #endif /* _wpSaveState */
-#endif /* SOMGD_wpSaveState */
-
-/*
- * New Method: wpSaveString
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveString(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PSZ pszValue);
-#pragma linkage(somTP_WPObject_wpSaveString, system)
-typedef somTP_WPObject_wpSaveString *somTD_WPObject_wpSaveString;
-#define somMD_WPObject_wpSaveString "::WPObject::wpSaveString"
-#define WPObject_wpSaveString(somSelf,pszClass,ulKey,pszValue) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveString) \
-	(somSelf,pszClass,ulKey,pszValue))
-#ifndef SOMGD_wpSaveString
-    #if (defined(_wpSaveString) || defined(__wpSaveString))
-        #undef _wpSaveString
-        #undef __wpSaveString
-        #define SOMGD_wpSaveString 1
-    #else
-        #define _wpSaveString WPObject_wpSaveString
-    #endif /* _wpSaveString */
-#endif /* SOMGD_wpSaveString */
-
-/*
- * New Method: wpScanSetupString
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpScanSetupString(WPObject *somSelf, 
-		PSZ pszSetupString, 
-		PSZ pszKey, 
-		PSZ pszValue, 
-		PULONG pcbValue);
-#pragma linkage(somTP_WPObject_wpScanSetupString, system)
-typedef somTP_WPObject_wpScanSetupString *somTD_WPObject_wpScanSetupString;
-#define somMD_WPObject_wpScanSetupString "::WPObject::wpScanSetupString"
-#define WPObject_wpScanSetupString(somSelf,pszSetupString,pszKey,pszValue,pcbValue) \
-    (SOM_Resolve(somSelf, WPObject, wpScanSetupString) \
-	(somSelf,pszSetupString,pszKey,pszValue,pcbValue))
-#ifndef SOMGD_wpScanSetupString
-    #if (defined(_wpScanSetupString) || defined(__wpScanSetupString))
-        #undef _wpScanSetupString
-        #undef __wpScanSetupString
-        #define SOMGD_wpScanSetupString 1
-    #else
-        #define _wpScanSetupString WPObject_wpScanSetupString
-    #endif /* _wpScanSetupString */
-#endif /* SOMGD_wpScanSetupString */
-
-/*
- * New Method: wpSetConcurrentView
- */
-typedef void   SOMLINK somTP_WPObject_wpSetConcurrentView(WPObject *somSelf, 
-		ULONG ulCCView);
-#pragma linkage(somTP_WPObject_wpSetConcurrentView, system)
-typedef somTP_WPObject_wpSetConcurrentView *somTD_WPObject_wpSetConcurrentView;
-#define somMD_WPObject_wpSetConcurrentView "::WPObject::wpSetConcurrentView"
-#define WPObject_wpSetConcurrentView(somSelf,ulCCView) \
-    (SOM_Resolve(somSelf, WPObject, wpSetConcurrentView) \
-	(somSelf,ulCCView))
-#ifndef SOMGD_wpSetConcurrentView
-    #if (defined(_wpSetConcurrentView) || defined(__wpSetConcurrentView))
-        #undef _wpSetConcurrentView
-        #undef __wpSetConcurrentView
-        #define SOMGD_wpSetConcurrentView 1
-    #else
-        #define _wpSetConcurrentView WPObject_wpSetConcurrentView
-    #endif /* _wpSetConcurrentView */
-#endif /* SOMGD_wpSetConcurrentView */
-
-/*
- * New Method: wpSetButtonAppearance
- */
-typedef void   SOMLINK somTP_WPObject_wpSetButtonAppearance(WPObject *somSelf, 
-		ULONG ulButtonType);
-#pragma linkage(somTP_WPObject_wpSetButtonAppearance, system)
-typedef somTP_WPObject_wpSetButtonAppearance *somTD_WPObject_wpSetButtonAppearance;
-#define somMD_WPObject_wpSetButtonAppearance "::WPObject::wpSetButtonAppearance"
-#define WPObject_wpSetButtonAppearance(somSelf,ulButtonType) \
-    (SOM_Resolve(somSelf, WPObject, wpSetButtonAppearance) \
-	(somSelf,ulButtonType))
-#ifndef SOMGD_wpSetButtonAppearance
-    #if (defined(_wpSetButtonAppearance) || defined(__wpSetButtonAppearance))
-        #undef _wpSetButtonAppearance
-        #undef __wpSetButtonAppearance
-        #define SOMGD_wpSetButtonAppearance 1
-    #else
-        #define _wpSetButtonAppearance WPObject_wpSetButtonAppearance
-    #endif /* _wpSetButtonAppearance */
-#endif /* SOMGD_wpSetButtonAppearance */
-
-/*
- * New Method: wpSetDefaultHelp
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultHelp(WPObject *somSelf, 
-		ULONG HelpPanelId, 
-		PSZ HelpLibrary);
-#pragma linkage(somTP_WPObject_wpSetDefaultHelp, system)
-typedef somTP_WPObject_wpSetDefaultHelp *somTD_WPObject_wpSetDefaultHelp;
-#define somMD_WPObject_wpSetDefaultHelp "::WPObject::wpSetDefaultHelp"
-#define WPObject_wpSetDefaultHelp(somSelf,HelpPanelId,HelpLibrary) \
-    (SOM_Resolve(somSelf, WPObject, wpSetDefaultHelp) \
-	(somSelf,HelpPanelId,HelpLibrary))
-#ifndef SOMGD_wpSetDefaultHelp
-    #if (defined(_wpSetDefaultHelp) || defined(__wpSetDefaultHelp))
-        #undef _wpSetDefaultHelp
-        #undef __wpSetDefaultHelp
-        #define SOMGD_wpSetDefaultHelp 1
-    #else
-        #define _wpSetDefaultHelp WPObject_wpSetDefaultHelp
-    #endif /* _wpSetDefaultHelp */
-#endif /* SOMGD_wpSetDefaultHelp */
-
-/*
- * New Method: wpSetDefaultView
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultView(WPObject *somSelf, 
-		ULONG ulView);
-#pragma linkage(somTP_WPObject_wpSetDefaultView, system)
-typedef somTP_WPObject_wpSetDefaultView *somTD_WPObject_wpSetDefaultView;
-#define somMD_WPObject_wpSetDefaultView "::WPObject::wpSetDefaultView"
-#define WPObject_wpSetDefaultView(somSelf,ulView) \
-    (SOM_Resolve(somSelf, WPObject, wpSetDefaultView) \
-	(somSelf,ulView))
-#ifndef SOMGD_wpSetDefaultView
-    #if (defined(_wpSetDefaultView) || defined(__wpSetDefaultView))
-        #undef _wpSetDefaultView
-        #undef __wpSetDefaultView
-        #define SOMGD_wpSetDefaultView 1
-    #else
-        #define _wpSetDefaultView WPObject_wpSetDefaultView
-    #endif /* _wpSetDefaultView */
-#endif /* SOMGD_wpSetDefaultView */
-
-/*
- * New Method: wpSetError
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetError(WPObject *somSelf, 
-		ULONG ulErrorId);
-#pragma linkage(somTP_WPObject_wpSetError, system)
-typedef somTP_WPObject_wpSetError *somTD_WPObject_wpSetError;
-#define somMD_WPObject_wpSetError "::WPObject::wpSetError"
-#define WPObject_wpSetError(somSelf,ulErrorId) \
-    (SOM_Resolve(somSelf, WPObject, wpSetError) \
-	(somSelf,ulErrorId))
-#ifndef SOMGD_wpSetError
-    #if (defined(_wpSetError) || defined(__wpSetError))
-        #undef _wpSetError
-        #undef __wpSetError
-        #define SOMGD_wpSetError 1
-    #else
-        #define _wpSetError WPObject_wpSetError
-    #endif /* _wpSetError */
-#endif /* SOMGD_wpSetError */
-
-/*
- * New Method: wpSetIconHandle
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetIconHandle(WPObject *somSelf, 
-		HPOINTER hptrNewIcon);
-#pragma linkage(somTP_WPObject_wpSetIconHandle, system)
-typedef somTP_WPObject_wpSetIconHandle *somTD_WPObject_wpSetIconHandle;
-#define somMD_WPObject_wpSetIconHandle "::WPObject::wpSetIconHandle"
-#define WPObject_wpSetIconHandle(somSelf,hptrNewIcon) \
-    (SOM_Resolve(somSelf, WPObject, wpSetIconHandle) \
-	(somSelf,hptrNewIcon))
-#ifndef SOMGD_wpSetIconHandle
-    #if (defined(_wpSetIconHandle) || defined(__wpSetIconHandle))
-        #undef _wpSetIconHandle
-        #undef __wpSetIconHandle
-        #define SOMGD_wpSetIconHandle 1
-    #else
-        #define _wpSetIconHandle WPObject_wpSetIconHandle
-    #endif /* _wpSetIconHandle */
-#endif /* SOMGD_wpSetIconHandle */
-
-/*
- * New Method: wpQueryScreenGroupID
- */
-typedef USHORT   SOMLINK somTP_WPObject_wpQueryScreenGroupID(WPObject *somSelf, 
-		USHORT usPrevSgId);
-#pragma linkage(somTP_WPObject_wpQueryScreenGroupID, system)
-typedef somTP_WPObject_wpQueryScreenGroupID *somTD_WPObject_wpQueryScreenGroupID;
-#define somMD_WPObject_wpQueryScreenGroupID "::WPObject::wpQueryScreenGroupID"
-#define WPObject_wpQueryScreenGroupID(somSelf,usPrevSgId) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryScreenGroupID) \
-	(somSelf,usPrevSgId))
-#ifndef SOMGD_wpQueryScreenGroupID
-    #if (defined(_wpQueryScreenGroupID) || defined(__wpQueryScreenGroupID))
-        #undef _wpQueryScreenGroupID
-        #undef __wpQueryScreenGroupID
-        #define SOMGD_wpQueryScreenGroupID 1
-    #else
-        #define _wpQueryScreenGroupID WPObject_wpQueryScreenGroupID
-    #endif /* _wpQueryScreenGroupID */
-#endif /* SOMGD_wpQueryScreenGroupID */
-
-/*
- * New Method: wpSetupOnce
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetupOnce(WPObject *somSelf, 
-		PSZ pszSetupString);
-#pragma linkage(somTP_WPObject_wpSetupOnce, system)
-typedef somTP_WPObject_wpSetupOnce *somTD_WPObject_wpSetupOnce;
-#define somMD_WPObject_wpSetupOnce "::WPObject::wpSetupOnce"
-#define WPObject_wpSetupOnce(somSelf,pszSetupString) \
-    (SOM_Resolve(somSelf, WPObject, wpSetupOnce) \
-	(somSelf,pszSetupString))
-#ifndef SOMGD_wpSetupOnce
-    #if (defined(_wpSetupOnce) || defined(__wpSetupOnce))
-        #undef _wpSetupOnce
-        #undef __wpSetupOnce
-        #define SOMGD_wpSetupOnce 1
-    #else
-        #define _wpSetupOnce WPObject_wpSetupOnce
-    #endif /* _wpSetupOnce */
-#endif /* SOMGD_wpSetupOnce */
-
-/*
- * New Method: wpSetIcon
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetIcon(WPObject *somSelf, 
-		HPOINTER hptrNewIcon);
-#pragma linkage(somTP_WPObject_wpSetIcon, system)
-typedef somTP_WPObject_wpSetIcon *somTD_WPObject_wpSetIcon;
-#define somMD_WPObject_wpSetIcon "::WPObject::wpSetIcon"
-#define WPObject_wpSetIcon(somSelf,hptrNewIcon) \
-    (SOM_Resolve(somSelf, WPObject, wpSetIcon) \
-	(somSelf,hptrNewIcon))
-#ifndef SOMGD_wpSetIcon
-    #if (defined(_wpSetIcon) || defined(__wpSetIcon))
-        #undef _wpSetIcon
-        #undef __wpSetIcon
-        #define SOMGD_wpSetIcon 1
-    #else
-        #define _wpSetIcon WPObject_wpSetIcon
-    #endif /* _wpSetIcon */
-#endif /* SOMGD_wpSetIcon */
-
-/*
- * New Method: wpSetIconData
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetIconData(WPObject *somSelf, 
-		PICONINFO pIconInfo);
-#pragma linkage(somTP_WPObject_wpSetIconData, system)
-typedef somTP_WPObject_wpSetIconData *somTD_WPObject_wpSetIconData;
-#define somMD_WPObject_wpSetIconData "::WPObject::wpSetIconData"
-#define WPObject_wpSetIconData(somSelf,pIconInfo) \
-    (SOM_Resolve(somSelf, WPObject, wpSetIconData) \
-	(somSelf,pIconInfo))
-#ifndef SOMGD_wpSetIconData
-    #if (defined(_wpSetIconData) || defined(__wpSetIconData))
-        #undef _wpSetIconData
-        #undef __wpSetIconData
-        #define SOMGD_wpSetIconData 1
-    #else
-        #define _wpSetIconData WPObject_wpSetIconData
-    #endif /* _wpSetIconData */
-#endif /* SOMGD_wpSetIconData */
-
-/*
- * New Method: wpSetMinWindow
- */
-typedef void   SOMLINK somTP_WPObject_wpSetMinWindow(WPObject *somSelf, 
-		ULONG ulMinWindow);
-#pragma linkage(somTP_WPObject_wpSetMinWindow, system)
-typedef somTP_WPObject_wpSetMinWindow *somTD_WPObject_wpSetMinWindow;
-#define somMD_WPObject_wpSetMinWindow "::WPObject::wpSetMinWindow"
-#define WPObject_wpSetMinWindow(somSelf,ulMinWindow) \
-    (SOM_Resolve(somSelf, WPObject, wpSetMinWindow) \
-	(somSelf,ulMinWindow))
-#ifndef SOMGD_wpSetMinWindow
-    #if (defined(_wpSetMinWindow) || defined(__wpSetMinWindow))
-        #undef _wpSetMinWindow
-        #undef __wpSetMinWindow
-        #define SOMGD_wpSetMinWindow 1
-    #else
-        #define _wpSetMinWindow WPObject_wpSetMinWindow
-    #endif /* _wpSetMinWindow */
-#endif /* SOMGD_wpSetMinWindow */
-
-/*
- * New Method: wpSetStyle
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetStyle(WPObject *somSelf, 
-		ULONG ulNewStyle);
-#pragma linkage(somTP_WPObject_wpSetStyle, system)
-typedef somTP_WPObject_wpSetStyle *somTD_WPObject_wpSetStyle;
-#define somMD_WPObject_wpSetStyle "::WPObject::wpSetStyle"
-#define WPObject_wpSetStyle(somSelf,ulNewStyle) \
-    (SOM_Resolve(somSelf, WPObject, wpSetStyle) \
-	(somSelf,ulNewStyle))
-#ifndef SOMGD_wpSetStyle
-    #if (defined(_wpSetStyle) || defined(__wpSetStyle))
-        #undef _wpSetStyle
-        #undef __wpSetStyle
-        #define SOMGD_wpSetStyle 1
-    #else
-        #define _wpSetStyle WPObject_wpSetStyle
-    #endif /* _wpSetStyle */
-#endif /* SOMGD_wpSetStyle */
-
-/*
- * New Method: wpModifyStyle
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpModifyStyle(WPObject *somSelf, 
-		ULONG ulStyleFlags, 
-		ULONG ulStyleMask);
-#pragma linkage(somTP_WPObject_wpModifyStyle, system)
-typedef somTP_WPObject_wpModifyStyle *somTD_WPObject_wpModifyStyle;
-#define somMD_WPObject_wpModifyStyle "::WPObject::wpModifyStyle"
-#define WPObject_wpModifyStyle(somSelf,ulStyleFlags,ulStyleMask) \
-    (SOM_Resolve(somSelf, WPObject, wpModifyStyle) \
-	(somSelf,ulStyleFlags,ulStyleMask))
-#ifndef SOMGD_wpModifyStyle
-    #if (defined(_wpModifyStyle) || defined(__wpModifyStyle))
-        #undef _wpModifyStyle
-        #undef __wpModifyStyle
-        #define SOMGD_wpModifyStyle 1
-    #else
-        #define _wpModifyStyle WPObject_wpModifyStyle
-    #endif /* _wpModifyStyle */
-#endif /* SOMGD_wpModifyStyle */
-
-/*
- * New Method: wpSetTitle
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetTitle(WPObject *somSelf, 
-		PSZ pszNewTitle);
-#pragma linkage(somTP_WPObject_wpSetTitle, system)
-typedef somTP_WPObject_wpSetTitle *somTD_WPObject_wpSetTitle;
-#define somMD_WPObject_wpSetTitle "::WPObject::wpSetTitle"
-#define WPObject_wpSetTitle(somSelf,pszNewTitle) \
-    (SOM_Resolve(somSelf, WPObject, wpSetTitle) \
-	(somSelf,pszNewTitle))
-#ifndef SOMGD_wpSetTitle
-    #if (defined(_wpSetTitle) || defined(__wpSetTitle))
-        #undef _wpSetTitle
-        #undef __wpSetTitle
-        #define SOMGD_wpSetTitle 1
-    #else
-        #define _wpSetTitle WPObject_wpSetTitle
-    #endif /* _wpSetTitle */
-#endif /* SOMGD_wpSetTitle */
-
-/*
- * New Method: wpSetup
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetup(WPObject *somSelf, 
-		PSZ pszSetupString);
-#pragma linkage(somTP_WPObject_wpSetup, system)
-typedef somTP_WPObject_wpSetup *somTD_WPObject_wpSetup;
-#define somMD_WPObject_wpSetup "::WPObject::wpSetup"
-#define WPObject_wpSetup(somSelf,pszSetupString) \
-    (SOM_Resolve(somSelf, WPObject, wpSetup) \
-	(somSelf,pszSetupString))
-#ifndef SOMGD_wpSetup
-    #if (defined(_wpSetup) || defined(__wpSetup))
-        #undef _wpSetup
-        #undef __wpSetup
-        #define SOMGD_wpSetup 1
-    #else
-        #define _wpSetup WPObject_wpSetup
-    #endif /* _wpSetup */
-#endif /* SOMGD_wpSetup */
-
-/*
- * New Method: wpSwitchTo
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSwitchTo(WPObject *somSelf, 
-		ULONG View);
-#pragma linkage(somTP_WPObject_wpSwitchTo, system)
-typedef somTP_WPObject_wpSwitchTo *somTD_WPObject_wpSwitchTo;
-#define somMD_WPObject_wpSwitchTo "::WPObject::wpSwitchTo"
-#define WPObject_wpSwitchTo(somSelf,View) \
-    (SOM_Resolve(somSelf, WPObject, wpSwitchTo) \
-	(somSelf,View))
-#ifndef SOMGD_wpSwitchTo
-    #if (defined(_wpSwitchTo) || defined(__wpSwitchTo))
-        #undef _wpSwitchTo
-        #undef __wpSwitchTo
-        #define SOMGD_wpSwitchTo 1
-    #else
-        #define _wpSwitchTo WPObject_wpSwitchTo
-    #endif /* _wpSwitchTo */
-#endif /* SOMGD_wpSwitchTo */
-
-/*
- * New Method: wpUnInitData
- */
-typedef void   SOMLINK somTP_WPObject_wpUnInitData(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpUnInitData, system)
-typedef somTP_WPObject_wpUnInitData *somTD_WPObject_wpUnInitData;
-#define somMD_WPObject_wpUnInitData "::WPObject::wpUnInitData"
-#define WPObject_wpUnInitData(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpUnInitData) \
-	(somSelf))
-#ifndef SOMGD_wpUnInitData
-    #if (defined(_wpUnInitData) || defined(__wpUnInitData))
-        #undef _wpUnInitData
-        #undef __wpUnInitData
-        #define SOMGD_wpUnInitData 1
-    #else
-        #define _wpUnInitData WPObject_wpUnInitData
-    #endif /* _wpUnInitData */
-#endif /* SOMGD_wpUnInitData */
-
-/*
- * New Method: wpViewObject
- */
-typedef HWND   SOMLINK somTP_WPObject_wpViewObject(WPObject *somSelf, 
-		HWND hwndCnr, 
-		ULONG ulView, 
-		ULONG param);
-#pragma linkage(somTP_WPObject_wpViewObject, system)
-typedef somTP_WPObject_wpViewObject *somTD_WPObject_wpViewObject;
-#define somMD_WPObject_wpViewObject "::WPObject::wpViewObject"
-#define WPObject_wpViewObject(somSelf,hwndCnr,ulView,param) \
-    (SOM_Resolve(somSelf, WPObject, wpViewObject) \
-	(somSelf,hwndCnr,ulView,param))
-#ifndef SOMGD_wpViewObject
-    #if (defined(_wpViewObject) || defined(__wpViewObject))
-        #undef _wpViewObject
-        #undef __wpViewObject
-        #define SOMGD_wpViewObject 1
-    #else
-        #define _wpViewObject WPObject_wpViewObject
-    #endif /* _wpViewObject */
-#endif /* SOMGD_wpViewObject */
-
-/*
- * Direct call procedure
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryTrueStyle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryTrueStyle, system)
-typedef somTP_WPObject_wpQueryTrueStyle *somTD_WPObject_wpQueryTrueStyle;
-#define WPObject_wpQueryTrueStyle ((somTD_WPObject_wpQueryTrueStyle) WPObjectClassData.wpQueryTrueStyle)
-#ifndef SOMGD_wpQueryTrueStyle
-    #if (defined(_wpQueryTrueStyle) || defined(__wpQueryTrueStyle))
-        #undef _wpQueryTrueStyle
-        #undef __wpQueryTrueStyle
-        #define SOMGD_wpQueryTrueStyle 1
-    #else
-        #define _wpQueryTrueStyle WPObject_wpQueryTrueStyle
-    #endif /* _wpQueryTrueStyle */
-#endif /* SOMGD_wpQueryTrueStyle */
-
-/*
- * New Method: wpQueryHandle
- */
-typedef HOBJECT   SOMLINK somTP_WPObject_wpQueryHandle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryHandle, system)
-typedef somTP_WPObject_wpQueryHandle *somTD_WPObject_wpQueryHandle;
-#define somMD_WPObject_wpQueryHandle "::WPObject::wpQueryHandle"
-#define WPObject_wpQueryHandle(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryHandle) \
-	(somSelf))
-#ifndef SOMGD_wpQueryHandle
-    #if (defined(_wpQueryHandle) || defined(__wpQueryHandle))
-        #undef _wpQueryHandle
-        #undef __wpQueryHandle
-        #define SOMGD_wpQueryHandle 1
-    #else
-        #define _wpQueryHandle WPObject_wpQueryHandle
-    #endif /* _wpQueryHandle */
-#endif /* SOMGD_wpQueryHandle */
-
-/*
- * New Method: wpUnlockObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpUnlockObject(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpUnlockObject, system)
-typedef somTP_WPObject_wpUnlockObject *somTD_WPObject_wpUnlockObject;
-#define somMD_WPObject_wpUnlockObject "::WPObject::wpUnlockObject"
-#define WPObject_wpUnlockObject(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpUnlockObject) \
-	(somSelf))
-#ifndef SOMGD_wpUnlockObject
-    #if (defined(_wpUnlockObject) || defined(__wpUnlockObject))
-        #undef _wpUnlockObject
-        #undef __wpUnlockObject
-        #define SOMGD_wpUnlockObject 1
-    #else
-        #define _wpUnlockObject WPObject_wpUnlockObject
-    #endif /* _wpUnlockObject */
-#endif /* SOMGD_wpUnlockObject */
-
-/*
- * New Method: wpObjectReady
- */
-typedef void   SOMLINK somTP_WPObject_wpObjectReady(WPObject *somSelf, 
-		ULONG ulCode, 
-		WPObject* refObject);
-#pragma linkage(somTP_WPObject_wpObjectReady, system)
-typedef somTP_WPObject_wpObjectReady *somTD_WPObject_wpObjectReady;
-#define somMD_WPObject_wpObjectReady "::WPObject::wpObjectReady"
-#define WPObject_wpObjectReady(somSelf,ulCode,refObject) \
-    (SOM_Resolve(somSelf, WPObject, wpObjectReady) \
-	(somSelf,ulCode,refObject))
-#ifndef SOMGD_wpObjectReady
-    #if (defined(_wpObjectReady) || defined(__wpObjectReady))
-        #undef _wpObjectReady
-        #undef __wpObjectReady
-        #define SOMGD_wpObjectReady 1
-    #else
-        #define _wpObjectReady WPObject_wpObjectReady
-    #endif /* _wpObjectReady */
-#endif /* SOMGD_wpObjectReady */
-
-/*
- * New Method: wpIsObjectInitialized
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpIsObjectInitialized(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpIsObjectInitialized, system)
-typedef somTP_WPObject_wpIsObjectInitialized *somTD_WPObject_wpIsObjectInitialized;
-#define somMD_WPObject_wpIsObjectInitialized "::WPObject::wpIsObjectInitialized"
-#define WPObject_wpIsObjectInitialized(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpIsObjectInitialized) \
-	(somSelf))
-#ifndef SOMGD_wpIsObjectInitialized
-    #if (defined(_wpIsObjectInitialized) || defined(__wpIsObjectInitialized))
-        #undef _wpIsObjectInitialized
-        #undef __wpIsObjectInitialized
-        #define SOMGD_wpIsObjectInitialized 1
-    #else
-        #define _wpIsObjectInitialized WPObject_wpIsObjectInitialized
-    #endif /* _wpIsObjectInitialized */
-#endif /* SOMGD_wpIsObjectInitialized */
-
-/*
- * New Method: wpCreateShadowObjectExt
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCreateShadowObjectExt(WPObject *somSelf, 
-		WPFolder* Folder, 
-		BOOL fLock, 
-		PSZ pszSetup, 
-		M_WPObject* shadowClass);
-#pragma linkage(somTP_WPObject_wpCreateShadowObjectExt, system)
-typedef somTP_WPObject_wpCreateShadowObjectExt *somTD_WPObject_wpCreateShadowObjectExt;
-#define somMD_WPObject_wpCreateShadowObjectExt "::WPObject::wpCreateShadowObjectExt"
-#define WPObject_wpCreateShadowObjectExt(somSelf,Folder,fLock,pszSetup,shadowClass) \
-    (SOM_Resolve(somSelf, WPObject, wpCreateShadowObjectExt) \
-	(somSelf,Folder,fLock,pszSetup,shadowClass))
-#ifndef SOMGD_wpCreateShadowObjectExt
-    #if (defined(_wpCreateShadowObjectExt) || defined(__wpCreateShadowObjectExt))
-        #undef _wpCreateShadowObjectExt
-        #undef __wpCreateShadowObjectExt
-        #define SOMGD_wpCreateShadowObjectExt 1
-    #else
-        #define _wpCreateShadowObjectExt WPObject_wpCreateShadowObjectExt
-    #endif /* _wpCreateShadowObjectExt */
-#endif /* SOMGD_wpCreateShadowObjectExt */
-
-/*
- * New Method: wpCnrDeleteUseItem
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpCnrDeleteUseItem(WPObject *somSelf, 
-		HWND hwndCnr);
-#pragma linkage(somTP_WPObject_wpCnrDeleteUseItem, system)
-typedef somTP_WPObject_wpCnrDeleteUseItem *somTD_WPObject_wpCnrDeleteUseItem;
-#define somMD_WPObject_wpCnrDeleteUseItem "::WPObject::wpCnrDeleteUseItem"
-#define WPObject_wpCnrDeleteUseItem(somSelf,hwndCnr) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrDeleteUseItem) \
-	(somSelf,hwndCnr))
-#ifndef SOMGD_wpCnrDeleteUseItem
-    #if (defined(_wpCnrDeleteUseItem) || defined(__wpCnrDeleteUseItem))
-        #undef _wpCnrDeleteUseItem
-        #undef __wpCnrDeleteUseItem
-        #define SOMGD_wpCnrDeleteUseItem 1
-    #else
-        #define _wpCnrDeleteUseItem WPObject_wpCnrDeleteUseItem
-    #endif /* _wpCnrDeleteUseItem */
-#endif /* SOMGD_wpCnrDeleteUseItem */
-
-/*
- * New Method: wpIsDeleteable
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpIsDeleteable(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpIsDeleteable, system)
-typedef somTP_WPObject_wpIsDeleteable *somTD_WPObject_wpIsDeleteable;
-#define somMD_WPObject_wpIsDeleteable "::WPObject::wpIsDeleteable"
-#define WPObject_wpIsDeleteable(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpIsDeleteable) \
-	(somSelf))
-#ifndef SOMGD_wpIsDeleteable
-    #if (defined(_wpIsDeleteable) || defined(__wpIsDeleteable))
-        #undef _wpIsDeleteable
-        #undef __wpIsDeleteable
-        #define SOMGD_wpIsDeleteable 1
-    #else
-        #define _wpIsDeleteable WPObject_wpIsDeleteable
-    #endif /* _wpIsDeleteable */
-#endif /* SOMGD_wpIsDeleteable */
-
-/*
- * New Method: wpQueryCoreRecord
- */
-typedef PMINIRECORDCORE   SOMLINK somTP_WPObject_wpQueryCoreRecord(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryCoreRecord, system)
-typedef somTP_WPObject_wpQueryCoreRecord *somTD_WPObject_wpQueryCoreRecord;
-#define somMD_WPObject_wpQueryCoreRecord "::WPObject::wpQueryCoreRecord"
-#define WPObject_wpQueryCoreRecord(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryCoreRecord) \
-	(somSelf))
-#ifndef SOMGD_wpQueryCoreRecord
-    #if (defined(_wpQueryCoreRecord) || defined(__wpQueryCoreRecord))
-        #undef _wpQueryCoreRecord
-        #undef __wpQueryCoreRecord
-        #define SOMGD_wpQueryCoreRecord 1
-    #else
-        #define _wpQueryCoreRecord WPObject_wpQueryCoreRecord
-    #endif /* _wpQueryCoreRecord */
-#endif /* SOMGD_wpQueryCoreRecord */
-
-/*
- * New Method: wpSetObjectID
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetObjectID(WPObject *somSelf, 
-		PSZ pszObjectID);
-#pragma linkage(somTP_WPObject_wpSetObjectID, system)
-typedef somTP_WPObject_wpSetObjectID *somTD_WPObject_wpSetObjectID;
-#define somMD_WPObject_wpSetObjectID "::WPObject::wpSetObjectID"
-#define WPObject_wpSetObjectID(somSelf,pszObjectID) \
-    (SOM_Resolve(somSelf, WPObject, wpSetObjectID) \
-	(somSelf,pszObjectID))
-#ifndef SOMGD_wpSetObjectID
-    #if (defined(_wpSetObjectID) || defined(__wpSetObjectID))
-        #undef _wpSetObjectID
-        #undef __wpSetObjectID
-        #define SOMGD_wpSetObjectID 1
-    #else
-        #define _wpSetObjectID WPObject_wpSetObjectID
-    #endif /* _wpSetObjectID */
-#endif /* SOMGD_wpSetObjectID */
-
-/*
- * New Method: wpQueryObjectID
- */
-typedef PSZ   SOMLINK somTP_WPObject_wpQueryObjectID(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryObjectID, system)
-typedef somTP_WPObject_wpQueryObjectID *somTD_WPObject_wpQueryObjectID;
-#define somMD_WPObject_wpQueryObjectID "::WPObject::wpQueryObjectID"
-#define WPObject_wpQueryObjectID(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryObjectID) \
-	(somSelf))
-#ifndef SOMGD_wpQueryObjectID
-    #if (defined(_wpQueryObjectID) || defined(__wpQueryObjectID))
-        #undef _wpQueryObjectID
-        #undef __wpQueryObjectID
-        #define SOMGD_wpQueryObjectID 1
-    #else
-        #define _wpQueryObjectID WPObject_wpQueryObjectID
-    #endif /* _wpQueryObjectID */
-#endif /* SOMGD_wpQueryObjectID */
-
-/*
- * New Method: wpSetDefaultIconPos
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultIconPos(WPObject *somSelf, 
-		PPOINTL pPointl);
-#pragma linkage(somTP_WPObject_wpSetDefaultIconPos, system)
-typedef somTP_WPObject_wpSetDefaultIconPos *somTD_WPObject_wpSetDefaultIconPos;
-#define somMD_WPObject_wpSetDefaultIconPos "::WPObject::wpSetDefaultIconPos"
-#define WPObject_wpSetDefaultIconPos(somSelf,pPointl) \
-    (SOM_Resolve(somSelf, WPObject, wpSetDefaultIconPos) \
-	(somSelf,pPointl))
-#ifndef SOMGD_wpSetDefaultIconPos
-    #if (defined(_wpSetDefaultIconPos) || defined(__wpSetDefaultIconPos))
-        #undef _wpSetDefaultIconPos
-        #undef __wpSetDefaultIconPos
-        #define SOMGD_wpSetDefaultIconPos 1
-    #else
-        #define _wpSetDefaultIconPos WPObject_wpSetDefaultIconPos
-    #endif /* _wpSetDefaultIconPos */
-#endif /* SOMGD_wpSetDefaultIconPos */
-
-/*
- * New Method: wpQueryDefaultIconPos
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpQueryDefaultIconPos(WPObject *somSelf, 
-		PPOINTL pPointl);
-#pragma linkage(somTP_WPObject_wpQueryDefaultIconPos, system)
-typedef somTP_WPObject_wpQueryDefaultIconPos *somTD_WPObject_wpQueryDefaultIconPos;
-#define somMD_WPObject_wpQueryDefaultIconPos "::WPObject::wpQueryDefaultIconPos"
-#define WPObject_wpQueryDefaultIconPos(somSelf,pPointl) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryDefaultIconPos) \
-	(somSelf,pPointl))
-#ifndef SOMGD_wpQueryDefaultIconPos
-    #if (defined(_wpQueryDefaultIconPos) || defined(__wpQueryDefaultIconPos))
-        #undef _wpQueryDefaultIconPos
-        #undef __wpQueryDefaultIconPos
-        #define SOMGD_wpQueryDefaultIconPos 1
-    #else
-        #define _wpQueryDefaultIconPos WPObject_wpQueryDefaultIconPos
-    #endif /* _wpQueryDefaultIconPos */
-#endif /* SOMGD_wpQueryDefaultIconPos */
-
-/*
- * New Method: wpCnrRefreshDetails
- */
-typedef void   SOMLINK somTP_WPObject_wpCnrRefreshDetails(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpCnrRefreshDetails, system)
-typedef somTP_WPObject_wpCnrRefreshDetails *somTD_WPObject_wpCnrRefreshDetails;
-#define somMD_WPObject_wpCnrRefreshDetails "::WPObject::wpCnrRefreshDetails"
-#define WPObject_wpCnrRefreshDetails(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrRefreshDetails) \
-	(somSelf))
-#ifndef SOMGD_wpCnrRefreshDetails
-    #if (defined(_wpCnrRefreshDetails) || defined(__wpCnrRefreshDetails))
-        #undef _wpCnrRefreshDetails
-        #undef __wpCnrRefreshDetails
-        #define SOMGD_wpCnrRefreshDetails 1
-    #else
-        #define _wpCnrRefreshDetails WPObject_wpCnrRefreshDetails
-    #endif /* _wpCnrRefreshDetails */
-#endif /* SOMGD_wpCnrRefreshDetails */
-
-/*
- * New Method: wpFindViewItem
- */
-typedef PVIEWITEM   SOMLINK somTP_WPObject_wpFindViewItem(WPObject *somSelf, 
-		ULONG flViews, 
-		PVIEWITEM pCurrentItem);
-#pragma linkage(somTP_WPObject_wpFindViewItem, system)
-typedef somTP_WPObject_wpFindViewItem *somTD_WPObject_wpFindViewItem;
-#define somMD_WPObject_wpFindViewItem "::WPObject::wpFindViewItem"
-#define WPObject_wpFindViewItem(somSelf,flViews,pCurrentItem) \
-    (SOM_Resolve(somSelf, WPObject, wpFindViewItem) \
-	(somSelf,flViews,pCurrentItem))
-#ifndef SOMGD_wpFindViewItem
-    #if (defined(_wpFindViewItem) || defined(__wpFindViewItem))
-        #undef _wpFindViewItem
-        #undef __wpFindViewItem
-        #define SOMGD_wpFindViewItem 1
-    #else
-        #define _wpFindViewItem WPObject_wpFindViewItem
-    #endif /* _wpFindViewItem */
-#endif /* SOMGD_wpFindViewItem */
-
-/*
- * New Method: wpLockObject
- */
-typedef void   SOMLINK somTP_WPObject_wpLockObject(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpLockObject, system)
-typedef somTP_WPObject_wpLockObject *somTD_WPObject_wpLockObject;
-#define somMD_WPObject_wpLockObject "::WPObject::wpLockObject"
-#define WPObject_wpLockObject(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpLockObject) \
-	(somSelf))
-#ifndef SOMGD_wpLockObject
-    #if (defined(_wpLockObject) || defined(__wpLockObject))
-        #undef _wpLockObject
-        #undef __wpLockObject
-        #define SOMGD_wpLockObject 1
-    #else
-        #define _wpLockObject WPObject_wpLockObject
-    #endif /* _wpLockObject */
-#endif /* SOMGD_wpLockObject */
-
-/*
- * New Method: wpIsLocked
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpIsLocked(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpIsLocked, system)
-typedef somTP_WPObject_wpIsLocked *somTD_WPObject_wpIsLocked;
-#define somMD_WPObject_wpIsLocked "::WPObject::wpIsLocked"
-#define WPObject_wpIsLocked(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpIsLocked) \
-	(somSelf))
-#ifndef SOMGD_wpIsLocked
-    #if (defined(_wpIsLocked) || defined(__wpIsLocked))
-        #undef _wpIsLocked
-        #undef __wpIsLocked
-        #define SOMGD_wpIsLocked 1
-    #else
-        #define _wpIsLocked WPObject_wpIsLocked
-    #endif /* _wpIsLocked */
-#endif /* SOMGD_wpIsLocked */
-
-/*
- * New Method: wpQueryContainerFlagPtr
- */
-typedef PULONG   SOMLINK somTP_WPObject_wpQueryContainerFlagPtr(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryContainerFlagPtr, system)
-typedef somTP_WPObject_wpQueryContainerFlagPtr *somTD_WPObject_wpQueryContainerFlagPtr;
-#define somMD_WPObject_wpQueryContainerFlagPtr "::WPObject::wpQueryContainerFlagPtr"
-#define WPObject_wpQueryContainerFlagPtr(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryContainerFlagPtr) \
-	(somSelf))
-#ifndef SOMGD_wpQueryContainerFlagPtr
-    #if (defined(_wpQueryContainerFlagPtr) || defined(__wpQueryContainerFlagPtr))
-        #undef _wpQueryContainerFlagPtr
-        #undef __wpQueryContainerFlagPtr
-        #define SOMGD_wpQueryContainerFlagPtr 1
-    #else
-        #define _wpQueryContainerFlagPtr WPObject_wpQueryContainerFlagPtr
-    #endif /* _wpQueryContainerFlagPtr */
-#endif /* SOMGD_wpQueryContainerFlagPtr */
-
-/*
- * New Method: wpWaitForClose
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpWaitForClose(WPObject *somSelf, 
-		LHANDLE lhView, 
-		ULONG ulViews, 
-		long lTimeOut, 
-		BOOL bAutoClose);
-#pragma linkage(somTP_WPObject_wpWaitForClose, system)
-typedef somTP_WPObject_wpWaitForClose *somTD_WPObject_wpWaitForClose;
-#define somMD_WPObject_wpWaitForClose "::WPObject::wpWaitForClose"
-#define WPObject_wpWaitForClose(somSelf,lhView,ulViews,lTimeOut,bAutoClose) \
-    (SOM_Resolve(somSelf, WPObject, wpWaitForClose) \
-	(somSelf,lhView,ulViews,lTimeOut,bAutoClose))
-#ifndef SOMGD_wpWaitForClose
-    #if (defined(_wpWaitForClose) || defined(__wpWaitForClose))
-        #undef _wpWaitForClose
-        #undef __wpWaitForClose
-        #define SOMGD_wpWaitForClose 1
-    #else
-        #define _wpWaitForClose WPObject_wpWaitForClose
-    #endif /* _wpWaitForClose */
-#endif /* SOMGD_wpWaitForClose */
-
-/*
- * New Method: wpFilterMenu
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpFilterMenu(WPObject *somSelf, 
-		FILTERFLAGS* pFlags, 
-		HWND hwndCnr, 
-		BOOL fMultiSelect, 
-		ULONG ulMenuType, 
-		ULONG ulView, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpFilterMenu, system)
-typedef somTP_WPObject_wpFilterMenu *somTD_WPObject_wpFilterMenu;
-#define somMD_WPObject_wpFilterMenu "::WPObject::wpFilterMenu"
-#define WPObject_wpFilterMenu(somSelf,pFlags,hwndCnr,fMultiSelect,ulMenuType,ulView,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpFilterMenu) \
-	(somSelf,pFlags,hwndCnr,fMultiSelect,ulMenuType,ulView,ulReserved))
-#ifndef SOMGD_wpFilterMenu
-    #if (defined(_wpFilterMenu) || defined(__wpFilterMenu))
-        #undef _wpFilterMenu
-        #undef __wpFilterMenu
-        #define SOMGD_wpFilterMenu 1
-    #else
-        #define _wpFilterMenu WPObject_wpFilterMenu
-    #endif /* _wpFilterMenu */
-#endif /* SOMGD_wpFilterMenu */
-
-/*
- * New Method: wpModifyMenu
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpModifyMenu(WPObject *somSelf, 
-		HWND hwndMenu, 
-		HWND hwndCnr, 
-		ULONG iPosition, 
-		ULONG ulMenuType, 
-		ULONG ulView, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpModifyMenu, system)
-typedef somTP_WPObject_wpModifyMenu *somTD_WPObject_wpModifyMenu;
-#define somMD_WPObject_wpModifyMenu "::WPObject::wpModifyMenu"
-#define WPObject_wpModifyMenu(somSelf,hwndMenu,hwndCnr,iPosition,ulMenuType,ulView,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpModifyMenu) \
-	(somSelf,hwndMenu,hwndCnr,iPosition,ulMenuType,ulView,ulReserved))
-#ifndef SOMGD_wpModifyMenu
-    #if (defined(_wpModifyMenu) || defined(__wpModifyMenu))
-        #undef _wpModifyMenu
-        #undef __wpModifyMenu
-        #define SOMGD_wpModifyMenu 1
-    #else
-        #define _wpModifyMenu WPObject_wpModifyMenu
-    #endif /* _wpModifyMenu */
-#endif /* SOMGD_wpModifyMenu */
-
-/*
- * New Method: wpInsertMenuItems
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpInsertMenuItems(WPObject *somSelf, 
-		HWND hwndMenu, 
-		ULONG iPosition, 
-		HMODULE hmod, 
-		ULONG MenuID, 
-		ULONG SubMenuID);
-#pragma linkage(somTP_WPObject_wpInsertMenuItems, system)
-typedef somTP_WPObject_wpInsertMenuItems *somTD_WPObject_wpInsertMenuItems;
-#define somMD_WPObject_wpInsertMenuItems "::WPObject::wpInsertMenuItems"
-#define WPObject_wpInsertMenuItems(somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID) \
-    (SOM_Resolve(somSelf, WPObject, wpInsertMenuItems) \
-	(somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID))
-#ifndef SOMGD_wpInsertMenuItems
-    #if (defined(_wpInsertMenuItems) || defined(__wpInsertMenuItems))
-        #undef _wpInsertMenuItems
-        #undef __wpInsertMenuItems
-        #define SOMGD_wpInsertMenuItems 1
-    #else
-        #define _wpInsertMenuItems WPObject_wpInsertMenuItems
-    #endif /* _wpInsertMenuItems */
-#endif /* SOMGD_wpInsertMenuItems */
-
-/*
- * New Method: wpSetMenuStyle
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetMenuStyle(WPObject *somSelf, 
-		ULONG ulStyle);
-#pragma linkage(somTP_WPObject_wpSetMenuStyle, system)
-typedef somTP_WPObject_wpSetMenuStyle *somTD_WPObject_wpSetMenuStyle;
-#define somMD_WPObject_wpSetMenuStyle "::WPObject::wpSetMenuStyle"
-#define WPObject_wpSetMenuStyle(somSelf,ulStyle) \
-    (SOM_Resolve(somSelf, WPObject, wpSetMenuStyle) \
-	(somSelf,ulStyle))
-#ifndef SOMGD_wpSetMenuStyle
-    #if (defined(_wpSetMenuStyle) || defined(__wpSetMenuStyle))
-        #undef _wpSetMenuStyle
-        #undef __wpSetMenuStyle
-        #define SOMGD_wpSetMenuStyle 1
-    #else
-        #define _wpSetMenuStyle WPObject_wpSetMenuStyle
-    #endif /* _wpSetMenuStyle */
-#endif /* SOMGD_wpSetMenuStyle */
-
-/*
- * New Method: wpQueryMenuStyle
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryMenuStyle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryMenuStyle, system)
-typedef somTP_WPObject_wpQueryMenuStyle *somTD_WPObject_wpQueryMenuStyle;
-#define somMD_WPObject_wpQueryMenuStyle "::WPObject::wpQueryMenuStyle"
-#define WPObject_wpQueryMenuStyle(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryMenuStyle) \
-	(somSelf))
-#ifndef SOMGD_wpQueryMenuStyle
-    #if (defined(_wpQueryMenuStyle) || defined(__wpQueryMenuStyle))
-        #undef _wpQueryMenuStyle
-        #undef __wpQueryMenuStyle
-        #define SOMGD_wpQueryMenuStyle 1
-    #else
-        #define _wpQueryMenuStyle WPObject_wpQueryMenuStyle
-    #endif /* _wpQueryMenuStyle */
-#endif /* SOMGD_wpQueryMenuStyle */
-
-/*
- * New Method: wpSetNextObj
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetNextObj(WPObject *somSelf, 
-		WPObject* pobjNext);
-#pragma linkage(somTP_WPObject_wpSetNextObj, system)
-typedef somTP_WPObject_wpSetNextObj *somTD_WPObject_wpSetNextObj;
-#define somMD_WPObject_wpSetNextObj "::WPObject::wpSetNextObj"
-#define WPObject_wpSetNextObj(somSelf,pobjNext) \
-    (SOM_Resolve(somSelf, WPObject, wpSetNextObj) \
-	(somSelf,pobjNext))
-#ifndef SOMGD_wpSetNextObj
-    #if (defined(_wpSetNextObj) || defined(__wpSetNextObj))
-        #undef _wpSetNextObj
-        #undef __wpSetNextObj
-        #define SOMGD_wpSetNextObj 1
-    #else
-        #define _wpSetNextObj WPObject_wpSetNextObj
-    #endif /* _wpSetNextObj */
-#endif /* SOMGD_wpSetNextObj */
-
-/*
- * New Method: wpQueryNextObj
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpQueryNextObj(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryNextObj, system)
-typedef somTP_WPObject_wpQueryNextObj *somTD_WPObject_wpQueryNextObj;
-#define somMD_WPObject_wpQueryNextObj "::WPObject::wpQueryNextObj"
-#define WPObject_wpQueryNextObj(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryNextObj) \
-	(somSelf))
-#ifndef SOMGD_wpQueryNextObj
-    #if (defined(_wpQueryNextObj) || defined(__wpQueryNextObj))
-        #undef _wpQueryNextObj
-        #undef __wpQueryNextObj
-        #define SOMGD_wpQueryNextObj 1
-    #else
-        #define _wpQueryNextObj WPObject_wpQueryNextObj
-    #endif /* _wpQueryNextObj */
-#endif /* SOMGD_wpQueryNextObj */
-
-/*
- * New Method: wpMakeDormant
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpMakeDormant(WPObject *somSelf, 
-		BOOL fSave);
-#pragma linkage(somTP_WPObject_wpMakeDormant, system)
-typedef somTP_WPObject_wpMakeDormant *somTD_WPObject_wpMakeDormant;
-#define somMD_WPObject_wpMakeDormant "::WPObject::wpMakeDormant"
-#define WPObject_wpMakeDormant(somSelf,fSave) \
-    (SOM_Resolve(somSelf, WPObject, wpMakeDormant) \
-	(somSelf,fSave))
-#ifndef SOMGD_wpMakeDormant
-    #if (defined(_wpMakeDormant) || defined(__wpMakeDormant))
-        #undef _wpMakeDormant
-        #undef __wpMakeDormant
-        #define SOMGD_wpMakeDormant 1
-    #else
-        #define _wpMakeDormant WPObject_wpMakeDormant
-    #endif /* _wpMakeDormant */
-#endif /* SOMGD_wpMakeDormant */
-
-/*
- * New Method: wpDestroyObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDestroyObject(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpDestroyObject, system)
-typedef somTP_WPObject_wpDestroyObject *somTD_WPObject_wpDestroyObject;
-#define somMD_WPObject_wpDestroyObject "::WPObject::wpDestroyObject"
-#define WPObject_wpDestroyObject(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpDestroyObject) \
-	(somSelf))
-#ifndef SOMGD_wpDestroyObject
-    #if (defined(_wpDestroyObject) || defined(__wpDestroyObject))
-        #undef _wpDestroyObject
-        #undef __wpDestroyObject
-        #define SOMGD_wpDestroyObject 1
-    #else
-        #define _wpDestroyObject WPObject_wpDestroyObject
-    #endif /* _wpDestroyObject */
-#endif /* SOMGD_wpDestroyObject */
-
-/*
- * New Method: wpDeleteWindowPosKeys
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDeleteWindowPosKeys(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpDeleteWindowPosKeys, system)
-typedef somTP_WPObject_wpDeleteWindowPosKeys *somTD_WPObject_wpDeleteWindowPosKeys;
-#define somMD_WPObject_wpDeleteWindowPosKeys "::WPObject::wpDeleteWindowPosKeys"
-#define WPObject_wpDeleteWindowPosKeys(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpDeleteWindowPosKeys) \
-	(somSelf))
-#ifndef SOMGD_wpDeleteWindowPosKeys
-    #if (defined(_wpDeleteWindowPosKeys) || defined(__wpDeleteWindowPosKeys))
-        #undef _wpDeleteWindowPosKeys
-        #undef __wpDeleteWindowPosKeys
-        #define SOMGD_wpDeleteWindowPosKeys 1
-    #else
-        #define _wpDeleteWindowPosKeys WPObject_wpDeleteWindowPosKeys
-    #endif /* _wpDeleteWindowPosKeys */
-#endif /* SOMGD_wpDeleteWindowPosKeys */
-
-/*
- * New Method: wpSetState
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetState(WPObject *somSelf, 
-		ULONG fl);
-#pragma linkage(somTP_WPObject_wpSetState, system)
-typedef somTP_WPObject_wpSetState *somTD_WPObject_wpSetState;
-#define somMD_WPObject_wpSetState "::WPObject::wpSetState"
-#define WPObject_wpSetState(somSelf,fl) \
-    (SOM_Resolve(somSelf, WPObject, wpSetState) \
-	(somSelf,fl))
-#ifndef SOMGD_wpSetState
-    #if (defined(_wpSetState) || defined(__wpSetState))
-        #undef _wpSetState
-        #undef __wpSetState
-        #define SOMGD_wpSetState 1
-    #else
-        #define _wpSetState WPObject_wpSetState
-    #endif /* _wpSetState */
-#endif /* SOMGD_wpSetState */
-
-/*
- * New Method: wpQueryState
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryState(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryState, system)
-typedef somTP_WPObject_wpQueryState *somTD_WPObject_wpQueryState;
-#define somMD_WPObject_wpQueryState "::WPObject::wpQueryState"
-#define WPObject_wpQueryState(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryState) \
-	(somSelf))
-#ifndef SOMGD_wpQueryState
-    #if (defined(_wpQueryState) || defined(__wpQueryState))
-        #undef _wpQueryState
-        #undef __wpQueryState
-        #define SOMGD_wpQueryState 1
-    #else
-        #define _wpQueryState WPObject_wpQueryState
-    #endif /* _wpQueryState */
-#endif /* SOMGD_wpQueryState */
-
-/*
- * New Method: wpModifyState
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpModifyState(WPObject *somSelf, 
-		ULONG flFlags, 
-		ULONG flMask);
-#pragma linkage(somTP_WPObject_wpModifyState, system)
-typedef somTP_WPObject_wpModifyState *somTD_WPObject_wpModifyState;
-#define somMD_WPObject_wpModifyState "::WPObject::wpModifyState"
-#define WPObject_wpModifyState(somSelf,flFlags,flMask) \
-    (SOM_Resolve(somSelf, WPObject, wpModifyState) \
-	(somSelf,flFlags,flMask))
-#ifndef SOMGD_wpModifyState
-    #if (defined(_wpModifyState) || defined(__wpModifyState))
-        #undef _wpModifyState
-        #undef __wpModifyState
-        #define SOMGD_wpModifyState 1
-    #else
-        #define _wpModifyState WPObject_wpModifyState
-    #endif /* _wpModifyState */
-#endif /* SOMGD_wpModifyState */
-
-/*
- * New Method: wpIdentify
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpIdentify(WPObject *somSelf, 
-		PSZ pszIdentity);
-#pragma linkage(somTP_WPObject_wpIdentify, system)
-typedef somTP_WPObject_wpIdentify *somTD_WPObject_wpIdentify;
-#define somMD_WPObject_wpIdentify "::WPObject::wpIdentify"
-#define WPObject_wpIdentify(somSelf,pszIdentity) \
-    (SOM_Resolve(somSelf, WPObject, wpIdentify) \
-	(somSelf,pszIdentity))
-#ifndef SOMGD_wpIdentify
-    #if (defined(_wpIdentify) || defined(__wpIdentify))
-        #undef _wpIdentify
-        #undef __wpIdentify
-        #define SOMGD_wpIdentify 1
-    #else
-        #define _wpIdentify WPObject_wpIdentify
-    #endif /* _wpIdentify */
-#endif /* SOMGD_wpIdentify */
-
-/*
- * New Method: _get_pobjNext
- */
-typedef WPObject**   SOMLINK somTP_WPObject__get_pobjNext(WPObject *somSelf);
-#pragma linkage(somTP_WPObject__get_pobjNext, system)
-typedef somTP_WPObject__get_pobjNext *somTD_WPObject__get_pobjNext;
-/*
- * Method from the IDL attribute statement:
- * "readonly attribute WPObject** pobjNext"
- */
-#define somMD_WPObject__get_pobjNext "::WPObject::_get_pobjNext"
-#define WPObject__get_pobjNext(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, _get_pobjNext) \
-	(somSelf))
-#ifndef SOMGD_get_pobjNext
-    #if (defined(_get_pobjNext) || defined(__get_pobjNext))
-        #undef _get_pobjNext
-        #undef __get_pobjNext
-        #define SOMGD_get_pobjNext 1
-    #else
-        #define __get_pobjNext WPObject__get_pobjNext
-    #endif /* __get_pobjNext */
-#endif /* SOMGD_get_pobjNext */
-#ifndef SOM_DONT_USE_INHERITED_MACROS
-#define WPObject_somDefaultCopyInit SOMObject_somDefaultCopyInit
-#define WPObject_somDefaultAssign SOMObject_somDefaultAssign
-#define WPObject_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
-#define WPObject_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
-#define WPObject_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
-#define WPObject_somDefaultConstAssign SOMObject_somDefaultConstAssign
-#define WPObject_somDefaultVAssign SOMObject_somDefaultVAssign
-#define WPObject_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
-#define WPObject_somFree SOMObject_somFree
-#define WPObject_somGetClass SOMObject_somGetClass
-#define WPObject_somGetClassName SOMObject_somGetClassName
-#define WPObject_somGetSize SOMObject_somGetSize
-#define WPObject_somIsA SOMObject_somIsA
-#define WPObject_somIsInstanceOf SOMObject_somIsInstanceOf
-#define WPObject_somRespondsTo SOMObject_somRespondsTo
-#define WPObject_somDispatch SOMObject_somDispatch
-#define WPObject_somClassDispatch SOMObject_somClassDispatch
-#define WPObject_somCastObj SOMObject_somCastObj
-#define WPObject_somResetObj SOMObject_somResetObj
-#define WPObject_somDispatchV SOMObject_somDispatchV
-#define WPObject_somDispatchL SOMObject_somDispatchL
-#define WPObject_somDispatchA SOMObject_somDispatchA
-#define WPObject_somDispatchD SOMObject_somDispatchD
-#define WPObject_somPrintSelf SOMObject_somPrintSelf
-#define WPObject_somDumpSelf SOMObject_somDumpSelf
-#define WPObject_somDumpSelfInt SOMObject_somDumpSelfInt
-#endif /* SOM_DONT_USE_INHERITED_MACROS */
-
-#endif       /* SOM_WPObject_h */
-
-#ifndef SOM_M_WPObject_h
-#define SOM_M_WPObject_h
-
-
-#include <som.h>
-
-/*
- * -- This emitter treats Method Tokens as Thunks by default.
- * -- Use the sc modifier "nothunks" to change this default
- */
-#undef somresolve_
-#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
-/*
- * Define the class name as an object type
- */
-#ifndef M_WPObject
-#define M_WPObject SOMObject
-#endif
-#include <somcls.h>
-
-/*
- * Start of bindings for IDL types
- */
-
-
-/*
- * End of bindings for IDL types.
- */
-
-#define M_WPObject_MajorVersion 1
-#define M_WPObject_MinorVersion 2
-
-/*
- * External name shortening if required
- */
-#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
-#define M_WPObjectNewClass wpobjc
-#pragma linkage(wpobjc, system)
-#define M_WPObjectClassData wpobjd
-#define M_WPObjectCClassData wpobjx
-#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
-/*--------------Migration------------*/
-#define M_WPObject_classObj M_WPObjectClassData.classObject
-#define _M_WPObject M_WPObject_classObj
-
-/*
- * Declare the class creation procedure
- */
-SOMEXTERN SOMClass * SOMLINK M_WPObjectNewClass(integer4 somtmajorVersion,
-		integer4 somtminorVersion);
-#pragma linkage(M_WPObjectNewClass, system)
-
-/*
- * Declare the class data structure
- */
-SOMEXTERN struct M_WPObjectClassDataStructure {
-	SOMClass *classObject;
-	somMToken wpclsInitData;
-	somMToken wpclsUnInitData;
-	somMToken withdrawn8;
-	somMToken wpclsMakeAwake;
-	somMToken wpclsIncUsage;
-	somMToken wpclsDecUsage;
-	somMToken wpclsQueryTitle;
-	somMToken wpclsQueryIcon;
-	somMToken wpclsQueryDefaultHelp;
-	somMToken wpclsQueryStyle;
-	somMToken wpclsQueryDetailsInfo;
-	somMToken wpclsQueryDefaultView;
-	somMToken wpclsQueryDetails;
-	somMToken wpclsQuerySearchInfo;
-	somMToken wpclsQueryExtendedCriteria;
-	somMToken wpclsCreateDefaultTemplates;
-	somMToken withdrawn9;
-	somMToken wpclsFindObjectFirst;
-	somMToken wpclsFindObjectNext;
-	somMToken wpclsFindObjectEnd;
-	somMToken wpclsFindObjects;
-	somMToken wpclsSetError;
-	somMToken wpclsQueryError;
-	somMToken wpclsQuerySettingsPageSize;
-	somMToken wpclsSetSettingsPageSize;
-	somMToken wpclsQueryIconData;
-	somMToken wpclsSetIcon;
-	somMToken wpclsSetIconData;
-	somMToken wpclsQueryObject;
-	somMToken wpclsObjectFromHandle;
-	somMToken wpclsSaveDirtyObjects;
-	somMToken wpclsLockDirtyList;
-	somMToken wpclsUnlockDirtyList;
-	somMToken wpclsLockRestartList;
-	somMToken wpclsUnlockRestartList;
-	somMToken wpclsQueryButtonAppearance;
-	somMToken wpclsNew;
-	somMToken wpclsQueryFolder;
-	somMToken wpclsLockSleepyList;
-	somMToken wpclsUnlockSleepyList;
-	somMToken wpclsRemoveObjects;
-	somMToken wpclsInsertMultipleObjects;
-	somMToken wpclsINew;
-	somMToken wpclsFindOneObject;
-	somMToken wpclsQueryMaxAnimationIcons;
-} SOMDLINK M_WPObjectClassData;
-
-/*
- * Declare the C specific class data structure
- */
-SOMEXTERN struct M_WPObjectCClassDataStructure {
-	somMethodTabs parentMtab;
-	somDToken instanceDataToken;
-} SOMDLINK M_WPObjectCClassData;
-
-/*
- * New and Renew macros for M_WPObject
- */
-#define M_WPObjectNew() \
-   ( _M_WPObject ? \
-	_somNew(_M_WPObject) \
-	: ( M_WPObjectNewClass(\
-		M_WPObject_MajorVersion, \
-		M_WPObject_MinorVersion),\
-	   _somNew(_M_WPObject)))
-#define M_WPObjectRenew(buf) \
-   ( _M_WPObject ? \
-	_somRenew(_M_WPObject, buf) \
-	: ( M_WPObjectNewClass(\
-		M_WPObject_MajorVersion, \
-		M_WPObject_MinorVersion),\
-	   _somRenew(_M_WPObject, buf)))
-
-/*
- * Override method: somUninit
- */
-#define M_WPObject_somUninit(somSelf) \
-	SOMObject_somUninit(somSelf)
-
-/*
- * Override method: somClassReady
- */
-#define M_WPObject_somClassReady(somSelf) \
-	SOMClass_somClassReady(somSelf)
-
-/*
- * Override method: somNew
- */
-#define M_WPObject_somNew(somSelf) \
-	SOMClass_somNew(somSelf)
-
-/*
- * Override method: somRenew
- */
-#define M_WPObject_somRenew(somSelf,obj) \
-	SOMClass_somRenew(somSelf,obj)
-
-/*
- * New Method: wpclsCreateDefaultTemplates
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsCreateDefaultTemplates(M_WPObject *somSelf, 
-		WPObject* Folder);
-#pragma linkage(somTP_M_WPObject_wpclsCreateDefaultTemplates, system)
-typedef somTP_M_WPObject_wpclsCreateDefaultTemplates *somTD_M_WPObject_wpclsCreateDefaultTemplates;
-#define somMD_M_WPObject_wpclsCreateDefaultTemplates "::M_WPObject::wpclsCreateDefaultTemplates"
-#define M_WPObject_wpclsCreateDefaultTemplates(somSelf,Folder) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsCreateDefaultTemplates) \
-	(somSelf,Folder))
-#ifndef SOMGD_wpclsCreateDefaultTemplates
-    #if (defined(_wpclsCreateDefaultTemplates) || defined(__wpclsCreateDefaultTemplates))
-        #undef _wpclsCreateDefaultTemplates
-        #undef __wpclsCreateDefaultTemplates
-        #define SOMGD_wpclsCreateDefaultTemplates 1
-    #else
-        #define _wpclsCreateDefaultTemplates M_WPObject_wpclsCreateDefaultTemplates
-    #endif /* _wpclsCreateDefaultTemplates */
-#endif /* SOMGD_wpclsCreateDefaultTemplates */
-
-/*
- * New Method: wpclsInitData
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsInitData(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsInitData, system)
-typedef somTP_M_WPObject_wpclsInitData *somTD_M_WPObject_wpclsInitData;
-#define somMD_M_WPObject_wpclsInitData "::M_WPObject::wpclsInitData"
-#define M_WPObject_wpclsInitData(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsInitData) \
-	(somSelf))
-#ifndef SOMGD_wpclsInitData
-    #if (defined(_wpclsInitData) || defined(__wpclsInitData))
-        #undef _wpclsInitData
-        #undef __wpclsInitData
-        #define SOMGD_wpclsInitData 1
-    #else
-        #define _wpclsInitData M_WPObject_wpclsInitData
-    #endif /* _wpclsInitData */
-#endif /* SOMGD_wpclsInitData */
-
-/*
- * New Method: wpclsMakeAwake
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsMakeAwake(M_WPObject *somSelf, 
-		PSZ pszTitle, 
-		ULONG ulStyle, 
-		HPOINTER hptrIcon, 
-		POBJDATA pObjData, 
-		WPFolder* Folder, 
-		ULONG ulUser);
-#pragma linkage(somTP_M_WPObject_wpclsMakeAwake, system)
-typedef somTP_M_WPObject_wpclsMakeAwake *somTD_M_WPObject_wpclsMakeAwake;
-#define somMD_M_WPObject_wpclsMakeAwake "::M_WPObject::wpclsMakeAwake"
-#define M_WPObject_wpclsMakeAwake(somSelf,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsMakeAwake) \
-	(somSelf,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser))
-#ifndef SOMGD_wpclsMakeAwake
-    #if (defined(_wpclsMakeAwake) || defined(__wpclsMakeAwake))
-        #undef _wpclsMakeAwake
-        #undef __wpclsMakeAwake
-        #define SOMGD_wpclsMakeAwake 1
-    #else
-        #define _wpclsMakeAwake M_WPObject_wpclsMakeAwake
-    #endif /* _wpclsMakeAwake */
-#endif /* SOMGD_wpclsMakeAwake */
-
-/*
- * New Method: wpclsNew
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsNew(M_WPObject *somSelf, 
-		PSZ pszTitle, 
-		PSZ pszSetupEnv, 
-		WPFolder* Folder, 
-		BOOL fLock);
-#pragma linkage(somTP_M_WPObject_wpclsNew, system)
-typedef somTP_M_WPObject_wpclsNew *somTD_M_WPObject_wpclsNew;
-#define somMD_M_WPObject_wpclsNew "::M_WPObject::wpclsNew"
-#define M_WPObject_wpclsNew(somSelf,pszTitle,pszSetupEnv,Folder,fLock) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsNew) \
-	(somSelf,pszTitle,pszSetupEnv,Folder,fLock))
-#ifndef SOMGD_wpclsNew
-    #if (defined(_wpclsNew) || defined(__wpclsNew))
-        #undef _wpclsNew
-        #undef __wpclsNew
-        #define SOMGD_wpclsNew 1
-    #else
-        #define _wpclsNew M_WPObject_wpclsNew
-    #endif /* _wpclsNew */
-#endif /* SOMGD_wpclsNew */
-
-/*
- * New Method: wpclsQueryDefaultHelp
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQueryDefaultHelp(M_WPObject *somSelf, 
-		PULONG pHelpPanelId, 
-		PSZ pszHelpLibrary);
-#pragma linkage(somTP_M_WPObject_wpclsQueryDefaultHelp, system)
-typedef somTP_M_WPObject_wpclsQueryDefaultHelp *somTD_M_WPObject_wpclsQueryDefaultHelp;
-#define somMD_M_WPObject_wpclsQueryDefaultHelp "::M_WPObject::wpclsQueryDefaultHelp"
-#define M_WPObject_wpclsQueryDefaultHelp(somSelf,pHelpPanelId,pszHelpLibrary) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryDefaultHelp) \
-	(somSelf,pHelpPanelId,pszHelpLibrary))
-#ifndef SOMGD_wpclsQueryDefaultHelp
-    #if (defined(_wpclsQueryDefaultHelp) || defined(__wpclsQueryDefaultHelp))
-        #undef _wpclsQueryDefaultHelp
-        #undef __wpclsQueryDefaultHelp
-        #define SOMGD_wpclsQueryDefaultHelp 1
-    #else
-        #define _wpclsQueryDefaultHelp M_WPObject_wpclsQueryDefaultHelp
-    #endif /* _wpclsQueryDefaultHelp */
-#endif /* SOMGD_wpclsQueryDefaultHelp */
-
-/*
- * New Method: wpclsQueryDefaultView
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryDefaultView(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryDefaultView, system)
-typedef somTP_M_WPObject_wpclsQueryDefaultView *somTD_M_WPObject_wpclsQueryDefaultView;
-#define somMD_M_WPObject_wpclsQueryDefaultView "::M_WPObject::wpclsQueryDefaultView"
-#define M_WPObject_wpclsQueryDefaultView(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryDefaultView) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryDefaultView
-    #if (defined(_wpclsQueryDefaultView) || defined(__wpclsQueryDefaultView))
-        #undef _wpclsQueryDefaultView
-        #undef __wpclsQueryDefaultView
-        #define SOMGD_wpclsQueryDefaultView 1
-    #else
-        #define _wpclsQueryDefaultView M_WPObject_wpclsQueryDefaultView
-    #endif /* _wpclsQueryDefaultView */
-#endif /* SOMGD_wpclsQueryDefaultView */
-
-/*
- * New Method: wpclsQueryDetails
- */
-typedef PCLASSDETAILS   SOMLINK somTP_M_WPObject_wpclsQueryDetails(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryDetails, system)
-typedef somTP_M_WPObject_wpclsQueryDetails *somTD_M_WPObject_wpclsQueryDetails;
-#define somMD_M_WPObject_wpclsQueryDetails "::M_WPObject::wpclsQueryDetails"
-#define M_WPObject_wpclsQueryDetails(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryDetails) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryDetails
-    #if (defined(_wpclsQueryDetails) || defined(__wpclsQueryDetails))
-        #undef _wpclsQueryDetails
-        #undef __wpclsQueryDetails
-        #define SOMGD_wpclsQueryDetails 1
-    #else
-        #define _wpclsQueryDetails M_WPObject_wpclsQueryDetails
-    #endif /* _wpclsQueryDetails */
-#endif /* SOMGD_wpclsQueryDetails */
-
-/*
- * New Method: wpclsQueryDetailsInfo
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryDetailsInfo(M_WPObject *somSelf, 
-		PCLASSFIELDINFO* ppClassFieldInfo, 
-		PULONG pSize);
-#pragma linkage(somTP_M_WPObject_wpclsQueryDetailsInfo, system)
-typedef somTP_M_WPObject_wpclsQueryDetailsInfo *somTD_M_WPObject_wpclsQueryDetailsInfo;
-#define somMD_M_WPObject_wpclsQueryDetailsInfo "::M_WPObject::wpclsQueryDetailsInfo"
-#define M_WPObject_wpclsQueryDetailsInfo(somSelf,ppClassFieldInfo,pSize) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryDetailsInfo) \
-	(somSelf,ppClassFieldInfo,pSize))
-#ifndef SOMGD_wpclsQueryDetailsInfo
-    #if (defined(_wpclsQueryDetailsInfo) || defined(__wpclsQueryDetailsInfo))
-        #undef _wpclsQueryDetailsInfo
-        #undef __wpclsQueryDetailsInfo
-        #define SOMGD_wpclsQueryDetailsInfo 1
-    #else
-        #define _wpclsQueryDetailsInfo M_WPObject_wpclsQueryDetailsInfo
-    #endif /* _wpclsQueryDetailsInfo */
-#endif /* SOMGD_wpclsQueryDetailsInfo */
-
-/*
- * New Method: wpclsQueryExtendedCriteria
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQueryExtendedCriteria(M_WPObject *somSelf, 
-		PSZ pszName, 
-		ULONG ulSearchType, 
-		PVOID pvoidExtendedCriteria);
-#pragma linkage(somTP_M_WPObject_wpclsQueryExtendedCriteria, system)
-typedef somTP_M_WPObject_wpclsQueryExtendedCriteria *somTD_M_WPObject_wpclsQueryExtendedCriteria;
-#define somMD_M_WPObject_wpclsQueryExtendedCriteria "::M_WPObject::wpclsQueryExtendedCriteria"
-#define M_WPObject_wpclsQueryExtendedCriteria(somSelf,pszName,ulSearchType,pvoidExtendedCriteria) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryExtendedCriteria) \
-	(somSelf,pszName,ulSearchType,pvoidExtendedCriteria))
-#ifndef SOMGD_wpclsQueryExtendedCriteria
-    #if (defined(_wpclsQueryExtendedCriteria) || defined(__wpclsQueryExtendedCriteria))
-        #undef _wpclsQueryExtendedCriteria
-        #undef __wpclsQueryExtendedCriteria
-        #define SOMGD_wpclsQueryExtendedCriteria 1
-    #else
-        #define _wpclsQueryExtendedCriteria M_WPObject_wpclsQueryExtendedCriteria
-    #endif /* _wpclsQueryExtendedCriteria */
-#endif /* SOMGD_wpclsQueryExtendedCriteria */
-
-/*
- * New Method: wpclsQueryFolder
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsQueryFolder(M_WPObject *somSelf, 
-		PSZ pszLocation, 
-		BOOL fLock);
-#pragma linkage(somTP_M_WPObject_wpclsQueryFolder, system)
-typedef somTP_M_WPObject_wpclsQueryFolder *somTD_M_WPObject_wpclsQueryFolder;
-#define somMD_M_WPObject_wpclsQueryFolder "::M_WPObject::wpclsQueryFolder"
-#define M_WPObject_wpclsQueryFolder(somSelf,pszLocation,fLock) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryFolder) \
-	(somSelf,pszLocation,fLock))
-#ifndef SOMGD_wpclsQueryFolder
-    #if (defined(_wpclsQueryFolder) || defined(__wpclsQueryFolder))
-        #undef _wpclsQueryFolder
-        #undef __wpclsQueryFolder
-        #define SOMGD_wpclsQueryFolder 1
-    #else
-        #define _wpclsQueryFolder M_WPObject_wpclsQueryFolder
-    #endif /* _wpclsQueryFolder */
-#endif /* SOMGD_wpclsQueryFolder */
-
-/*
- * New Method: wpclsQueryIcon
- */
-typedef HPOINTER   SOMLINK somTP_M_WPObject_wpclsQueryIcon(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryIcon, system)
-typedef somTP_M_WPObject_wpclsQueryIcon *somTD_M_WPObject_wpclsQueryIcon;
-#define somMD_M_WPObject_wpclsQueryIcon "::M_WPObject::wpclsQueryIcon"
-#define M_WPObject_wpclsQueryIcon(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryIcon) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryIcon
-    #if (defined(_wpclsQueryIcon) || defined(__wpclsQueryIcon))
-        #undef _wpclsQueryIcon
-        #undef __wpclsQueryIcon
-        #define SOMGD_wpclsQueryIcon 1
-    #else
-        #define _wpclsQueryIcon M_WPObject_wpclsQueryIcon
-    #endif /* _wpclsQueryIcon */
-#endif /* SOMGD_wpclsQueryIcon */
-
-/*
- * New Method: wpclsQuerySearchInfo
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsQuerySearchInfo(M_WPObject *somSelf, 
-		M_WPObject** ClassExtended, 
-		M_WPObject** ClassCreate, 
-		PULONG pulClassCriteriaSize);
-#pragma linkage(somTP_M_WPObject_wpclsQuerySearchInfo, system)
-typedef somTP_M_WPObject_wpclsQuerySearchInfo *somTD_M_WPObject_wpclsQuerySearchInfo;
-#define somMD_M_WPObject_wpclsQuerySearchInfo "::M_WPObject::wpclsQuerySearchInfo"
-#define M_WPObject_wpclsQuerySearchInfo(somSelf,ClassExtended,ClassCreate,pulClassCriteriaSize) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQuerySearchInfo) \
-	(somSelf,ClassExtended,ClassCreate,pulClassCriteriaSize))
-#ifndef SOMGD_wpclsQuerySearchInfo
-    #if (defined(_wpclsQuerySearchInfo) || defined(__wpclsQuerySearchInfo))
-        #undef _wpclsQuerySearchInfo
-        #undef __wpclsQuerySearchInfo
-        #define SOMGD_wpclsQuerySearchInfo 1
-    #else
-        #define _wpclsQuerySearchInfo M_WPObject_wpclsQuerySearchInfo
-    #endif /* _wpclsQuerySearchInfo */
-#endif /* SOMGD_wpclsQuerySearchInfo */
-
-/*
- * New Method: wpclsQueryStyle
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryStyle(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryStyle, system)
-typedef somTP_M_WPObject_wpclsQueryStyle *somTD_M_WPObject_wpclsQueryStyle;
-#define somMD_M_WPObject_wpclsQueryStyle "::M_WPObject::wpclsQueryStyle"
-#define M_WPObject_wpclsQueryStyle(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryStyle) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryStyle
-    #if (defined(_wpclsQueryStyle) || defined(__wpclsQueryStyle))
-        #undef _wpclsQueryStyle
-        #undef __wpclsQueryStyle
-        #define SOMGD_wpclsQueryStyle 1
-    #else
-        #define _wpclsQueryStyle M_WPObject_wpclsQueryStyle
-    #endif /* _wpclsQueryStyle */
-#endif /* SOMGD_wpclsQueryStyle */
-
-/*
- * New Method: wpclsQueryTitle
- */
-typedef PSZ   SOMLINK somTP_M_WPObject_wpclsQueryTitle(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryTitle, system)
-typedef somTP_M_WPObject_wpclsQueryTitle *somTD_M_WPObject_wpclsQueryTitle;
-#define somMD_M_WPObject_wpclsQueryTitle "::M_WPObject::wpclsQueryTitle"
-#define M_WPObject_wpclsQueryTitle(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryTitle) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryTitle
-    #if (defined(_wpclsQueryTitle) || defined(__wpclsQueryTitle))
-        #undef _wpclsQueryTitle
-        #undef __wpclsQueryTitle
-        #define SOMGD_wpclsQueryTitle 1
-    #else
-        #define _wpclsQueryTitle M_WPObject_wpclsQueryTitle
-    #endif /* _wpclsQueryTitle */
-#endif /* SOMGD_wpclsQueryTitle */
-
-/*
- * New Method: wpclsUnInitData
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsUnInitData(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsUnInitData, system)
-typedef somTP_M_WPObject_wpclsUnInitData *somTD_M_WPObject_wpclsUnInitData;
-#define somMD_M_WPObject_wpclsUnInitData "::M_WPObject::wpclsUnInitData"
-#define M_WPObject_wpclsUnInitData(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsUnInitData) \
-	(somSelf))
-#ifndef SOMGD_wpclsUnInitData
-    #if (defined(_wpclsUnInitData) || defined(__wpclsUnInitData))
-        #undef _wpclsUnInitData
-        #undef __wpclsUnInitData
-        #define SOMGD_wpclsUnInitData 1
-    #else
-        #define _wpclsUnInitData M_WPObject_wpclsUnInitData
-    #endif /* _wpclsUnInitData */
-#endif /* SOMGD_wpclsUnInitData */
-
-/*
- * New Method: wpclsFindObjectFirst
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectFirst(M_WPObject *somSelf, 
-		PCLASS pClassList, 
-		PHFIND phFind, 
-		PSZ pszTitle, 
-		WPFolder* Folder, 
-		BOOL fSubfolders, 
-		PVOID pExtendedCriteria, 
-		POBJECT pBuffer, 
-		PULONG pCount);
-#pragma linkage(somTP_M_WPObject_wpclsFindObjectFirst, system)
-typedef somTP_M_WPObject_wpclsFindObjectFirst *somTD_M_WPObject_wpclsFindObjectFirst;
-#define somMD_M_WPObject_wpclsFindObjectFirst "::M_WPObject::wpclsFindObjectFirst"
-#define M_WPObject_wpclsFindObjectFirst(somSelf,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsFindObjectFirst) \
-	(somSelf,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount))
-#ifndef SOMGD_wpclsFindObjectFirst
-    #if (defined(_wpclsFindObjectFirst) || defined(__wpclsFindObjectFirst))
-        #undef _wpclsFindObjectFirst
-        #undef __wpclsFindObjectFirst
-        #define SOMGD_wpclsFindObjectFirst 1
-    #else
-        #define _wpclsFindObjectFirst M_WPObject_wpclsFindObjectFirst
-    #endif /* _wpclsFindObjectFirst */
-#endif /* SOMGD_wpclsFindObjectFirst */
-
-/*
- * New Method: wpclsFindObjectNext
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectNext(M_WPObject *somSelf, 
-		HFIND hFind, 
-		POBJECT pBuffer, 
-		PULONG pCount);
-#pragma linkage(somTP_M_WPObject_wpclsFindObjectNext, system)
-typedef somTP_M_WPObject_wpclsFindObjectNext *somTD_M_WPObject_wpclsFindObjectNext;
-#define somMD_M_WPObject_wpclsFindObjectNext "::M_WPObject::wpclsFindObjectNext"
-#define M_WPObject_wpclsFindObjectNext(somSelf,hFind,pBuffer,pCount) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsFindObjectNext) \
-	(somSelf,hFind,pBuffer,pCount))
-#ifndef SOMGD_wpclsFindObjectNext
-    #if (defined(_wpclsFindObjectNext) || defined(__wpclsFindObjectNext))
-        #undef _wpclsFindObjectNext
-        #undef __wpclsFindObjectNext
-        #define SOMGD_wpclsFindObjectNext 1
-    #else
-        #define _wpclsFindObjectNext M_WPObject_wpclsFindObjectNext
-    #endif /* _wpclsFindObjectNext */
-#endif /* SOMGD_wpclsFindObjectNext */
-
-/*
- * New Method: wpclsFindObjectEnd
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectEnd(M_WPObject *somSelf, 
-		HFIND hFind);
-#pragma linkage(somTP_M_WPObject_wpclsFindObjectEnd, system)
-typedef somTP_M_WPObject_wpclsFindObjectEnd *somTD_M_WPObject_wpclsFindObjectEnd;
-#define somMD_M_WPObject_wpclsFindObjectEnd "::M_WPObject::wpclsFindObjectEnd"
-#define M_WPObject_wpclsFindObjectEnd(somSelf,hFind) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsFindObjectEnd) \
-	(somSelf,hFind))
-#ifndef SOMGD_wpclsFindObjectEnd
-    #if (defined(_wpclsFindObjectEnd) || defined(__wpclsFindObjectEnd))
-        #undef _wpclsFindObjectEnd
-        #undef __wpclsFindObjectEnd
-        #define SOMGD_wpclsFindObjectEnd 1
-    #else
-        #define _wpclsFindObjectEnd M_WPObject_wpclsFindObjectEnd
-    #endif /* _wpclsFindObjectEnd */
-#endif /* SOMGD_wpclsFindObjectEnd */
-
-/*
- * New Method: wpclsSetError
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetError(M_WPObject *somSelf, 
-		ULONG ulErrorId);
-#pragma linkage(somTP_M_WPObject_wpclsSetError, system)
-typedef somTP_M_WPObject_wpclsSetError *somTD_M_WPObject_wpclsSetError;
-#define somMD_M_WPObject_wpclsSetError "::M_WPObject::wpclsSetError"
-#define M_WPObject_wpclsSetError(somSelf,ulErrorId) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsSetError) \
-	(somSelf,ulErrorId))
-#ifndef SOMGD_wpclsSetError
-    #if (defined(_wpclsSetError) || defined(__wpclsSetError))
-        #undef _wpclsSetError
-        #undef __wpclsSetError
-        #define SOMGD_wpclsSetError 1
-    #else
-        #define _wpclsSetError M_WPObject_wpclsSetError
-    #endif /* _wpclsSetError */
-#endif /* SOMGD_wpclsSetError */
-
-/*
- * New Method: wpclsQueryError
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryError(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryError, system)
-typedef somTP_M_WPObject_wpclsQueryError *somTD_M_WPObject_wpclsQueryError;
-#define somMD_M_WPObject_wpclsQueryError "::M_WPObject::wpclsQueryError"
-#define M_WPObject_wpclsQueryError(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryError) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryError
-    #if (defined(_wpclsQueryError) || defined(__wpclsQueryError))
-        #undef _wpclsQueryError
-        #undef __wpclsQueryError
-        #define SOMGD_wpclsQueryError 1
-    #else
-        #define _wpclsQueryError M_WPObject_wpclsQueryError
-    #endif /* _wpclsQueryError */
-#endif /* SOMGD_wpclsQueryError */
-
-/*
- * New Method: wpclsQuerySettingsPageSize
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQuerySettingsPageSize(M_WPObject *somSelf, 
-		PSIZEL pSizl);
-#pragma linkage(somTP_M_WPObject_wpclsQuerySettingsPageSize, system)
-typedef somTP_M_WPObject_wpclsQuerySettingsPageSize *somTD_M_WPObject_wpclsQuerySettingsPageSize;
-#define somMD_M_WPObject_wpclsQuerySettingsPageSize "::M_WPObject::wpclsQuerySettingsPageSize"
-#define M_WPObject_wpclsQuerySettingsPageSize(somSelf,pSizl) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQuerySettingsPageSize) \
-	(somSelf,pSizl))
-#ifndef SOMGD_wpclsQuerySettingsPageSize
-    #if (defined(_wpclsQuerySettingsPageSize) || defined(__wpclsQuerySettingsPageSize))
-        #undef _wpclsQuerySettingsPageSize
-        #undef __wpclsQuerySettingsPageSize
-        #define SOMGD_wpclsQuerySettingsPageSize 1
-    #else
-        #define _wpclsQuerySettingsPageSize M_WPObject_wpclsQuerySettingsPageSize
-    #endif /* _wpclsQuerySettingsPageSize */
-#endif /* SOMGD_wpclsQuerySettingsPageSize */
-
-/*
- * New Method: wpclsQueryIconData
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryIconData(M_WPObject *somSelf, 
-		PICONINFO pIconInfo);
-#pragma linkage(somTP_M_WPObject_wpclsQueryIconData, system)
-typedef somTP_M_WPObject_wpclsQueryIconData *somTD_M_WPObject_wpclsQueryIconData;
-#define somMD_M_WPObject_wpclsQueryIconData "::M_WPObject::wpclsQueryIconData"
-#define M_WPObject_wpclsQueryIconData(somSelf,pIconInfo) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryIconData) \
-	(somSelf,pIconInfo))
-#ifndef SOMGD_wpclsQueryIconData
-    #if (defined(_wpclsQueryIconData) || defined(__wpclsQueryIconData))
-        #undef _wpclsQueryIconData
-        #undef __wpclsQueryIconData
-        #define SOMGD_wpclsQueryIconData 1
-    #else
-        #define _wpclsQueryIconData M_WPObject_wpclsQueryIconData
-    #endif /* _wpclsQueryIconData */
-#endif /* SOMGD_wpclsQueryIconData */
-
-/*
- * New Method: wpclsQueryObject
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsQueryObject(M_WPObject *somSelf, 
-		HOBJECT hObject);
-#pragma linkage(somTP_M_WPObject_wpclsQueryObject, system)
-typedef somTP_M_WPObject_wpclsQueryObject *somTD_M_WPObject_wpclsQueryObject;
-#define somMD_M_WPObject_wpclsQueryObject "::M_WPObject::wpclsQueryObject"
-#define M_WPObject_wpclsQueryObject(somSelf,hObject) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryObject) \
-	(somSelf,hObject))
-#ifndef SOMGD_wpclsQueryObject
-    #if (defined(_wpclsQueryObject) || defined(__wpclsQueryObject))
-        #undef _wpclsQueryObject
-        #undef __wpclsQueryObject
-        #define SOMGD_wpclsQueryObject 1
-    #else
-        #define _wpclsQueryObject M_WPObject_wpclsQueryObject
-    #endif /* _wpclsQueryObject */
-#endif /* SOMGD_wpclsQueryObject */
-
-/*
- * New Method: wpclsQueryButtonAppearance
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryButtonAppearance(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryButtonAppearance, system)
-typedef somTP_M_WPObject_wpclsQueryButtonAppearance *somTD_M_WPObject_wpclsQueryButtonAppearance;
-#define somMD_M_WPObject_wpclsQueryButtonAppearance "::M_WPObject::wpclsQueryButtonAppearance"
-#define M_WPObject_wpclsQueryButtonAppearance(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryButtonAppearance) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryButtonAppearance
-    #if (defined(_wpclsQueryButtonAppearance) || defined(__wpclsQueryButtonAppearance))
-        #undef _wpclsQueryButtonAppearance
-        #undef __wpclsQueryButtonAppearance
-        #define SOMGD_wpclsQueryButtonAppearance 1
-    #else
-        #define _wpclsQueryButtonAppearance M_WPObject_wpclsQueryButtonAppearance
-    #endif /* _wpclsQueryButtonAppearance */
-#endif /* SOMGD_wpclsQueryButtonAppearance */
-
-/*
- * New Method: wpclsDecUsage
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsDecUsage(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsDecUsage, system)
-typedef somTP_M_WPObject_wpclsDecUsage *somTD_M_WPObject_wpclsDecUsage;
-#define somMD_M_WPObject_wpclsDecUsage "::M_WPObject::wpclsDecUsage"
-#define M_WPObject_wpclsDecUsage(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsDecUsage) \
-	(somSelf))
-#ifndef SOMGD_wpclsDecUsage
-    #if (defined(_wpclsDecUsage) || defined(__wpclsDecUsage))
-        #undef _wpclsDecUsage
-        #undef __wpclsDecUsage
-        #define SOMGD_wpclsDecUsage 1
-    #else
-        #define _wpclsDecUsage M_WPObject_wpclsDecUsage
-    #endif /* _wpclsDecUsage */
-#endif /* SOMGD_wpclsDecUsage */
-
-/*
- * New Method: wpclsIncUsage
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsIncUsage(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsIncUsage, system)
-typedef somTP_M_WPObject_wpclsIncUsage *somTD_M_WPObject_wpclsIncUsage;
-#define somMD_M_WPObject_wpclsIncUsage "::M_WPObject::wpclsIncUsage"
-#define M_WPObject_wpclsIncUsage(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsIncUsage) \
-	(somSelf))
-#ifndef SOMGD_wpclsIncUsage
-    #if (defined(_wpclsIncUsage) || defined(__wpclsIncUsage))
-        #undef _wpclsIncUsage
-        #undef __wpclsIncUsage
-        #define SOMGD_wpclsIncUsage 1
-    #else
-        #define _wpclsIncUsage M_WPObject_wpclsIncUsage
-    #endif /* _wpclsIncUsage */
-#endif /* SOMGD_wpclsIncUsage */
-
-/*
- * New Method: wpclsInsertMultipleObjects
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsInsertMultipleObjects(M_WPObject *somSelf, 
-		HWND hwndCnr, 
-		PPOINTL pptlIcon, 
-		PVOID* pObjectArray, 
-		PVOID pRecordParent, 
-		ULONG NumRecords);
-#pragma linkage(somTP_M_WPObject_wpclsInsertMultipleObjects, system)
-typedef somTP_M_WPObject_wpclsInsertMultipleObjects *somTD_M_WPObject_wpclsInsertMultipleObjects;
-#define somMD_M_WPObject_wpclsInsertMultipleObjects "::M_WPObject::wpclsInsertMultipleObjects"
-#define M_WPObject_wpclsInsertMultipleObjects(somSelf,hwndCnr,pptlIcon,pObjectArray,pRecordParent,NumRecords) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsInsertMultipleObjects) \
-	(somSelf,hwndCnr,pptlIcon,pObjectArray,pRecordParent,NumRecords))
-#ifndef SOMGD_wpclsInsertMultipleObjects
-    #if (defined(_wpclsInsertMultipleObjects) || defined(__wpclsInsertMultipleObjects))
-        #undef _wpclsInsertMultipleObjects
-        #undef __wpclsInsertMultipleObjects
-        #define SOMGD_wpclsInsertMultipleObjects 1
-    #else
-        #define _wpclsInsertMultipleObjects M_WPObject_wpclsInsertMultipleObjects
-    #endif /* _wpclsInsertMultipleObjects */
-#endif /* SOMGD_wpclsInsertMultipleObjects */
-
-/*
- * New Method: wpclsFindOneObject
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsFindOneObject(M_WPObject *somSelf, 
-		HWND hwndOwner, 
-		PSZ pszFindParams);
-#pragma linkage(somTP_M_WPObject_wpclsFindOneObject, system)
-typedef somTP_M_WPObject_wpclsFindOneObject *somTD_M_WPObject_wpclsFindOneObject;
-#define somMD_M_WPObject_wpclsFindOneObject "::M_WPObject::wpclsFindOneObject"
-#define M_WPObject_wpclsFindOneObject(somSelf,hwndOwner,pszFindParams) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsFindOneObject) \
-	(somSelf,hwndOwner,pszFindParams))
-#ifndef SOMGD_wpclsFindOneObject
-    #if (defined(_wpclsFindOneObject) || defined(__wpclsFindOneObject))
-        #undef _wpclsFindOneObject
-        #undef __wpclsFindOneObject
-        #define SOMGD_wpclsFindOneObject 1
-    #else
-        #define _wpclsFindOneObject M_WPObject_wpclsFindOneObject
-    #endif /* _wpclsFindOneObject */
-#endif /* SOMGD_wpclsFindOneObject */
-
-/*
- * New Method: wpclsSetSettingsPageSize
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetSettingsPageSize(M_WPObject *somSelf, 
-		PSIZEL pSizl);
-#pragma linkage(somTP_M_WPObject_wpclsSetSettingsPageSize, system)
-typedef somTP_M_WPObject_wpclsSetSettingsPageSize *somTD_M_WPObject_wpclsSetSettingsPageSize;
-#define somMD_M_WPObject_wpclsSetSettingsPageSize "::M_WPObject::wpclsSetSettingsPageSize"
-#define M_WPObject_wpclsSetSettingsPageSize(somSelf,pSizl) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsSetSettingsPageSize) \
-	(somSelf,pSizl))
-#ifndef SOMGD_wpclsSetSettingsPageSize
-    #if (defined(_wpclsSetSettingsPageSize) || defined(__wpclsSetSettingsPageSize))
-        #undef _wpclsSetSettingsPageSize
-        #undef __wpclsSetSettingsPageSize
-        #define SOMGD_wpclsSetSettingsPageSize 1
-    #else
-        #define _wpclsSetSettingsPageSize M_WPObject_wpclsSetSettingsPageSize
-    #endif /* _wpclsSetSettingsPageSize */
-#endif /* SOMGD_wpclsSetSettingsPageSize */
-
-/*
- * New Method: wpclsSetIconData
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetIconData(M_WPObject *somSelf, 
-		PICONINFO pIconInfo);
-#pragma linkage(somTP_M_WPObject_wpclsSetIconData, system)
-typedef somTP_M_WPObject_wpclsSetIconData *somTD_M_WPObject_wpclsSetIconData;
-#define somMD_M_WPObject_wpclsSetIconData "::M_WPObject::wpclsSetIconData"
-#define M_WPObject_wpclsSetIconData(somSelf,pIconInfo) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsSetIconData) \
-	(somSelf,pIconInfo))
-#ifndef SOMGD_wpclsSetIconData
-    #if (defined(_wpclsSetIconData) || defined(__wpclsSetIconData))
-        #undef _wpclsSetIconData
-        #undef __wpclsSetIconData
-        #define SOMGD_wpclsSetIconData 1
-    #else
-        #define _wpclsSetIconData M_WPObject_wpclsSetIconData
-    #endif /* _wpclsSetIconData */
-#endif /* SOMGD_wpclsSetIconData */
-
-/*
- * New Method: wpclsSetIcon
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetIcon(M_WPObject *somSelf, 
-		HPOINTER hptrNewIcon);
-#pragma linkage(somTP_M_WPObject_wpclsSetIcon, system)
-typedef somTP_M_WPObject_wpclsSetIcon *somTD_M_WPObject_wpclsSetIcon;
-#define somMD_M_WPObject_wpclsSetIcon "::M_WPObject::wpclsSetIcon"
-#define M_WPObject_wpclsSetIcon(somSelf,hptrNewIcon) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsSetIcon) \
-	(somSelf,hptrNewIcon))
-#ifndef SOMGD_wpclsSetIcon
-    #if (defined(_wpclsSetIcon) || defined(__wpclsSetIcon))
-        #undef _wpclsSetIcon
-        #undef __wpclsSetIcon
-        #define SOMGD_wpclsSetIcon 1
-    #else
-        #define _wpclsSetIcon M_WPObject_wpclsSetIcon
-    #endif /* _wpclsSetIcon */
-#endif /* SOMGD_wpclsSetIcon */
-
-/*
- * New Method: wpclsObjectFromHandle
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsObjectFromHandle(M_WPObject *somSelf, 
-		HOBJECT hObject);
-#pragma linkage(somTP_M_WPObject_wpclsObjectFromHandle, system)
-typedef somTP_M_WPObject_wpclsObjectFromHandle *somTD_M_WPObject_wpclsObjectFromHandle;
-#define somMD_M_WPObject_wpclsObjectFromHandle "::M_WPObject::wpclsObjectFromHandle"
-#define M_WPObject_wpclsObjectFromHandle(somSelf,hObject) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsObjectFromHandle) \
-	(somSelf,hObject))
-#ifndef SOMGD_wpclsObjectFromHandle
-    #if (defined(_wpclsObjectFromHandle) || defined(__wpclsObjectFromHandle))
-        #undef _wpclsObjectFromHandle
-        #undef __wpclsObjectFromHandle
-        #define SOMGD_wpclsObjectFromHandle 1
-    #else
-        #define _wpclsObjectFromHandle M_WPObject_wpclsObjectFromHandle
-    #endif /* _wpclsObjectFromHandle */
-#endif /* SOMGD_wpclsObjectFromHandle */
-
-/*
- * New Method: wpclsRemoveObjects
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsRemoveObjects(M_WPObject *somSelf, 
-		HWND hwndCnr, 
-		PVOID* pRecordArray, 
-		ULONG NumRecords, 
-		BOOL RemoveAll);
-#pragma linkage(somTP_M_WPObject_wpclsRemoveObjects, system)
-typedef somTP_M_WPObject_wpclsRemoveObjects *somTD_M_WPObject_wpclsRemoveObjects;
-#define somMD_M_WPObject_wpclsRemoveObjects "::M_WPObject::wpclsRemoveObjects"
-#define M_WPObject_wpclsRemoveObjects(somSelf,hwndCnr,pRecordArray,NumRecords,RemoveAll) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsRemoveObjects) \
-	(somSelf,hwndCnr,pRecordArray,NumRecords,RemoveAll))
-#ifndef SOMGD_wpclsRemoveObjects
-    #if (defined(_wpclsRemoveObjects) || defined(__wpclsRemoveObjects))
-        #undef _wpclsRemoveObjects
-        #undef __wpclsRemoveObjects
-        #define SOMGD_wpclsRemoveObjects 1
-    #else
-        #define _wpclsRemoveObjects M_WPObject_wpclsRemoveObjects
-    #endif /* _wpclsRemoveObjects */
-#endif /* SOMGD_wpclsRemoveObjects */
-
-/*
- * New Method: wpclsQueryMaxAnimationIcons
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryMaxAnimationIcons(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryMaxAnimationIcons, system)
-typedef somTP_M_WPObject_wpclsQueryMaxAnimationIcons *somTD_M_WPObject_wpclsQueryMaxAnimationIcons;
-#define somMD_M_WPObject_wpclsQueryMaxAnimationIcons "::M_WPObject::wpclsQueryMaxAnimationIcons"
-#define M_WPObject_wpclsQueryMaxAnimationIcons(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryMaxAnimationIcons) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryMaxAnimationIcons
-    #if (defined(_wpclsQueryMaxAnimationIcons) || defined(__wpclsQueryMaxAnimationIcons))
-        #undef _wpclsQueryMaxAnimationIcons
-        #undef __wpclsQueryMaxAnimationIcons
-        #define SOMGD_wpclsQueryMaxAnimationIcons 1
-    #else
-        #define _wpclsQueryMaxAnimationIcons M_WPObject_wpclsQueryMaxAnimationIcons
-    #endif /* _wpclsQueryMaxAnimationIcons */
-#endif /* SOMGD_wpclsQueryMaxAnimationIcons */
-#ifndef SOM_DONT_USE_INHERITED_MACROS
-#define M_WPObject__get_somDataAlignment SOMClass__get_somDataAlignment
-#define M_WPObject__get_somInstanceDataOffsets SOMClass__get_somInstanceDataOffsets
-#define M_WPObject__get_somDirectInitClasses SOMClass__get_somDirectInitClasses
-#define M_WPObject_somNewNoInit SOMClass_somNewNoInit
-#define M_WPObject_somRenewNoInit SOMClass_somRenewNoInit
-#define M_WPObject_somRenewNoZero SOMClass_somRenewNoZero
-#define M_WPObject_somRenewNoInitNoZero SOMClass_somRenewNoInitNoZero
-#define M_WPObject_somAllocate SOMClass_somAllocate
-#define M_WPObject_somDeallocate SOMClass_somDeallocate
-#define M_WPObject_somInitClass SOMClass_somInitClass
-#define M_WPObject_somInitMIClass SOMClass_somInitMIClass
-#define M_WPObject_somAddStaticMethod SOMClass_somAddStaticMethod
-#define M_WPObject_somAddDynamicMethod SOMClass_somAddDynamicMethod
-#define M_WPObject_somOverrideSMethod SOMClass_somOverrideSMethod
-#define M_WPObject_somGetApplyStub SOMClass_somGetApplyStub
-#define M_WPObject_somGetClassData SOMClass_somGetClassData
-#define M_WPObject_somSetClassData SOMClass_somSetClassData
-#define M_WPObject_somGetClassMtab SOMClass_somGetClassMtab
-#define M_WPObject_somGetInstanceOffset SOMClass_somGetInstanceOffset
-#define M_WPObject_somGetInstancePartSize SOMClass_somGetInstancePartSize
-#define M_WPObject_somGetInstanceSize SOMClass_somGetInstanceSize
-#define M_WPObject_somGetInstanceToken SOMClass_somGetInstanceToken
-#define M_WPObject_somGetMemberToken SOMClass_somGetMemberToken
-#define M_WPObject_somGetMethodData SOMClass_somGetMethodData
-#define M_WPObject_somGetRdStub SOMClass_somGetRdStub
-#define M_WPObject_somGetMethodDescriptor SOMClass_somGetMethodDescriptor
-#define M_WPObject_somGetMethodIndex SOMClass_somGetMethodIndex
-#define M_WPObject_somGetMethodToken SOMClass_somGetMethodToken
-#define M_WPObject_somGetName SOMClass_somGetName
-#define M_WPObject_somGetNthMethodData SOMClass_somGetNthMethodData
-#define M_WPObject_somGetNthMethodInfo SOMClass_somGetNthMethodInfo
-#define M_WPObject_somGetNumMethods SOMClass_somGetNumMethods
-#define M_WPObject_somGetNumStaticMethods SOMClass_somGetNumStaticMethods
-#define M_WPObject_somGetParent SOMClass_somGetParent
-#define M_WPObject_somGetParents SOMClass_somGetParents
-#define M_WPObject_somGetVersionNumbers SOMClass_somGetVersionNumbers
-#define M_WPObject_somFindMethod SOMClass_somFindMethod
-#define M_WPObject_somFindMethodOk SOMClass_somFindMethodOk
-#define M_WPObject_somFindSMethod SOMClass_somFindSMethod
-#define M_WPObject_somFindSMethodOk SOMClass_somFindSMethodOk
-#define M_WPObject_somLookupMethod SOMClass_somLookupMethod
-#define M_WPObject_somCheckVersion SOMClass_somCheckVersion
-#define M_WPObject_somDescendedFrom SOMClass_somDescendedFrom
-#define M_WPObject_somSupportsMethod SOMClass_somSupportsMethod
-#define M_WPObject_somDefinedMethod SOMClass_somDefinedMethod
-#define M_WPObject_somOverrideMtab SOMClass_somOverrideMtab
-#define M_WPObject_somDefaultInit SOMObject_somDefaultInit
-#define M_WPObject_somDestruct SOMObject_somDestruct
-#define M_WPObject_somDefaultCopyInit SOMObject_somDefaultCopyInit
-#define M_WPObject_somDefaultAssign SOMObject_somDefaultAssign
-#define M_WPObject_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
-#define M_WPObject_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
-#define M_WPObject_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
-#define M_WPObject_somDefaultConstAssign SOMObject_somDefaultConstAssign
-#define M_WPObject_somDefaultVAssign SOMObject_somDefaultVAssign
-#define M_WPObject_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
-#define M_WPObject_somInit SOMObject_somInit
-#define M_WPObject_somFree SOMObject_somFree
-#define M_WPObject_somGetClass SOMObject_somGetClass
-#define M_WPObject_somGetClassName SOMObject_somGetClassName
-#define M_WPObject_somGetSize SOMObject_somGetSize
-#define M_WPObject_somIsA SOMObject_somIsA
-#define M_WPObject_somIsInstanceOf SOMObject_somIsInstanceOf
-#define M_WPObject_somRespondsTo SOMObject_somRespondsTo
-#define M_WPObject_somDispatch SOMObject_somDispatch
-#define M_WPObject_somClassDispatch SOMObject_somClassDispatch
-#define M_WPObject_somCastObj SOMObject_somCastObj
-#define M_WPObject_somResetObj SOMObject_somResetObj
-#define M_WPObject_somDispatchV SOMObject_somDispatchV
-#define M_WPObject_somDispatchL SOMObject_somDispatchL
-#define M_WPObject_somDispatchA SOMObject_somDispatchA
-#define M_WPObject_somDispatchD SOMObject_somDispatchD
-#define M_WPObject_somPrintSelf SOMObject_somPrintSelf
-#define M_WPObject_somDumpSelf SOMObject_somDumpSelf
-#define M_WPObject_somDumpSelfInt SOMObject_somDumpSelfInt
-#endif /* SOM_DONT_USE_INHERITED_MACROS */
-
-#endif       /* SOM_M_WPObject_h */
-
Index: trunk/classes/inc/_cwmmres.h
===================================================================
--- trunk/classes/inc/_cwmmres.h	(revision 93)
+++ 	(revision )
@@ -1,204 +1,0 @@
-/* Audio icons */
-#define ID_ICONCWAUDIOFILE  2
-#define ID_ICONMP3FILE      3
-#define ID_ICONOGGFILE      4
-#define ID_ICONWAVFILE      5
-#define ID_ICONAIFFILE      6
-#define ID_ICONAUFILE       7
-#define ID_ICON_AUFILE      8
-#define ID_ICONIFFFILE      9
-#define ID_ICONSNDFFILE     10
-#define ID_ICONVOCFILE      11
-#define ID_ICONMIDIFILE     12
-#define ID_ICONFLACFILE     34
-
-/* Video icons */
-#define ID_ICONCWVIDEOFILE  13
-#define ID_ICONMPGFILE      14
-#define ID_ICONMOVFILE      15
-#define ID_ICONFLIFILE      16
-#define ID_ICONAVIFILE      17
-
-/* Image icons */
-#define ID_ICONCWIMAGEFILE 18
-#define ID_ICONAVCFILE     19
-#define ID_ICONDIBFILE     20
-#define ID_ICONGIFFILE     21
-#define ID_ICONJPGFILE     22
-#define ID_ICONPCDFILE     23
-#define ID_ICONPCXFILE     24
-#define ID_ICONTGAFILE     25
-#define ID_ICONTIFFILE     26
-#define ID_ICON_IMFILE     27
-#define ID_ICONBMPFILE     28
-#define ID_ICONPNGFILE     33
-/* Lighttable folder */
-#define ID_ICONLIGHTTABLE  29
-#define ID_ICONLIGHTTABLE2 30
-/* Audio stream icon */
-#define ID_ICONAUDIOSTREAM 31
-/* M3U icon*/
-#define ID_ICONM3UFILE     32
-/* Last icon id: 34 */
-
-/* Menu IDs */
-#define ID_MENU_VOLUME      0x6501
-#define ID_MENU_START       0xbbef
-#define ID_MENU_STOP        0xbbf9
-#define ID_MENU_PAUSE       0xbbfa /* Chosen by CW */
-#define ID_MENU_RESUME      0xbbfb /* Chosen by CW */
-#define ID_MENU_EDITOR      0xbc0d
-#define ID_MENU_PLAYER      0xbbe5
-#define ID_MENU_CONVERT     0xbc03
-#define ID_ITEM_CONVERT     0xb4dd
-#define ID_ITEM_FIRSTCONVERT     0xb4dd
-#define ID_MENU_IMGEDITOR   0xbc2b
-#define ID_MENU_M3UEDITOR   0xbc2c
-#define ID_MENU_M3UPLAYER   0xbc2d
-
-#define ID_MENUICONSIZE     0xbc00
-#define ID_NORMALICONSITEM  0xbc01
-#define ID_50X50ITEM        0xbc02
-#define ID_100X100ITEM      0xbc03
-#define ID_150X150ITEM      0xbc04
-#define ID_200X200ITEM      0xbc05
-#define ID_250X250ITEM      0xbc06
-/* Static menu item with image info for popup menu */
-#define ID_MENU_IMAGEINFO   0xbc10
-
-/* Audio information page dialog */
-#define IDDLG_WAVEINFOPAGE 100
-#define IDGB_WAVEINFO      110
-#define IDST_SAMPLERATELABEL        101
-#define IDST_BPSLABEL               102
-#define IDST_PLAYTIMELABEL          103
-#define IDST_CHANNELSLABEL          104
-#define IDST_PLAYTIME               105
-#define IDST_SAMPLERATE             106
-#define IDST_BPS                    107
-#define IDST_CHANNELS               108
-
-/* String IDs */
-#define ID_WAVEINFOPAGENAME 1
-#define IDSTR_TITLE         2
-#define IDSTR_ARTIST        3
-#define IDSTR_ALBUM         4
-#define IDSTR_YEAR          5
-#define IDSTR_COMMENT       6
-#define IDSTR_GENRE         7
-
-#define IDSTR_PLAYTIME      8
-#define IDSTR_SAMPLERATE    9
-#define IDSTR_CHANNELS      10
-#define IDSTR_BPS           11
-#define ID_ID3TAGSPAGENAME  12
-
-#define IDSTR_BITRATE       13
-#define IDSTR_VBR           14
-
-/* Titles audio classes */
-#define IDSTR_AIFTITLE       15
-#define IDSTR_AUTITLE        16
-#define IDSTR__AUTITLE       17
-#define IDSTR_IFFTITLE       18
-#define IDSTR_SNDFTITLE      19
-#define IDSTR_VOCTITLE       20
-#define IDSTR_WAVTITLE       21
-#define IDSTR_OGGTITLE       22
-#define IDSTR_MP3TITLE       23
-#define IDSTR_MIDITITLE      24
-#define IDSTR_FLACTITLE      72
-
-/* Titles video classes */
-#define IDSTR_CWVIDEOTITLE   25
-#define IDSTR_MPGTITLE       26
-#define IDSTR_MOVTITLE       27
-#define IDSTR_FLITITLE       28
-#define IDSTR_AVITITLE       29
-
-#define IDSTR_CWAUDIOTITLE   30
-#define IDSTR_CWMMDATAFILETITLE   31
-#define IDSTR_HELPLIBRARY    32
-
-/* Convert menu item string */
-#define IDSTR_MENU_CONVERT  33
-#define IDSTR_MENU_IMAGEINFO 73
-
-/* Titles image classes */
-#define IDSTR_AVCTITLE      34
-#define IDSTR_DIBTITLE      35
-#define IDSTR_GIFTITLE      36
-#define IDSTR_JPGTITLE      37
-#define IDSTR_PCDTITLE      38
-#define IDSTR_PCXTITLE      39
-#define IDSTR_TGATITLE      40
-#define IDSTR_TIFTITLE      41
-#define IDSTR_PNGTITLE      71
-#define IDSTR_MMOTIONTITLE  42
-#define IDSTR_CWIMAGETITLE  43
-
-#define IDSTR_IMAGEINFOPAGENAME 44
-#define IDSTR_SPRINTFPIXEL   45 /* Used with sprintf to build the 'xxx Pixel' string */	
-#define IDSTR_SPRINTFBIT     46 /* Used with sprintf to build the 'xx Bit' string */
-
-#define IDSTR_NOIMGIOPROCERROR   47
-#define IDSTR_OPENFILEERRORTITLE 48
-#define IDSTR_OPENFILEERROR      49
-#define IDSTR_NOMEMERROR         50
-#define IDSTR_IMGIOPROCCRASH     51
-
-#define IDSTR_LIGHTTABLETITLE    52 /* Ligthtable title */
-
-#define IDSTR_ICONSIZEMENU       53 /* Menu icon size */
-
-/* Column titles for image details view */
-#define IDSTR_IMAGEDETAIL_WIDTH  54
-#define IDSTR_IMAGEDETAIL_HEIGHT 55
-#define IDSTR_IMAGEDETAIL_DEPTH  56
-#define IDSTR_IMAGEDETAIL_FORMAT 57
-
-#define ID_TRACKNAMEPAGENAME     58 /* Page name for the track name settings */
-#define IDSTR_TRACKNAME          59 /* Name for the groupbox for the track name dialog */
-#define IDSTR_STARTINGTRACK      60 /* String to be shown with the title of an audio object
-                                     when started from the WPS. */
-#define IDSTR_AUDIOSCANNING      61 /* Audio scanning window title */
-#define IDSTR_AUDIOSTREAMTITLE   62 /* Class title for audio stream object */
-#define IDSTR_STREAMURLPAGENAME  63
-#define IDSTR_CDTRACKTITLE       64 /* Class title for CD tracks */
-#define IDSTR_M3UTITLE           65 /* Class title for M3U playlists */
-/* Titles used when starting player and editor applications */
-#define IDSTR_AUDPLAYERTITLE     66
-#define IDSTR_AUDEDITORTITLE     67
-#define IDSTR_M3UEDITORTITLE     68
-#define IDSTR_IMGEDITORTITLE     69
-#define IDSTR_VOLUMETITLE        74
-#define IDSTR_TRACKPAUSED        70
-/* Last used id: 74 */
-
-/* ID3 tag dialog */
-#define IDDLG_ID3TAGS               200
-#define IDPB_ID3SAVE                201
-#define IDPB_CANCEL                 202
-#define IDPB_ID3HELP                203
-#define IDEF_ID3NAME                204
-#define IDEF_ID3ARTIST              205
-#define IDEF_ID3ALBUM               206
-#define IDEF_ID3COMMENT             207
-#define IDEF_ID3YEAR                208
-#define IDDD_ID3GENRE               209
-#define IDGB_ID3TAGS                216
-
-/* Image information dialog */
-#define IDDLG_IMAGEINFOPAGE         300
-#define IDGB_IMAGEINFO              301
-#define IDST_IMAGEWIDTHLABEL        302
-#define IDST_IMAGEHEIGHTLABEL       303
-#define IDST_COLORDEPTHLABEL        304
-#define IDST_IMAGEWIDTH             305
-#define IDST_IMAGEHEIGHT            306
-#define IDST_COLORDEPTH             307
-#define IDST_IMAGEFORMAT            308
-#define IDDLG_STREAMURLPAGE         400
-#define IDGB_STREAMURL              401
-#define IDEF_URL                    402
-#define IDST_URLTEXT                403
Index: trunk/classes/inc/_menu.h
===================================================================
--- trunk/classes/inc/_menu.h	(revision 93)
+++ 	(revision )
@@ -1,7 +1,0 @@
-#ifndef MENU_H_INCLUDED
-#define MENU_H_INCLUDED
-
-SHORT menuInsertMenuItem( HWND hwndMenu, HWND hwndSubMenu, SHORT sPosition, int iID, char * chrText);
-MRESULT menuInsertMenuSeparator(HWND hwndMenu, HWND hwndSubMenu, SHORT sPosition );
-
-#endif
Index: trunk/classes/inc/_wpobject.h
===================================================================
--- trunk/classes/inc/_wpobject.h	(revision 93)
+++ 	(revision )
@@ -1,4673 +1,0 @@
-
-/*
- * This file was generated by the SOM Compiler.
- * FileName: E:\cwpsh\rel\os2c\include\base\os2\wpobject.h.
- * Generated using:
- *     SOM Precompiler somipc: 2.29.1.14
- *     SOM Emitter emith: 2.43
- */
-
-/*
- *   Module Header
- * 
- *   Module Name: WPTYPES
- * 
- *   OS/2 Presentation Manager Workplace class definitions
- * 
- *   Copyright (c) International Business Machines Corporation 1994
- * 
- */
-
-
-#ifndef SOM_WPObject_h
-#define SOM_WPObject_h
-
-/*
- * Passthru lines: File: "C.h", "before"
- */
-
-   #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
-
-      #ifdef __cplusplus                                                 
-            extern "C" {                                               
-      #endif                                                             
-      /* Export a convience function to find BS_NOTEBOOKBUTTON buttons */
-      HWND APIENTRY WinNotebookButtonFromID(HWND hwndDlg, ULONG id);     
-
-      /* Allow applications to wait for the Shell to be available */     
-      #define WWFS_QUERY            0x80000000                           
-      #define WWFS_DESKTOPCREATED   1                                    
-      #define WWFS_DESKTOPOPENED    2                                    
-      #define WWFS_DESKTOPPOPULATED 3                                    
-      BOOL APIENTRY WinWaitForShell( ULONG ulEvent );                    
-      #ifdef __cplusplus                                                 
-            }                                                            
-      #endif                                                             
-                                                                         
-
-      /* Object style flags (see wpSetStyle) */
-
-      #define OBJSTYLE_NOMOVE         0x00000002
-      #define OBJSTYLE_NOLINK         0x00000004
-      #define OBJSTYLE_NOCOPY         0x00000008
-      #define OBJSTYLE_NOTDEFAULTICON 0x00000010   /* Intentionally not declared CLSSTYLE */ 
-      #define OBJSTYLE_TEMPLATE       0x00000020
-      #define OBJSTYLE_NODELETE       0x00000040
-      #define OBJSTYLE_NOPRINT        0x00000080
-      #define OBJSTYLE_NODRAG         0x00000100
-      #define OBJSTYLE_NOTVISIBLE     0x00000200
-      #define OBJSTYLE_NOSETTINGS     0x00000400
-      #define OBJSTYLE_NORENAME       0x00000800
-      #define OBJSTYLE_NODROP         0x00001000
-      #define OBJSTYLE_NODROPON       0x00002000   /* Use instead of OBJSTYLE_NODROP, 
-                                              because OBJSTYLE_NODROP and     
-                                              CLSSTYLE_PRIVATE have the same  
-                                              value (DD 86093F) */            
-      #define OBJSTYLE_CUSTOMICON     0x00004000  /* Use instead of OBJSTYLE_NOTDEFAULTICON  
-                                               because OBJSTYLE_NOTDEFAULTICON and    
-                                               CLSSTYLE_NEVERTEMPLATE have the same   
-                                               value (DD 86093F) */                   
-      #define OBJSTYLE_LOCKEDINPLACE  0x00020000 /* Lock an object in place */    
-
-      /*  Class style flags (see wpclsQueryStyle) */
-
-      #define CLSSTYLE_NEVERMOVE      OBJSTYLE_NOMOVE
-      #define CLSSTYLE_NEVERLINK      OBJSTYLE_NOLINK
-      #define CLSSTYLE_NEVERCOPY      OBJSTYLE_NOCOPY
-      #define CLSSTYLE_NEVERTEMPLATE  0x00000010
-      #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        0x00001000   /* Intentionally not declared OBJSTYLE */     
-      #define CLSSTYLE_NEVERSETTINGS  OBJSTYLE_NOSETTINGS                      /*DD 86093F*/ 
-      #define CLSSTYLE_NEVERDROPON    OBJSTYLE_NODROPON                        /*DD 86093F*/ 
-      #define CLSSTYLE_HIDDEN         0x00008000  /* Use instead of CLSSTYLE_PRIVATE          
-                                                 because OBJSTYLE_NODROP and             
-                                                 CLSSTYLE_PRIVATE have the same          
-                                                 value (DD 86093F) */                    
-      #define CLSSTYLE_DONTTEMPLATE   0x00010000  /* Use instead of CLSSTYLE_NEVERTEMPLATE    
-                                                 because OBJSTYLE_NOTDEFAULTICON and     
-                                                 CLSSTYLE_NEVERTEMPLATE have the same    
-                                                 value (DD 86093F) */                    
-      #define CLSSTYLE_ALWAYSTEMPLATE 0x00040000
-
-      /* 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/wpFilterMenu methods */
-
-      /* DWORD 0  */
-      #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_PROPERTIES    CTXT_SETTINGS
-      #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
-      #define CTXT_PUTDOWN        0x1000000
-      #define CTXT_PUTDOWN_CANCEL 0x2000000
-      #define CTXT_CHANGETOICON   0x4000000
-      #define CTXT_CHANGETOTREE   0x8000000
-      #define CTXT_CHANGETODETAILS 0x10000000
-      #define CTXT_VIEW            0x20000000
-      #define CTXT_PASTE           0x40000000
-      #define CTXT_UNDOARRANGE     0x80000000
-
-      /* DWORD 1  */
-      #define CTXT_SELECTALL      0x00000001
-      #define CTXT_DESELECTALL    0x00000002
-      #define CTXT_OPENPARENT     0x00000004
-      #define CTXT_SETUP          0x00000008
-      #define CTXT_PRODINFO       0x00000010
-      #define CTXT_ORIGINAL       0x00000020
-      #define CTXT_LOCATEORIGINAL 0x00000040
-      #define CTXT_DELETEORIGINAL 0x00000080
-      #define CTXT_COPYORIGINAL   0x00000100
-      #define CTXT_NOOBJECTS      0x00000200
-      #define CTXT_MAXIMIZE       0x00000400
-      #define CTXT_RESTORE        0x00000800
-      #define CTXT_WINDOWLIST     0x00002000
-      #define CTXT_CREATEPARTITION 0x00004000
-      #define CTXT_COPYDISK       0x00008000
-      #define CTXT_FORMATDISK     0x00010000
-      #define CTXT_CHECKDISK      0x00020000
-      #define CTXT_LOCKDISK       0x00040000
-      #define CTXT_UNLOCKDISK     0x00080000
-      #define CTXT_EJECTDISK      0x00100000
-      #define CTXT_LOGIN          0x00200000
-      #define CTXT_LOGOUT         0x00400000
-      #define CTXT_ASSIGN         0x00800000
-      #define CTXT_UNASSIGN       0x01000000
-      #define CTXT_ACCESSNEW      0x02000000
-      #define CTXT_DATETIME       0x04000000
-      #define CTXT_LOCKEDINPLACE    0x08000000
-      #define CTXT_LOCKEDINPLACEYES 0x10000000
-      #define CTXT_LOCKEDINPLACENO  0x20000000
-      #define CTXT_STANDARD         0x40000000
-      #define CTXT_PERIMETER        0x80000000
-
-      /* DWORD 2  */
-      #define CTXT_SELECTEDHORZ     0x00000001
-      #define CTXT_SELECTEDVERT     0x00000002
-      #define CTXT_ARRANGETOP       0x00000004
-      #define CTXT_LOGOFF           0x00000008
-      #define CTXT_ARRANGELEFT      0x00000010
-      #define CTXT_ARRANGERIGHT     0x00000020
-      #define CTXT_ARRANGEBOTTOM    0x00000040
-      #define CTXT_UNDOSORT         0x00000080
-
-     /* Flags for the wpDisplayMenu() method */
-
-     #define MENU_OBJECTPOPUP          0x00000001
-     #define MENU_OPENVIEWPOPUP        0x00000002
-     #define MENU_TITLEBARPULLDOWN     0x00000003
-     #define MENU_TITLEBARPULLDOWNINT  0x00000004
-     #define MENU_FOLDERPULLDOWN       0x00000005
-     #define MENU_VIEWPULLDOWN         0x00000006
-     #define MENU_HELPPULLDOWN         0x00000007
-     #define MENU_EDITPULLDOWN         0x00000008
-     #define MENU_SELECTEDPULLDOWN     0x00000009
-     #define MENU_FOLDERMENUBAR        0x0000000A
-     #define MENU_NODISPLAY            0x40000000
-     #define MENU_USER                 0x80000000
-
-      typedef struct _FILTERFLAGS
-      {
-         ULONG       cbItem;
-         ULONG       Flags[3];
-      } FILTERFLAGS;
-      typedef FILTERFLAGS *PFILTERFLAGS;
-
-      /* 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_PUTDOWN_CREATEPROGRAMOBJECT     195                    /*rme146942*/  
-      #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_OPENPARENT         714                                 /*DD 86092F*/  
-
-      /* menu ids for folder menu bar */
-      #define WPMENUID_PASTE              715                                 /*pwbopend */  
-      #define WPMENUID_CHANGETOICON       716                                 /*pwbopend */  
-      #define WPMENUID_CHANGETOTREE       717                                 /*pwbopend */  
-      #define WPMENUID_CHANGETODETAILS    718                                 /*pwbopend */  
-      #define WPMENUID_FOLDERPULLDOWN     719                                 /*pwbopend */  
-      #define WPMENUID_EDITPULLDOWN       720                                 /*pwbopend */  
-      #define WPMENUID_VIEWPULLDOWN       721                                 /*pwbopend */  
-      #define WPMENUID_SELECTEDPULLDOWN   722                                 /*pwbopend */  
-      #define WPMENUID_HELPPULLDOWN       723                                 /*pwbopend */  
-      #define WPMENUID_VIEW               104                                 /*pwbopend */  
-      #define WPMENUID_UNDOARRANGE        724                                 /*pwbopend */  
-      #define WPMENUID_MAXIMIZE           725                                 /*pwbopend */  
-      #define WPMENUID_RESTORE            726                                 /*pwbopend */  
-      #define WPMENUID_WINDOWLIST         728                                 /*pwbopend */  
-      #define WPMENUID_DOCSHELL           729                                 /*aba142270*/  
-      #define WPMENUID_LOCKEDINPLACE      730                                 /*lwb146937*/  
-      #define WPMENUID_LOCKEDINPLACEYES   731                                 /*lwb146937*/  
-      #define WPMENUID_LOCKEDINPLACENO    732                                 /*lwb146937*/  
-      #define WPMENUID_STANDARD           733                                 /*lwb146937*/  
-      #define WPMENUID_ARRANGETOP         734                                 /*lwb149411*/  
-      #define WPMENUID_ARRANGELEFT        735                                 /*lwb149411*/  
-      #define WPMENUID_ARRANGERIGHT       736                                 /*lwb149411*/  
-      #define WPMENUID_ARRANGEBOTTOM      737                                 /*lwb149411*/  
-      #define WPMENUID_LOGOFF             738                                 /*pgm 141223*/ 
-      #define WPMENUID_PERIMETER          739                                 /*lwb149411*/  
-      #define WPMENUID_SELECTEDHORZ       740                                 /*lwb149411*/  
-      #define WPMENUID_SELECTEDVERT       741                                 /*lwb149411*/  
-
-
-      /*  Views for the wpOpen(), wpFilterMenu and wpModifyMenu methods */
-
-      #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
-      #define CLOSED_ICON        122
-      #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
-      #define USAGE_NOTIFY         21
-      #define USAGE_BACKGROUNDBMP  22
-
-      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 */
-      #define VIEWSTATE_PAINTED       0x0080   /* The view was painted */
-
-      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 and USAGE_NOTIFY 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;
-
-      typedef struct _BACKGROUNDBMPITEM /* USAGE_BACKGROUNDBMP struc */
-      {
-         PVOID        pFolderBackground;
-      } BACKGROUNDBMPITEM;
-      typedef BACKGROUNDBMPITEM *PBACKGROUNDBMPITEM;
-
-      /* 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
-      {
-         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
-      {
-         ULONG cb;                /* must have length in control data! */
-         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
-      {
-         /* 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         */
-                                         /*   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    250
-      #define STDNOTEBOOKHEIGHT   125
-
-      /* 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;
-      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;
-      typedef LHANDLE HABS;
-      #define MAXSZHFS 10       /* size of the translated string */
-      #define MAKE_HOBJ(base, handle) ((HOBJECT) (((ULONG)(base) & 0x00FF0000) | (((ULONG)(handle) & 0x00FF0000) << 8) | ((ULONG)(handle) & 0x0000FFFF)) )
-      #define BASEHANDLE_FROM_HOBJ(objh) ((ULONG) ((((objh) & 0xFF000000) >> 8) | ((objh) & 0xFFFF)))
-      #define HABS_FROM_HOBJ(objh) ((HABS)BASEHANDLE_FROM_HOBJ(objh))
-      #define HFS_FROM_HOBJ(objh) ((HFS)BASEHANDLE_FROM_HOBJ(objh))
-      #define BASECLS_FROM_HOBJ(objh) ((ULONG) ((objh) & 0x00FF0000))
-      #define MAXHANDLE  0x00FFFFFF
-
-      #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
-
-    /* wpConfirmObjectTitle return values */
-      #define NAMECLASH_CANCEL              0x00
-      #define NAMECLASH_NONE                0x01
-      #define NAMECLASH_RENAME              0x02
-      #define NAMECLASH_APPEND              0x04
-      #define NAMECLASH_REPLACE             0x08
-      #define NAMECLASH_RENAME_KEEPASSOCS   0x20
-      #define NAMECLASH_NONE_KEEPASSOCS     0x30
-
-    /* wpQueryNameClashOptions return values */
-      #define NO_NAMECLASH_RENAME           0x10
-      #define NO_NAMECLASH_APPEND           0x20
-      #define NO_NAMECLASH_REPLACE          0x40
-      #define NO_NAMECLASH_DIALOG           0x80
-
-      #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 */
-
-/* Identifier types for the wpIdentify() method */
-
-#define ID_TYPE_DISK     'H'
-#define ID_TYPE_FILE     'F'
-#define ID_TYPE_DIR      'D'
-#define ID_TYPE_TRANS    'T'
-#define ID_TYPE_ABS      'A'
-
-/*
- * Passthru some stuff to the .h file
- */
-
-
-#include <som.h>
-
-/*
- * -- This emitter treats Method Tokens as Thunks by default.
- * -- Use the sc modifier "nothunks" to change this default
- */
-#undef somresolve_
-#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
-/*
- * Define the class name as an object type
- */
-#ifndef WPObject
-#define WPObject SOMObject
-#endif
-#include <somobj.h>
-
-/*
- * Start of bindings for IDL types
- */
-
-#ifndef SOMClass
-    #define SOMClass SOMObject
-#endif /* SOMClass */
-#ifndef WPFolder
-    #define WPFolder SOMObject
-#endif /* WPFolder */
-#ifndef M_WPObject
-    #define M_WPObject SOMObject
-#endif /* M_WPObject */
-#ifndef WPObject
-    #define WPObject SOMObject
-#endif /* WPObject */
-#ifndef WPImageFile
-    #define WPImageFile SOMObject
-#endif /* WPImageFile */
-
-/*
- * End of bindings for IDL types.
- */
-
-#define WPObject_MajorVersion 1
-#define WPObject_MinorVersion 2
-
-/*
- * External name shortening if required
- */
-#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
-#define WPObjectNewClass wpobjc
-#pragma linkage(wpobjc, system)
-#define WPObjectClassData wpobjd
-#define WPObjectCClassData wpobjx
-#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
-
-/*
- * Include the meta class file
- */
-#include <wpobject.h>
-/*--------------Migration------------*/
-#define WPObject_classObj WPObjectClassData.classObject
-#define _WPObject WPObject_classObj
-
-/*
- * Declare the class creation procedure
- */
-SOMEXTERN SOMClass * SOMLINK WPObjectNewClass(integer4 somtmajorVersion,
-		integer4 somtminorVersion);
-#pragma linkage(WPObjectNewClass, system)
-
-/*
- * Declare the class data structure
- */
-SOMEXTERN struct WPObjectClassDataStructure {
-	SOMClass *classObject;
-	somMToken wpSetTitle;
-	somMToken wpQueryTitle;
-	somMToken wpSetStyle;
-	somMToken wpQueryStyle;
-	somMToken wpSetIcon;
-	somMToken wpQueryIcon;
-	somMToken wpSetFolder;
-	somMToken wpQueryFolder;
-	somMToken wpObjectPrivate1;
-	somMToken wpObjectPrivate2;
-	somMToken wpSetDefaultView;
-	somMToken wpQueryDefaultView;
-	somMToken wpObjectPrivate3;
-	somMToken wpSaveState;
-	somMToken wpObjectPrivate4;
-	somMToken wpObjectPrivate5;
-	somMToken wpSaveLong;
-	somMToken wpSaveString;
-	somMToken wpSaveData;
-	somMToken wpObjectPrivate6;
-	somMToken wpRestoreState;
-	somMToken wpObjectPrivate7;
-	somMToken wpObjectPrivate8;
-	somMToken wpRestoreLong;
-	somMToken wpRestoreString;
-	somMToken wpRestoreData;
-	somMToken wpObjectPrivate9;
-	somMToken wpAllocMem;
-	somMToken wpFreeMem;
-	somMToken wpAddToObjUseList;
-	somMToken wpDeleteFromObjUseList;
-	somMToken wpFindUseItem;
-	somMToken wpSwitchTo;
-	somMToken withdrawn1;
-	somMToken wpFilterPopupMenu;
-	somMToken wpModifyPopupMenu;
-	somMToken wpMenuItemSelected;
-	somMToken wpFormatDragItem;
-	somMToken wpDrop;
-	somMToken wpDragOver;
-	somMToken wpRender;
-	somMToken wpEndConversation;
-	somMToken withdrawn10;
-	somMToken wpObjectPrivate10;
-	somMToken wpObjectPrivate11;
-	somMToken wpFree;
-	somMToken wpCopiedFromTemplate;
-	somMToken wpAddSettingsPages;
-	somMToken wpAddObjectGeneralPage;
-	somMToken wpDisplayHelp;
-	somMToken wpMenuItemHelpSelected;
-	somMToken wpInsertSettingsPage;
-	somMToken wpInsertPopupMenuItems;
-	somMToken withdrawn5;
-	somMToken withdrawn6;
-	somMToken withdrawn4;
-	somMToken withdrawn3;
-	somMToken wpCnrInsertObject;
-	somMToken wpCnrRemoveObject;
-	somMToken wpInitData;
-	somMToken wpUnInitData;
-	somMToken wpSetup;
-	somMToken wpScanSetupString;
-	somMToken wpSaveImmediate;
-	somMToken wpOpen;
-	somMToken wpClose;
-	somMToken wpHide;
-	somMToken wpRestore;
-	somMToken wpSetIconData;
-	somMToken wpQueryIconData;
-	somMToken wpObjectPrivate12;
-	somMToken wpDelete;
-	somMToken wpConfirmDelete;
-	somMToken withdrawn2;
-	somMToken withdrawn11;
-	somMToken withdrawn7;
-	somMToken wpRegisterView;
-	somMToken wpIdentify;
-	somMToken wpSetDefaultHelp;
-	somMToken wpQueryDefaultHelp;
-	somMToken wpDoesObjectMatch;
-	somMToken wpCnrRefreshDetails;
-	somMToken wpSetError;
-	somMToken wpQueryError;
-	somMToken wpDraggedOverObject;
-	somMToken wpDroppedOnObject;
-	somMToken wpSetDefaultIconPos;
-	somMToken wpQueryDefaultIconPos;
-	somMToken wpObjectPrivate13;
-	somMToken wpObjectPrivate14;
-	somMToken wpSetObjectID;
-	somMToken wpQueryObjectID;
-	somMToken wpIsDeleteable;
-	somMToken wpQueryHandle;
-	somMToken wpSaveDeferred;
-	somMToken wpAddObjectWindowPage;
-	somMToken wpQueryConcurrentView;
-	somMToken wpSetConcurrentView;
-	somMToken wpQueryMinWindow;
-	somMToken wpSetMinWindow;
-	somMToken wpViewObject;
-	somMToken wpQueryButtonAppearance;
-	somMToken wpSetButtonAppearance;
-	somMToken wpQueryConfirmations;
-	somMToken wpCnrSetEmphasis;
-	somMToken wpQueryCoreRecord;
-	somMToken wpFindViewItem;
-	somMToken wpCreateFromTemplate;
-	somMethodProc *wpQueryTrueStyle;
-	somMToken wpAssertObjectMutexSem;
-	somMToken wpReleaseObjectMutexSem;
-	somMToken wpRequestObjectMutexSem;
-	somMToken wpCreateAnother;
-	somMToken wpCreateShadowObject;
-	somMToken wpCopyObject;
-	somMToken wpMoveObject;
-	somMToken wpLockObject;
-	somMToken wpUnlockObject;
-	somMToken wpIsLocked;
-	somMToken wpRenderComplete;
-	somMToken wpQueryDetailsData;
-	somMToken wpPrintObject;
-	somMToken wpObjectPrivate15;
-	somMToken wpSetTaskRec;
-	somMToken wpObjectPrivate16;
-	somMToken wpModifyStyle;
-	somMToken wpObjectPrivate17;
-	somMToken wpFindTaskRec;
-	somMToken wpAppendObject;
-	somMToken wpReplaceObject;
-	somMToken wpQueryNameClashOptions;
-	somMToken wpConfirmObjectTitle;
-	somMToken _get_pobjNext;
-	somMToken wpQueryContainerFlagPtr;
-	somMToken wpObjectPrivate18;
-	somMToken wpObjectPrivate19;
-	somMToken wpObjectPrivate20;
-	somMToken wpCnrDeleteUseItem;
-	somMToken wpObjectReady;
-	somMToken wpIsObjectInitialized;
-	somMToken wpCreateShadowObjectExt;
-	somMToken wpObjectPrivate21;
-	somMToken wpObjectPrivate22;
-	somMToken wpObjectPrivate26;
-	somMToken wpDisplayMenu;
-	somMToken wpWaitForClose;
-	somMToken wpQueryScreenGroupID;
-	somMToken wpSetupOnce;
-	somMToken wpAddObjectGeneralPage2;
-	somMToken wpObjectPrivate23;
-	somMToken wpObjectPrivate24;
-	somMToken wpModifyMenu;
-	somMToken wpFilterMenu;
-	somMToken wpInsertMenuItems;
-	somMToken wpSetMenuStyle;
-	somMToken wpQueryMenuStyle;
-	somMToken wpObjectPrivate27;
-	somMToken wpObjectPrivate28;
-	somMToken wpObjectPrivate29;
-	somMToken wpObjectPrivate30;
-	somMToken wpQueryOpenView;
-	somMToken wpSetOpenView;
-} SOMDLINK WPObjectClassData;
-
-/*
- * Declare the C specific class data structure
- */
-SOMEXTERN struct WPObjectCClassDataStructure {
-	somMethodTabs parentMtab;
-	somDToken instanceDataToken;
-} SOMDLINK WPObjectCClassData;
-
-/*
- * New and Renew macros for WPObject
- */
-#define WPObjectNew() \
-   ( _WPObject ? \
-	_somNew(_WPObject) \
-	: ( WPObjectNewClass(\
-		WPObject_MajorVersion, \
-		WPObject_MinorVersion),\
-	   _somNew(_WPObject)))
-#define WPObjectRenew(buf) \
-   ( _WPObject ? \
-	_somRenew(_WPObject, buf) \
-	: ( WPObjectNewClass(\
-		WPObject_MajorVersion, \
-		WPObject_MinorVersion),\
-	   _somRenew(_WPObject, buf)))
-
-/*
- * Override method: somInit
- */
-#define WPObject_somInit(somSelf) \
-	SOMObject_somInit(somSelf)
-
-/*
- * Override method: somUninit
- */
-#define WPObject_somUninit(somSelf) \
-	SOMObject_somUninit(somSelf)
-
-/*
- * Override method: somDefaultInit
- */
-#define WPObject_somDefaultInit(somSelf,ctrl) \
-	SOMObject_somDefaultInit(somSelf,ctrl)
-
-/*
- * Override method: somDestruct
- */
-#define WPObject_somDestruct(somSelf,doFree,ctrl) \
-	SOMObject_somDestruct(somSelf,doFree,ctrl)
-
-/*
- * New Method: wpAddObjectGeneralPage
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectGeneralPage(WPObject *somSelf, 
-		HWND hwndNotebook);
-#pragma linkage(somTP_WPObject_wpAddObjectGeneralPage, system)
-typedef somTP_WPObject_wpAddObjectGeneralPage *somTD_WPObject_wpAddObjectGeneralPage;
-#define somMD_WPObject_wpAddObjectGeneralPage "::WPObject::wpAddObjectGeneralPage"
-#define WPObject_wpAddObjectGeneralPage(somSelf,hwndNotebook) \
-    (SOM_Resolve(somSelf, WPObject, wpAddObjectGeneralPage) \
-	(somSelf,hwndNotebook))
-#ifndef SOMGD_wpAddObjectGeneralPage
-    #if (defined(_wpAddObjectGeneralPage) || defined(__wpAddObjectGeneralPage))
-        #undef _wpAddObjectGeneralPage
-        #undef __wpAddObjectGeneralPage
-        #define SOMGD_wpAddObjectGeneralPage 1
-    #else
-        #define _wpAddObjectGeneralPage WPObject_wpAddObjectGeneralPage
-    #endif /* _wpAddObjectGeneralPage */
-#endif /* SOMGD_wpAddObjectGeneralPage */
-
-/*
- * New Method: wpAddObjectGeneralPage2
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectGeneralPage2(WPObject *somSelf, 
-		HWND hwndNotebook);
-#pragma linkage(somTP_WPObject_wpAddObjectGeneralPage2, system)
-typedef somTP_WPObject_wpAddObjectGeneralPage2 *somTD_WPObject_wpAddObjectGeneralPage2;
-#define somMD_WPObject_wpAddObjectGeneralPage2 "::WPObject::wpAddObjectGeneralPage2"
-#define WPObject_wpAddObjectGeneralPage2(somSelf,hwndNotebook) \
-    (SOM_Resolve(somSelf, WPObject, wpAddObjectGeneralPage2) \
-	(somSelf,hwndNotebook))
-#ifndef SOMGD_wpAddObjectGeneralPage2
-    #if (defined(_wpAddObjectGeneralPage2) || defined(__wpAddObjectGeneralPage2))
-        #undef _wpAddObjectGeneralPage2
-        #undef __wpAddObjectGeneralPage2
-        #define SOMGD_wpAddObjectGeneralPage2 1
-    #else
-        #define _wpAddObjectGeneralPage2 WPObject_wpAddObjectGeneralPage2
-    #endif /* _wpAddObjectGeneralPage2 */
-#endif /* SOMGD_wpAddObjectGeneralPage2 */
-
-/*
- * New Method: wpAddObjectWindowPage
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpAddObjectWindowPage(WPObject *somSelf, 
-		HWND hwndNotebook);
-#pragma linkage(somTP_WPObject_wpAddObjectWindowPage, system)
-typedef somTP_WPObject_wpAddObjectWindowPage *somTD_WPObject_wpAddObjectWindowPage;
-#define somMD_WPObject_wpAddObjectWindowPage "::WPObject::wpAddObjectWindowPage"
-#define WPObject_wpAddObjectWindowPage(somSelf,hwndNotebook) \
-    (SOM_Resolve(somSelf, WPObject, wpAddObjectWindowPage) \
-	(somSelf,hwndNotebook))
-#ifndef SOMGD_wpAddObjectWindowPage
-    #if (defined(_wpAddObjectWindowPage) || defined(__wpAddObjectWindowPage))
-        #undef _wpAddObjectWindowPage
-        #undef __wpAddObjectWindowPage
-        #define SOMGD_wpAddObjectWindowPage 1
-    #else
-        #define _wpAddObjectWindowPage WPObject_wpAddObjectWindowPage
-    #endif /* _wpAddObjectWindowPage */
-#endif /* SOMGD_wpAddObjectWindowPage */
-
-/*
- * New Method: wpAddSettingsPages
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpAddSettingsPages(WPObject *somSelf, 
-		HWND hwndNotebook);
-#pragma linkage(somTP_WPObject_wpAddSettingsPages, system)
-typedef somTP_WPObject_wpAddSettingsPages *somTD_WPObject_wpAddSettingsPages;
-#define somMD_WPObject_wpAddSettingsPages "::WPObject::wpAddSettingsPages"
-#define WPObject_wpAddSettingsPages(somSelf,hwndNotebook) \
-    (SOM_Resolve(somSelf, WPObject, wpAddSettingsPages) \
-	(somSelf,hwndNotebook))
-#ifndef SOMGD_wpAddSettingsPages
-    #if (defined(_wpAddSettingsPages) || defined(__wpAddSettingsPages))
-        #undef _wpAddSettingsPages
-        #undef __wpAddSettingsPages
-        #define SOMGD_wpAddSettingsPages 1
-    #else
-        #define _wpAddSettingsPages WPObject_wpAddSettingsPages
-    #endif /* _wpAddSettingsPages */
-#endif /* SOMGD_wpAddSettingsPages */
-
-/*
- * New Method: wpAddToObjUseList
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpAddToObjUseList(WPObject *somSelf, 
-		PUSEITEM pUseItem);
-#pragma linkage(somTP_WPObject_wpAddToObjUseList, system)
-typedef somTP_WPObject_wpAddToObjUseList *somTD_WPObject_wpAddToObjUseList;
-#define somMD_WPObject_wpAddToObjUseList "::WPObject::wpAddToObjUseList"
-#define WPObject_wpAddToObjUseList(somSelf,pUseItem) \
-    (SOM_Resolve(somSelf, WPObject, wpAddToObjUseList) \
-	(somSelf,pUseItem))
-#ifndef SOMGD_wpAddToObjUseList
-    #if (defined(_wpAddToObjUseList) || defined(__wpAddToObjUseList))
-        #undef _wpAddToObjUseList
-        #undef __wpAddToObjUseList
-        #define SOMGD_wpAddToObjUseList 1
-    #else
-        #define _wpAddToObjUseList WPObject_wpAddToObjUseList
-    #endif /* _wpAddToObjUseList */
-#endif /* SOMGD_wpAddToObjUseList */
-
-/*
- * New Method: wpAllocMem
- */
-typedef PBYTE   SOMLINK somTP_WPObject_wpAllocMem(WPObject *somSelf, 
-		ULONG cbBytes, 
-		PULONG prc);
-#pragma linkage(somTP_WPObject_wpAllocMem, system)
-typedef somTP_WPObject_wpAllocMem *somTD_WPObject_wpAllocMem;
-#define somMD_WPObject_wpAllocMem "::WPObject::wpAllocMem"
-#define WPObject_wpAllocMem(somSelf,cbBytes,prc) \
-    (SOM_Resolve(somSelf, WPObject, wpAllocMem) \
-	(somSelf,cbBytes,prc))
-#ifndef SOMGD_wpAllocMem
-    #if (defined(_wpAllocMem) || defined(__wpAllocMem))
-        #undef _wpAllocMem
-        #undef __wpAllocMem
-        #define SOMGD_wpAllocMem 1
-    #else
-        #define _wpAllocMem WPObject_wpAllocMem
-    #endif /* _wpAllocMem */
-#endif /* SOMGD_wpAllocMem */
-
-/*
- * New Method: wpAppendObject
- */
-typedef BOOL32   SOMLINK somTP_WPObject_wpAppendObject(WPObject *somSelf, 
-		WPObject* targetObject, 
-		BOOL32 fMove);
-#pragma linkage(somTP_WPObject_wpAppendObject, system)
-typedef somTP_WPObject_wpAppendObject *somTD_WPObject_wpAppendObject;
-#define somMD_WPObject_wpAppendObject "::WPObject::wpAppendObject"
-#define WPObject_wpAppendObject(somSelf,targetObject,fMove) \
-    (SOM_Resolve(somSelf, WPObject, wpAppendObject) \
-	(somSelf,targetObject,fMove))
-#ifndef SOMGD_wpAppendObject
-    #if (defined(_wpAppendObject) || defined(__wpAppendObject))
-        #undef _wpAppendObject
-        #undef __wpAppendObject
-        #define SOMGD_wpAppendObject 1
-    #else
-        #define _wpAppendObject WPObject_wpAppendObject
-    #endif /* _wpAppendObject */
-#endif /* SOMGD_wpAppendObject */
-
-/*
- * New Method: wpAssertObjectMutexSem
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpAssertObjectMutexSem(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpAssertObjectMutexSem, system)
-typedef somTP_WPObject_wpAssertObjectMutexSem *somTD_WPObject_wpAssertObjectMutexSem;
-#define somMD_WPObject_wpAssertObjectMutexSem "::WPObject::wpAssertObjectMutexSem"
-#define WPObject_wpAssertObjectMutexSem(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpAssertObjectMutexSem) \
-	(somSelf))
-#ifndef SOMGD_wpAssertObjectMutexSem
-    #if (defined(_wpAssertObjectMutexSem) || defined(__wpAssertObjectMutexSem))
-        #undef _wpAssertObjectMutexSem
-        #undef __wpAssertObjectMutexSem
-        #define SOMGD_wpAssertObjectMutexSem 1
-    #else
-        #define _wpAssertObjectMutexSem WPObject_wpAssertObjectMutexSem
-    #endif /* _wpAssertObjectMutexSem */
-#endif /* SOMGD_wpAssertObjectMutexSem */
-
-/*
- * New Method: wpClose
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpClose(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpClose, system)
-typedef somTP_WPObject_wpClose *somTD_WPObject_wpClose;
-#define somMD_WPObject_wpClose "::WPObject::wpClose"
-#define WPObject_wpClose(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpClose) \
-	(somSelf))
-#ifndef SOMGD_wpClose
-    #if (defined(_wpClose) || defined(__wpClose))
-        #undef _wpClose
-        #undef __wpClose
-        #define SOMGD_wpClose 1
-    #else
-        #define _wpClose WPObject_wpClose
-    #endif /* _wpClose */
-#endif /* SOMGD_wpClose */
-
-/*
- * New Method: wpCnrInsertObject
- */
-typedef PMINIRECORDCORE   SOMLINK somTP_WPObject_wpCnrInsertObject(WPObject *somSelf, 
-		HWND hwndCnr, 
-		PPOINTL pptlIcon, 
-		PMINIRECORDCORE preccParent, 
-		PRECORDINSERT pRecInsert);
-#pragma linkage(somTP_WPObject_wpCnrInsertObject, system)
-typedef somTP_WPObject_wpCnrInsertObject *somTD_WPObject_wpCnrInsertObject;
-#define somMD_WPObject_wpCnrInsertObject "::WPObject::wpCnrInsertObject"
-#define WPObject_wpCnrInsertObject(somSelf,hwndCnr,pptlIcon,preccParent,pRecInsert) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrInsertObject) \
-	(somSelf,hwndCnr,pptlIcon,preccParent,pRecInsert))
-#ifndef SOMGD_wpCnrInsertObject
-    #if (defined(_wpCnrInsertObject) || defined(__wpCnrInsertObject))
-        #undef _wpCnrInsertObject
-        #undef __wpCnrInsertObject
-        #define SOMGD_wpCnrInsertObject 1
-    #else
-        #define _wpCnrInsertObject WPObject_wpCnrInsertObject
-    #endif /* _wpCnrInsertObject */
-#endif /* SOMGD_wpCnrInsertObject */
-
-/*
- * New Method: wpCnrRemoveObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpCnrRemoveObject(WPObject *somSelf, 
-		HWND hwndCnr);
-#pragma linkage(somTP_WPObject_wpCnrRemoveObject, system)
-typedef somTP_WPObject_wpCnrRemoveObject *somTD_WPObject_wpCnrRemoveObject;
-#define somMD_WPObject_wpCnrRemoveObject "::WPObject::wpCnrRemoveObject"
-#define WPObject_wpCnrRemoveObject(somSelf,hwndCnr) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrRemoveObject) \
-	(somSelf,hwndCnr))
-#ifndef SOMGD_wpCnrRemoveObject
-    #if (defined(_wpCnrRemoveObject) || defined(__wpCnrRemoveObject))
-        #undef _wpCnrRemoveObject
-        #undef __wpCnrRemoveObject
-        #define SOMGD_wpCnrRemoveObject 1
-    #else
-        #define _wpCnrRemoveObject WPObject_wpCnrRemoveObject
-    #endif /* _wpCnrRemoveObject */
-#endif /* SOMGD_wpCnrRemoveObject */
-
-/*
- * New Method: wpCnrSetEmphasis
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpCnrSetEmphasis(WPObject *somSelf, 
-		ULONG ulEmphasisAttr, 
-		BOOL fTurnOn);
-#pragma linkage(somTP_WPObject_wpCnrSetEmphasis, system)
-typedef somTP_WPObject_wpCnrSetEmphasis *somTD_WPObject_wpCnrSetEmphasis;
-#define somMD_WPObject_wpCnrSetEmphasis "::WPObject::wpCnrSetEmphasis"
-#define WPObject_wpCnrSetEmphasis(somSelf,ulEmphasisAttr,fTurnOn) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrSetEmphasis) \
-	(somSelf,ulEmphasisAttr,fTurnOn))
-#ifndef SOMGD_wpCnrSetEmphasis
-    #if (defined(_wpCnrSetEmphasis) || defined(__wpCnrSetEmphasis))
-        #undef _wpCnrSetEmphasis
-        #undef __wpCnrSetEmphasis
-        #define SOMGD_wpCnrSetEmphasis 1
-    #else
-        #define _wpCnrSetEmphasis WPObject_wpCnrSetEmphasis
-    #endif /* _wpCnrSetEmphasis */
-#endif /* SOMGD_wpCnrSetEmphasis */
-
-/*
- * New Method: wpConfirmDelete
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpConfirmDelete(WPObject *somSelf, 
-		ULONG fConfirmations);
-#pragma linkage(somTP_WPObject_wpConfirmDelete, system)
-typedef somTP_WPObject_wpConfirmDelete *somTD_WPObject_wpConfirmDelete;
-#define somMD_WPObject_wpConfirmDelete "::WPObject::wpConfirmDelete"
-#define WPObject_wpConfirmDelete(somSelf,fConfirmations) \
-    (SOM_Resolve(somSelf, WPObject, wpConfirmDelete) \
-	(somSelf,fConfirmations))
-#ifndef SOMGD_wpConfirmDelete
-    #if (defined(_wpConfirmDelete) || defined(__wpConfirmDelete))
-        #undef _wpConfirmDelete
-        #undef __wpConfirmDelete
-        #define SOMGD_wpConfirmDelete 1
-    #else
-        #define _wpConfirmDelete WPObject_wpConfirmDelete
-    #endif /* _wpConfirmDelete */
-#endif /* SOMGD_wpConfirmDelete */
-
-/*
- * New Method: wpConfirmObjectTitle
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpConfirmObjectTitle(WPObject *somSelf, 
-		WPFolder* Folder, 
-		WPObject** ppDuplicate, 
-		PSZ pszTitle, 
-		ULONG cbTitle, 
-		ULONG menuID);
-#pragma linkage(somTP_WPObject_wpConfirmObjectTitle, system)
-typedef somTP_WPObject_wpConfirmObjectTitle *somTD_WPObject_wpConfirmObjectTitle;
-#define somMD_WPObject_wpConfirmObjectTitle "::WPObject::wpConfirmObjectTitle"
-#define WPObject_wpConfirmObjectTitle(somSelf,Folder,ppDuplicate,pszTitle,cbTitle,menuID) \
-    (SOM_Resolve(somSelf, WPObject, wpConfirmObjectTitle) \
-	(somSelf,Folder,ppDuplicate,pszTitle,cbTitle,menuID))
-#ifndef SOMGD_wpConfirmObjectTitle
-    #if (defined(_wpConfirmObjectTitle) || defined(__wpConfirmObjectTitle))
-        #undef _wpConfirmObjectTitle
-        #undef __wpConfirmObjectTitle
-        #define SOMGD_wpConfirmObjectTitle 1
-    #else
-        #define _wpConfirmObjectTitle WPObject_wpConfirmObjectTitle
-    #endif /* _wpConfirmObjectTitle */
-#endif /* SOMGD_wpConfirmObjectTitle */
-
-/*
- * New Method: wpCopiedFromTemplate
- */
-typedef void   SOMLINK somTP_WPObject_wpCopiedFromTemplate(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpCopiedFromTemplate, system)
-typedef somTP_WPObject_wpCopiedFromTemplate *somTD_WPObject_wpCopiedFromTemplate;
-#define somMD_WPObject_wpCopiedFromTemplate "::WPObject::wpCopiedFromTemplate"
-#define WPObject_wpCopiedFromTemplate(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpCopiedFromTemplate) \
-	(somSelf))
-#ifndef SOMGD_wpCopiedFromTemplate
-    #if (defined(_wpCopiedFromTemplate) || defined(__wpCopiedFromTemplate))
-        #undef _wpCopiedFromTemplate
-        #undef __wpCopiedFromTemplate
-        #define SOMGD_wpCopiedFromTemplate 1
-    #else
-        #define _wpCopiedFromTemplate WPObject_wpCopiedFromTemplate
-    #endif /* _wpCopiedFromTemplate */
-#endif /* SOMGD_wpCopiedFromTemplate */
-
-/*
- * New Method: wpCopyObject
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCopyObject(WPObject *somSelf, 
-		WPFolder* Folder, 
-		BOOL fLock);
-#pragma linkage(somTP_WPObject_wpCopyObject, system)
-typedef somTP_WPObject_wpCopyObject *somTD_WPObject_wpCopyObject;
-#define somMD_WPObject_wpCopyObject "::WPObject::wpCopyObject"
-#define WPObject_wpCopyObject(somSelf,Folder,fLock) \
-    (SOM_Resolve(somSelf, WPObject, wpCopyObject) \
-	(somSelf,Folder,fLock))
-#ifndef SOMGD_wpCopyObject
-    #if (defined(_wpCopyObject) || defined(__wpCopyObject))
-        #undef _wpCopyObject
-        #undef __wpCopyObject
-        #define SOMGD_wpCopyObject 1
-    #else
-        #define _wpCopyObject WPObject_wpCopyObject
-    #endif /* _wpCopyObject */
-#endif /* SOMGD_wpCopyObject */
-
-/*
- * New Method: wpCreateAnother
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCreateAnother(WPObject *somSelf, 
-		PSZ pszTitle, 
-		PSZ pszSetupEnv, 
-		WPFolder* Folder);
-#pragma linkage(somTP_WPObject_wpCreateAnother, system)
-typedef somTP_WPObject_wpCreateAnother *somTD_WPObject_wpCreateAnother;
-#define somMD_WPObject_wpCreateAnother "::WPObject::wpCreateAnother"
-#define WPObject_wpCreateAnother(somSelf,pszTitle,pszSetupEnv,Folder) \
-    (SOM_Resolve(somSelf, WPObject, wpCreateAnother) \
-	(somSelf,pszTitle,pszSetupEnv,Folder))
-#ifndef SOMGD_wpCreateAnother
-    #if (defined(_wpCreateAnother) || defined(__wpCreateAnother))
-        #undef _wpCreateAnother
-        #undef __wpCreateAnother
-        #define SOMGD_wpCreateAnother 1
-    #else
-        #define _wpCreateAnother WPObject_wpCreateAnother
-    #endif /* _wpCreateAnother */
-#endif /* SOMGD_wpCreateAnother */
-
-/*
- * New Method: wpCreateFromTemplate
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCreateFromTemplate(WPObject *somSelf, 
-		WPFolder* folder, 
-		BOOL fLock);
-#pragma linkage(somTP_WPObject_wpCreateFromTemplate, system)
-typedef somTP_WPObject_wpCreateFromTemplate *somTD_WPObject_wpCreateFromTemplate;
-#define somMD_WPObject_wpCreateFromTemplate "::WPObject::wpCreateFromTemplate"
-#define WPObject_wpCreateFromTemplate(somSelf,folder,fLock) \
-    (SOM_Resolve(somSelf, WPObject, wpCreateFromTemplate) \
-	(somSelf,folder,fLock))
-#ifndef SOMGD_wpCreateFromTemplate
-    #if (defined(_wpCreateFromTemplate) || defined(__wpCreateFromTemplate))
-        #undef _wpCreateFromTemplate
-        #undef __wpCreateFromTemplate
-        #define SOMGD_wpCreateFromTemplate 1
-    #else
-        #define _wpCreateFromTemplate WPObject_wpCreateFromTemplate
-    #endif /* _wpCreateFromTemplate */
-#endif /* SOMGD_wpCreateFromTemplate */
-
-/*
- * New Method: wpCreateShadowObject
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCreateShadowObject(WPObject *somSelf, 
-		WPFolder* Folder, 
-		BOOL fLock);
-#pragma linkage(somTP_WPObject_wpCreateShadowObject, system)
-typedef somTP_WPObject_wpCreateShadowObject *somTD_WPObject_wpCreateShadowObject;
-#define somMD_WPObject_wpCreateShadowObject "::WPObject::wpCreateShadowObject"
-#define WPObject_wpCreateShadowObject(somSelf,Folder,fLock) \
-    (SOM_Resolve(somSelf, WPObject, wpCreateShadowObject) \
-	(somSelf,Folder,fLock))
-#ifndef SOMGD_wpCreateShadowObject
-    #if (defined(_wpCreateShadowObject) || defined(__wpCreateShadowObject))
-        #undef _wpCreateShadowObject
-        #undef __wpCreateShadowObject
-        #define SOMGD_wpCreateShadowObject 1
-    #else
-        #define _wpCreateShadowObject WPObject_wpCreateShadowObject
-    #endif /* _wpCreateShadowObject */
-#endif /* SOMGD_wpCreateShadowObject */
-
-/*
- * New Method: wpDelete
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpDelete(WPObject *somSelf, 
-		ULONG fConfirmations);
-#pragma linkage(somTP_WPObject_wpDelete, system)
-typedef somTP_WPObject_wpDelete *somTD_WPObject_wpDelete;
-#define somMD_WPObject_wpDelete "::WPObject::wpDelete"
-#define WPObject_wpDelete(somSelf,fConfirmations) \
-    (SOM_Resolve(somSelf, WPObject, wpDelete) \
-	(somSelf,fConfirmations))
-#ifndef SOMGD_wpDelete
-    #if (defined(_wpDelete) || defined(__wpDelete))
-        #undef _wpDelete
-        #undef __wpDelete
-        #define SOMGD_wpDelete 1
-    #else
-        #define _wpDelete WPObject_wpDelete
-    #endif /* _wpDelete */
-#endif /* SOMGD_wpDelete */
-
-/*
- * New Method: wpDeleteFromObjUseList
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDeleteFromObjUseList(WPObject *somSelf, 
-		PUSEITEM pUseItem);
-#pragma linkage(somTP_WPObject_wpDeleteFromObjUseList, system)
-typedef somTP_WPObject_wpDeleteFromObjUseList *somTD_WPObject_wpDeleteFromObjUseList;
-#define somMD_WPObject_wpDeleteFromObjUseList "::WPObject::wpDeleteFromObjUseList"
-#define WPObject_wpDeleteFromObjUseList(somSelf,pUseItem) \
-    (SOM_Resolve(somSelf, WPObject, wpDeleteFromObjUseList) \
-	(somSelf,pUseItem))
-#ifndef SOMGD_wpDeleteFromObjUseList
-    #if (defined(_wpDeleteFromObjUseList) || defined(__wpDeleteFromObjUseList))
-        #undef _wpDeleteFromObjUseList
-        #undef __wpDeleteFromObjUseList
-        #define SOMGD_wpDeleteFromObjUseList 1
-    #else
-        #define _wpDeleteFromObjUseList WPObject_wpDeleteFromObjUseList
-    #endif /* _wpDeleteFromObjUseList */
-#endif /* SOMGD_wpDeleteFromObjUseList */
-
-/*
- * New Method: wpDisplayHelp
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDisplayHelp(WPObject *somSelf, 
-		ULONG HelpPanelId, 
-		PSZ HelpLibrary);
-#pragma linkage(somTP_WPObject_wpDisplayHelp, system)
-typedef somTP_WPObject_wpDisplayHelp *somTD_WPObject_wpDisplayHelp;
-#define somMD_WPObject_wpDisplayHelp "::WPObject::wpDisplayHelp"
-#define WPObject_wpDisplayHelp(somSelf,HelpPanelId,HelpLibrary) \
-    (SOM_Resolve(somSelf, WPObject, wpDisplayHelp) \
-	(somSelf,HelpPanelId,HelpLibrary))
-#ifndef SOMGD_wpDisplayHelp
-    #if (defined(_wpDisplayHelp) || defined(__wpDisplayHelp))
-        #undef _wpDisplayHelp
-        #undef __wpDisplayHelp
-        #define SOMGD_wpDisplayHelp 1
-    #else
-        #define _wpDisplayHelp WPObject_wpDisplayHelp
-    #endif /* _wpDisplayHelp */
-#endif /* SOMGD_wpDisplayHelp */
-
-/*
- * New Method: wpDisplayMenu
- */
-typedef HWND   SOMLINK somTP_WPObject_wpDisplayMenu(WPObject *somSelf, 
-		HWND hwndOwner, 
-		HWND hwndClient, 
-		POINTL* ptlPopupPt, 
-		ULONG ulMenuType, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpDisplayMenu, system)
-typedef somTP_WPObject_wpDisplayMenu *somTD_WPObject_wpDisplayMenu;
-#define somMD_WPObject_wpDisplayMenu "::WPObject::wpDisplayMenu"
-#define WPObject_wpDisplayMenu(somSelf,hwndOwner,hwndClient,ptlPopupPt,ulMenuType,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpDisplayMenu) \
-	(somSelf,hwndOwner,hwndClient,ptlPopupPt,ulMenuType,ulReserved))
-#ifndef SOMGD_wpDisplayMenu
-    #if (defined(_wpDisplayMenu) || defined(__wpDisplayMenu))
-        #undef _wpDisplayMenu
-        #undef __wpDisplayMenu
-        #define SOMGD_wpDisplayMenu 1
-    #else
-        #define _wpDisplayMenu WPObject_wpDisplayMenu
-    #endif /* _wpDisplayMenu */
-#endif /* SOMGD_wpDisplayMenu */
-
-/*
- * New Method: wpDoesObjectMatch
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDoesObjectMatch(WPObject *somSelf, 
-		PVOID pvoidExtendedCriteria);
-#pragma linkage(somTP_WPObject_wpDoesObjectMatch, system)
-typedef somTP_WPObject_wpDoesObjectMatch *somTD_WPObject_wpDoesObjectMatch;
-#define somMD_WPObject_wpDoesObjectMatch "::WPObject::wpDoesObjectMatch"
-#define WPObject_wpDoesObjectMatch(somSelf,pvoidExtendedCriteria) \
-    (SOM_Resolve(somSelf, WPObject, wpDoesObjectMatch) \
-	(somSelf,pvoidExtendedCriteria))
-#ifndef SOMGD_wpDoesObjectMatch
-    #if (defined(_wpDoesObjectMatch) || defined(__wpDoesObjectMatch))
-        #undef _wpDoesObjectMatch
-        #undef __wpDoesObjectMatch
-        #define SOMGD_wpDoesObjectMatch 1
-    #else
-        #define _wpDoesObjectMatch WPObject_wpDoesObjectMatch
-    #endif /* _wpDoesObjectMatch */
-#endif /* SOMGD_wpDoesObjectMatch */
-
-/*
- * New Method: wpDraggedOverObject
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpDraggedOverObject(WPObject *somSelf, 
-		WPObject* DraggedOverObject);
-#pragma linkage(somTP_WPObject_wpDraggedOverObject, system)
-typedef somTP_WPObject_wpDraggedOverObject *somTD_WPObject_wpDraggedOverObject;
-#define somMD_WPObject_wpDraggedOverObject "::WPObject::wpDraggedOverObject"
-#define WPObject_wpDraggedOverObject(somSelf,DraggedOverObject) \
-    (SOM_Resolve(somSelf, WPObject, wpDraggedOverObject) \
-	(somSelf,DraggedOverObject))
-#ifndef SOMGD_wpDraggedOverObject
-    #if (defined(_wpDraggedOverObject) || defined(__wpDraggedOverObject))
-        #undef _wpDraggedOverObject
-        #undef __wpDraggedOverObject
-        #define SOMGD_wpDraggedOverObject 1
-    #else
-        #define _wpDraggedOverObject WPObject_wpDraggedOverObject
-    #endif /* _wpDraggedOverObject */
-#endif /* SOMGD_wpDraggedOverObject */
-
-/*
- * New Method: wpDragOver
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpDragOver(WPObject *somSelf, 
-		HWND hwndCnr, 
-		PDRAGINFO pdrgInfo);
-#pragma linkage(somTP_WPObject_wpDragOver, system)
-typedef somTP_WPObject_wpDragOver *somTD_WPObject_wpDragOver;
-#define somMD_WPObject_wpDragOver "::WPObject::wpDragOver"
-#define WPObject_wpDragOver(somSelf,hwndCnr,pdrgInfo) \
-    (SOM_Resolve(somSelf, WPObject, wpDragOver) \
-	(somSelf,hwndCnr,pdrgInfo))
-#ifndef SOMGD_wpDragOver
-    #if (defined(_wpDragOver) || defined(__wpDragOver))
-        #undef _wpDragOver
-        #undef __wpDragOver
-        #define SOMGD_wpDragOver 1
-    #else
-        #define _wpDragOver WPObject_wpDragOver
-    #endif /* _wpDragOver */
-#endif /* SOMGD_wpDragOver */
-
-/*
- * New Method: wpDrop
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpDrop(WPObject *somSelf, 
-		HWND hwndCnr, 
-		PDRAGINFO pdrgInfo, 
-		PDRAGITEM pdrgItem);
-#pragma linkage(somTP_WPObject_wpDrop, system)
-typedef somTP_WPObject_wpDrop *somTD_WPObject_wpDrop;
-#define somMD_WPObject_wpDrop "::WPObject::wpDrop"
-#define WPObject_wpDrop(somSelf,hwndCnr,pdrgInfo,pdrgItem) \
-    (SOM_Resolve(somSelf, WPObject, wpDrop) \
-	(somSelf,hwndCnr,pdrgInfo,pdrgItem))
-#ifndef SOMGD_wpDrop
-    #if (defined(_wpDrop) || defined(__wpDrop))
-        #undef _wpDrop
-        #undef __wpDrop
-        #define SOMGD_wpDrop 1
-    #else
-        #define _wpDrop WPObject_wpDrop
-    #endif /* _wpDrop */
-#endif /* SOMGD_wpDrop */
-
-/*
- * New Method: wpDroppedOnObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpDroppedOnObject(WPObject *somSelf, 
-		WPObject* DroppedOnObject);
-#pragma linkage(somTP_WPObject_wpDroppedOnObject, system)
-typedef somTP_WPObject_wpDroppedOnObject *somTD_WPObject_wpDroppedOnObject;
-#define somMD_WPObject_wpDroppedOnObject "::WPObject::wpDroppedOnObject"
-#define WPObject_wpDroppedOnObject(somSelf,DroppedOnObject) \
-    (SOM_Resolve(somSelf, WPObject, wpDroppedOnObject) \
-	(somSelf,DroppedOnObject))
-#ifndef SOMGD_wpDroppedOnObject
-    #if (defined(_wpDroppedOnObject) || defined(__wpDroppedOnObject))
-        #undef _wpDroppedOnObject
-        #undef __wpDroppedOnObject
-        #define SOMGD_wpDroppedOnObject 1
-    #else
-        #define _wpDroppedOnObject WPObject_wpDroppedOnObject
-    #endif /* _wpDroppedOnObject */
-#endif /* SOMGD_wpDroppedOnObject */
-
-/*
- * New Method: wpEndConversation
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpEndConversation(WPObject *somSelf, 
-		ULONG ulItemID, 
-		ULONG flResult);
-#pragma linkage(somTP_WPObject_wpEndConversation, system)
-typedef somTP_WPObject_wpEndConversation *somTD_WPObject_wpEndConversation;
-#define somMD_WPObject_wpEndConversation "::WPObject::wpEndConversation"
-#define WPObject_wpEndConversation(somSelf,ulItemID,flResult) \
-    (SOM_Resolve(somSelf, WPObject, wpEndConversation) \
-	(somSelf,ulItemID,flResult))
-#ifndef SOMGD_wpEndConversation
-    #if (defined(_wpEndConversation) || defined(__wpEndConversation))
-        #undef _wpEndConversation
-        #undef __wpEndConversation
-        #define SOMGD_wpEndConversation 1
-    #else
-        #define _wpEndConversation WPObject_wpEndConversation
-    #endif /* _wpEndConversation */
-#endif /* SOMGD_wpEndConversation */
-
-/*
- * New Method: wpFilterPopupMenu
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpFilterPopupMenu(WPObject *somSelf, 
-		ULONG ulFlags, 
-		HWND hwndCnr, 
-		BOOL fMultiSelect);
-#pragma linkage(somTP_WPObject_wpFilterPopupMenu, system)
-typedef somTP_WPObject_wpFilterPopupMenu *somTD_WPObject_wpFilterPopupMenu;
-#define somMD_WPObject_wpFilterPopupMenu "::WPObject::wpFilterPopupMenu"
-#define WPObject_wpFilterPopupMenu(somSelf,ulFlags,hwndCnr,fMultiSelect) \
-    (SOM_Resolve(somSelf, WPObject, wpFilterPopupMenu) \
-	(somSelf,ulFlags,hwndCnr,fMultiSelect))
-#ifndef SOMGD_wpFilterPopupMenu
-    #if (defined(_wpFilterPopupMenu) || defined(__wpFilterPopupMenu))
-        #undef _wpFilterPopupMenu
-        #undef __wpFilterPopupMenu
-        #define SOMGD_wpFilterPopupMenu 1
-    #else
-        #define _wpFilterPopupMenu WPObject_wpFilterPopupMenu
-    #endif /* _wpFilterPopupMenu */
-#endif /* SOMGD_wpFilterPopupMenu */
-
-/*
- * New Method: wpFilterMenu
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpFilterMenu(WPObject *somSelf, 
-		FILTERFLAGS* pFlags, 
-		HWND hwndCnr, 
-		BOOL fMultiSelect, 
-		ULONG ulMenuType, 
-		ULONG ulView, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpFilterMenu, system)
-typedef somTP_WPObject_wpFilterMenu *somTD_WPObject_wpFilterMenu;
-#define somMD_WPObject_wpFilterMenu "::WPObject::wpFilterMenu"
-#define WPObject_wpFilterMenu(somSelf,pFlags,hwndCnr,fMultiSelect,ulMenuType,ulView,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpFilterMenu) \
-	(somSelf,pFlags,hwndCnr,fMultiSelect,ulMenuType,ulView,ulReserved))
-#ifndef SOMGD_wpFilterMenu
-    #if (defined(_wpFilterMenu) || defined(__wpFilterMenu))
-        #undef _wpFilterMenu
-        #undef __wpFilterMenu
-        #define SOMGD_wpFilterMenu 1
-    #else
-        #define _wpFilterMenu WPObject_wpFilterMenu
-    #endif /* _wpFilterMenu */
-#endif /* SOMGD_wpFilterMenu */
-
-/*
- * New Method: wpFindUseItem
- */
-typedef PUSEITEM   SOMLINK somTP_WPObject_wpFindUseItem(WPObject *somSelf, 
-		ULONG type, 
-		PUSEITEM pCurrentItem);
-#pragma linkage(somTP_WPObject_wpFindUseItem, system)
-typedef somTP_WPObject_wpFindUseItem *somTD_WPObject_wpFindUseItem;
-#define somMD_WPObject_wpFindUseItem "::WPObject::wpFindUseItem"
-#define WPObject_wpFindUseItem(somSelf,type,pCurrentItem) \
-    (SOM_Resolve(somSelf, WPObject, wpFindUseItem) \
-	(somSelf,type,pCurrentItem))
-#ifndef SOMGD_wpFindUseItem
-    #if (defined(_wpFindUseItem) || defined(__wpFindUseItem))
-        #undef _wpFindUseItem
-        #undef __wpFindUseItem
-        #define SOMGD_wpFindUseItem 1
-    #else
-        #define _wpFindUseItem WPObject_wpFindUseItem
-    #endif /* _wpFindUseItem */
-#endif /* SOMGD_wpFindUseItem */
-
-/*
- * New Method: wpFormatDragItem
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpFormatDragItem(WPObject *somSelf, 
-		PDRAGITEM pdrgItem);
-#pragma linkage(somTP_WPObject_wpFormatDragItem, system)
-typedef somTP_WPObject_wpFormatDragItem *somTD_WPObject_wpFormatDragItem;
-#define somMD_WPObject_wpFormatDragItem "::WPObject::wpFormatDragItem"
-#define WPObject_wpFormatDragItem(somSelf,pdrgItem) \
-    (SOM_Resolve(somSelf, WPObject, wpFormatDragItem) \
-	(somSelf,pdrgItem))
-#ifndef SOMGD_wpFormatDragItem
-    #if (defined(_wpFormatDragItem) || defined(__wpFormatDragItem))
-        #undef _wpFormatDragItem
-        #undef __wpFormatDragItem
-        #define SOMGD_wpFormatDragItem 1
-    #else
-        #define _wpFormatDragItem WPObject_wpFormatDragItem
-    #endif /* _wpFormatDragItem */
-#endif /* SOMGD_wpFormatDragItem */
-
-/*
- * New Method: wpFree
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpFree(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpFree, system)
-typedef somTP_WPObject_wpFree *somTD_WPObject_wpFree;
-#define somMD_WPObject_wpFree "::WPObject::wpFree"
-#define WPObject_wpFree(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpFree) \
-	(somSelf))
-#ifndef SOMGD_wpFree
-    #if (defined(_wpFree) || defined(__wpFree))
-        #undef _wpFree
-        #undef __wpFree
-        #define SOMGD_wpFree 1
-    #else
-        #define _wpFree WPObject_wpFree
-    #endif /* _wpFree */
-#endif /* SOMGD_wpFree */
-
-/*
- * New Method: wpFreeMem
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpFreeMem(WPObject *somSelf, 
-		PBYTE pByte);
-#pragma linkage(somTP_WPObject_wpFreeMem, system)
-typedef somTP_WPObject_wpFreeMem *somTD_WPObject_wpFreeMem;
-#define somMD_WPObject_wpFreeMem "::WPObject::wpFreeMem"
-#define WPObject_wpFreeMem(somSelf,pByte) \
-    (SOM_Resolve(somSelf, WPObject, wpFreeMem) \
-	(somSelf,pByte))
-#ifndef SOMGD_wpFreeMem
-    #if (defined(_wpFreeMem) || defined(__wpFreeMem))
-        #undef _wpFreeMem
-        #undef __wpFreeMem
-        #define SOMGD_wpFreeMem 1
-    #else
-        #define _wpFreeMem WPObject_wpFreeMem
-    #endif /* _wpFreeMem */
-#endif /* SOMGD_wpFreeMem */
-
-/*
- * New Method: wpHide
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpHide(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpHide, system)
-typedef somTP_WPObject_wpHide *somTD_WPObject_wpHide;
-#define somMD_WPObject_wpHide "::WPObject::wpHide"
-#define WPObject_wpHide(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpHide) \
-	(somSelf))
-#ifndef SOMGD_wpHide
-    #if (defined(_wpHide) || defined(__wpHide))
-        #undef _wpHide
-        #undef __wpHide
-        #define SOMGD_wpHide 1
-    #else
-        #define _wpHide WPObject_wpHide
-    #endif /* _wpHide */
-#endif /* SOMGD_wpHide */
-
-/*
- * New Method: wpInitData
- */
-typedef void   SOMLINK somTP_WPObject_wpInitData(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpInitData, system)
-typedef somTP_WPObject_wpInitData *somTD_WPObject_wpInitData;
-#define somMD_WPObject_wpInitData "::WPObject::wpInitData"
-#define WPObject_wpInitData(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpInitData) \
-	(somSelf))
-#ifndef SOMGD_wpInitData
-    #if (defined(_wpInitData) || defined(__wpInitData))
-        #undef _wpInitData
-        #undef __wpInitData
-        #define SOMGD_wpInitData 1
-    #else
-        #define _wpInitData WPObject_wpInitData
-    #endif /* _wpInitData */
-#endif /* SOMGD_wpInitData */
-
-/*
- * New Method: wpInsertPopupMenuItems
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpInsertPopupMenuItems(WPObject *somSelf, 
-		HWND hwndMenu, 
-		ULONG iPosition, 
-		HMODULE hmod, 
-		ULONG MenuID, 
-		ULONG SubMenuID);
-#pragma linkage(somTP_WPObject_wpInsertPopupMenuItems, system)
-typedef somTP_WPObject_wpInsertPopupMenuItems *somTD_WPObject_wpInsertPopupMenuItems;
-#define somMD_WPObject_wpInsertPopupMenuItems "::WPObject::wpInsertPopupMenuItems"
-#define WPObject_wpInsertPopupMenuItems(somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID) \
-    (SOM_Resolve(somSelf, WPObject, wpInsertPopupMenuItems) \
-	(somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID))
-#ifndef SOMGD_wpInsertPopupMenuItems
-    #if (defined(_wpInsertPopupMenuItems) || defined(__wpInsertPopupMenuItems))
-        #undef _wpInsertPopupMenuItems
-        #undef __wpInsertPopupMenuItems
-        #define SOMGD_wpInsertPopupMenuItems 1
-    #else
-        #define _wpInsertPopupMenuItems WPObject_wpInsertPopupMenuItems
-    #endif /* _wpInsertPopupMenuItems */
-#endif /* SOMGD_wpInsertPopupMenuItems */
-
-/*
- * New Method: wpInsertMenuItems
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpInsertMenuItems(WPObject *somSelf, 
-		HWND hwndMenu, 
-		ULONG iPosition, 
-		HMODULE hmod, 
-		ULONG MenuID, 
-		ULONG SubMenuID);
-#pragma linkage(somTP_WPObject_wpInsertMenuItems, system)
-typedef somTP_WPObject_wpInsertMenuItems *somTD_WPObject_wpInsertMenuItems;
-#define somMD_WPObject_wpInsertMenuItems "::WPObject::wpInsertMenuItems"
-#define WPObject_wpInsertMenuItems(somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID) \
-    (SOM_Resolve(somSelf, WPObject, wpInsertMenuItems) \
-	(somSelf,hwndMenu,iPosition,hmod,MenuID,SubMenuID))
-#ifndef SOMGD_wpInsertMenuItems
-    #if (defined(_wpInsertMenuItems) || defined(__wpInsertMenuItems))
-        #undef _wpInsertMenuItems
-        #undef __wpInsertMenuItems
-        #define SOMGD_wpInsertMenuItems 1
-    #else
-        #define _wpInsertMenuItems WPObject_wpInsertMenuItems
-    #endif /* _wpInsertMenuItems */
-#endif /* SOMGD_wpInsertMenuItems */
-
-/*
- * New Method: wpInsertSettingsPage
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpInsertSettingsPage(WPObject *somSelf, 
-		HWND hwndNotebook, 
-		PPAGEINFO ppageinfo);
-#pragma linkage(somTP_WPObject_wpInsertSettingsPage, system)
-typedef somTP_WPObject_wpInsertSettingsPage *somTD_WPObject_wpInsertSettingsPage;
-#define somMD_WPObject_wpInsertSettingsPage "::WPObject::wpInsertSettingsPage"
-#define WPObject_wpInsertSettingsPage(somSelf,hwndNotebook,ppageinfo) \
-    (SOM_Resolve(somSelf, WPObject, wpInsertSettingsPage) \
-	(somSelf,hwndNotebook,ppageinfo))
-#ifndef SOMGD_wpInsertSettingsPage
-    #if (defined(_wpInsertSettingsPage) || defined(__wpInsertSettingsPage))
-        #undef _wpInsertSettingsPage
-        #undef __wpInsertSettingsPage
-        #define SOMGD_wpInsertSettingsPage 1
-    #else
-        #define _wpInsertSettingsPage WPObject_wpInsertSettingsPage
-    #endif /* _wpInsertSettingsPage */
-#endif /* SOMGD_wpInsertSettingsPage */
-
-/*
- * New Method: wpMenuItemHelpSelected
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpMenuItemHelpSelected(WPObject *somSelf, 
-		ULONG MenuId);
-#pragma linkage(somTP_WPObject_wpMenuItemHelpSelected, system)
-typedef somTP_WPObject_wpMenuItemHelpSelected *somTD_WPObject_wpMenuItemHelpSelected;
-#define somMD_WPObject_wpMenuItemHelpSelected "::WPObject::wpMenuItemHelpSelected"
-#define WPObject_wpMenuItemHelpSelected(somSelf,MenuId) \
-    (SOM_Resolve(somSelf, WPObject, wpMenuItemHelpSelected) \
-	(somSelf,MenuId))
-#ifndef SOMGD_wpMenuItemHelpSelected
-    #if (defined(_wpMenuItemHelpSelected) || defined(__wpMenuItemHelpSelected))
-        #undef _wpMenuItemHelpSelected
-        #undef __wpMenuItemHelpSelected
-        #define SOMGD_wpMenuItemHelpSelected 1
-    #else
-        #define _wpMenuItemHelpSelected WPObject_wpMenuItemHelpSelected
-    #endif /* _wpMenuItemHelpSelected */
-#endif /* SOMGD_wpMenuItemHelpSelected */
-
-/*
- * New Method: wpMenuItemSelected
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpMenuItemSelected(WPObject *somSelf, 
-		HWND hwndFrame, 
-		ULONG ulMenuId);
-#pragma linkage(somTP_WPObject_wpMenuItemSelected, system)
-typedef somTP_WPObject_wpMenuItemSelected *somTD_WPObject_wpMenuItemSelected;
-#define somMD_WPObject_wpMenuItemSelected "::WPObject::wpMenuItemSelected"
-#define WPObject_wpMenuItemSelected(somSelf,hwndFrame,ulMenuId) \
-    (SOM_Resolve(somSelf, WPObject, wpMenuItemSelected) \
-	(somSelf,hwndFrame,ulMenuId))
-#ifndef SOMGD_wpMenuItemSelected
-    #if (defined(_wpMenuItemSelected) || defined(__wpMenuItemSelected))
-        #undef _wpMenuItemSelected
-        #undef __wpMenuItemSelected
-        #define SOMGD_wpMenuItemSelected 1
-    #else
-        #define _wpMenuItemSelected WPObject_wpMenuItemSelected
-    #endif /* _wpMenuItemSelected */
-#endif /* SOMGD_wpMenuItemSelected */
-
-/*
- * New Method: wpModifyPopupMenu
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpModifyPopupMenu(WPObject *somSelf, 
-		HWND hwndMenu, 
-		HWND hwndCnr, 
-		ULONG iPosition);
-#pragma linkage(somTP_WPObject_wpModifyPopupMenu, system)
-typedef somTP_WPObject_wpModifyPopupMenu *somTD_WPObject_wpModifyPopupMenu;
-#define somMD_WPObject_wpModifyPopupMenu "::WPObject::wpModifyPopupMenu"
-#define WPObject_wpModifyPopupMenu(somSelf,hwndMenu,hwndCnr,iPosition) \
-    (SOM_Resolve(somSelf, WPObject, wpModifyPopupMenu) \
-	(somSelf,hwndMenu,hwndCnr,iPosition))
-#ifndef SOMGD_wpModifyPopupMenu
-    #if (defined(_wpModifyPopupMenu) || defined(__wpModifyPopupMenu))
-        #undef _wpModifyPopupMenu
-        #undef __wpModifyPopupMenu
-        #define SOMGD_wpModifyPopupMenu 1
-    #else
-        #define _wpModifyPopupMenu WPObject_wpModifyPopupMenu
-    #endif /* _wpModifyPopupMenu */
-#endif /* SOMGD_wpModifyPopupMenu */
-
-/*
- * New Method: wpModifyMenu
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpModifyMenu(WPObject *somSelf, 
-		HWND hwndMenu, 
-		HWND hwndCnr, 
-		ULONG iPosition, 
-		ULONG ulMenuType, 
-		ULONG ulView, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpModifyMenu, system)
-typedef somTP_WPObject_wpModifyMenu *somTD_WPObject_wpModifyMenu;
-#define somMD_WPObject_wpModifyMenu "::WPObject::wpModifyMenu"
-#define WPObject_wpModifyMenu(somSelf,hwndMenu,hwndCnr,iPosition,ulMenuType,ulView,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpModifyMenu) \
-	(somSelf,hwndMenu,hwndCnr,iPosition,ulMenuType,ulView,ulReserved))
-#ifndef SOMGD_wpModifyMenu
-    #if (defined(_wpModifyMenu) || defined(__wpModifyMenu))
-        #undef _wpModifyMenu
-        #undef __wpModifyMenu
-        #define SOMGD_wpModifyMenu 1
-    #else
-        #define _wpModifyMenu WPObject_wpModifyMenu
-    #endif /* _wpModifyMenu */
-#endif /* SOMGD_wpModifyMenu */
-
-/*
- * New Method: wpMoveObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpMoveObject(WPObject *somSelf, 
-		WPFolder* Folder);
-#pragma linkage(somTP_WPObject_wpMoveObject, system)
-typedef somTP_WPObject_wpMoveObject *somTD_WPObject_wpMoveObject;
-#define somMD_WPObject_wpMoveObject "::WPObject::wpMoveObject"
-#define WPObject_wpMoveObject(somSelf,Folder) \
-    (SOM_Resolve(somSelf, WPObject, wpMoveObject) \
-	(somSelf,Folder))
-#ifndef SOMGD_wpMoveObject
-    #if (defined(_wpMoveObject) || defined(__wpMoveObject))
-        #undef _wpMoveObject
-        #undef __wpMoveObject
-        #define SOMGD_wpMoveObject 1
-    #else
-        #define _wpMoveObject WPObject_wpMoveObject
-    #endif /* _wpMoveObject */
-#endif /* SOMGD_wpMoveObject */
-
-/*
- * New Method: wpOpen
- */
-typedef HWND   SOMLINK somTP_WPObject_wpOpen(WPObject *somSelf, 
-		HWND hwndCnr, 
-		ULONG ulView, 
-		ULONG param);
-#pragma linkage(somTP_WPObject_wpOpen, system)
-typedef somTP_WPObject_wpOpen *somTD_WPObject_wpOpen;
-#define somMD_WPObject_wpOpen "::WPObject::wpOpen"
-#define WPObject_wpOpen(somSelf,hwndCnr,ulView,param) \
-    (SOM_Resolve(somSelf, WPObject, wpOpen) \
-	(somSelf,hwndCnr,ulView,param))
-#ifndef SOMGD_wpOpen
-    #if (defined(_wpOpen) || defined(__wpOpen))
-        #undef _wpOpen
-        #undef __wpOpen
-        #define SOMGD_wpOpen 1
-    #else
-        #define _wpOpen WPObject_wpOpen
-    #endif /* _wpOpen */
-#endif /* SOMGD_wpOpen */
-
-/*
- * New Method: wpPrintObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpPrintObject(WPObject *somSelf, 
-		PPRINTDEST pPrintDest, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpPrintObject, system)
-typedef somTP_WPObject_wpPrintObject *somTD_WPObject_wpPrintObject;
-#define somMD_WPObject_wpPrintObject "::WPObject::wpPrintObject"
-#define WPObject_wpPrintObject(somSelf,pPrintDest,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpPrintObject) \
-	(somSelf,pPrintDest,ulReserved))
-#ifndef SOMGD_wpPrintObject
-    #if (defined(_wpPrintObject) || defined(__wpPrintObject))
-        #undef _wpPrintObject
-        #undef __wpPrintObject
-        #define SOMGD_wpPrintObject 1
-    #else
-        #define _wpPrintObject WPObject_wpPrintObject
-    #endif /* _wpPrintObject */
-#endif /* SOMGD_wpPrintObject */
-
-/*
- * New Method: wpQueryConcurrentView
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryConcurrentView(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryConcurrentView, system)
-typedef somTP_WPObject_wpQueryConcurrentView *somTD_WPObject_wpQueryConcurrentView;
-#define somMD_WPObject_wpQueryConcurrentView "::WPObject::wpQueryConcurrentView"
-#define WPObject_wpQueryConcurrentView(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryConcurrentView) \
-	(somSelf))
-#ifndef SOMGD_wpQueryConcurrentView
-    #if (defined(_wpQueryConcurrentView) || defined(__wpQueryConcurrentView))
-        #undef _wpQueryConcurrentView
-        #undef __wpQueryConcurrentView
-        #define SOMGD_wpQueryConcurrentView 1
-    #else
-        #define _wpQueryConcurrentView WPObject_wpQueryConcurrentView
-    #endif /* _wpQueryConcurrentView */
-#endif /* SOMGD_wpQueryConcurrentView */
-
-/*
- * New Method: wpQueryButtonAppearance
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryButtonAppearance(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryButtonAppearance, system)
-typedef somTP_WPObject_wpQueryButtonAppearance *somTD_WPObject_wpQueryButtonAppearance;
-#define somMD_WPObject_wpQueryButtonAppearance "::WPObject::wpQueryButtonAppearance"
-#define WPObject_wpQueryButtonAppearance(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryButtonAppearance) \
-	(somSelf))
-#ifndef SOMGD_wpQueryButtonAppearance
-    #if (defined(_wpQueryButtonAppearance) || defined(__wpQueryButtonAppearance))
-        #undef _wpQueryButtonAppearance
-        #undef __wpQueryButtonAppearance
-        #define SOMGD_wpQueryButtonAppearance 1
-    #else
-        #define _wpQueryButtonAppearance WPObject_wpQueryButtonAppearance
-    #endif /* _wpQueryButtonAppearance */
-#endif /* SOMGD_wpQueryButtonAppearance */
-
-/*
- * New Method: wpQueryConfirmations
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryConfirmations(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryConfirmations, system)
-typedef somTP_WPObject_wpQueryConfirmations *somTD_WPObject_wpQueryConfirmations;
-#define somMD_WPObject_wpQueryConfirmations "::WPObject::wpQueryConfirmations"
-#define WPObject_wpQueryConfirmations(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryConfirmations) \
-	(somSelf))
-#ifndef SOMGD_wpQueryConfirmations
-    #if (defined(_wpQueryConfirmations) || defined(__wpQueryConfirmations))
-        #undef _wpQueryConfirmations
-        #undef __wpQueryConfirmations
-        #define SOMGD_wpQueryConfirmations 1
-    #else
-        #define _wpQueryConfirmations WPObject_wpQueryConfirmations
-    #endif /* _wpQueryConfirmations */
-#endif /* SOMGD_wpQueryConfirmations */
-
-/*
- * New Method: wpQueryDefaultHelp
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpQueryDefaultHelp(WPObject *somSelf, 
-		PULONG pHelpPanelId, 
-		PSZ HelpLibrary);
-#pragma linkage(somTP_WPObject_wpQueryDefaultHelp, system)
-typedef somTP_WPObject_wpQueryDefaultHelp *somTD_WPObject_wpQueryDefaultHelp;
-#define somMD_WPObject_wpQueryDefaultHelp "::WPObject::wpQueryDefaultHelp"
-#define WPObject_wpQueryDefaultHelp(somSelf,pHelpPanelId,HelpLibrary) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryDefaultHelp) \
-	(somSelf,pHelpPanelId,HelpLibrary))
-#ifndef SOMGD_wpQueryDefaultHelp
-    #if (defined(_wpQueryDefaultHelp) || defined(__wpQueryDefaultHelp))
-        #undef _wpQueryDefaultHelp
-        #undef __wpQueryDefaultHelp
-        #define SOMGD_wpQueryDefaultHelp 1
-    #else
-        #define _wpQueryDefaultHelp WPObject_wpQueryDefaultHelp
-    #endif /* _wpQueryDefaultHelp */
-#endif /* SOMGD_wpQueryDefaultHelp */
-
-/*
- * New Method: wpQueryDefaultView
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryDefaultView(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryDefaultView, system)
-typedef somTP_WPObject_wpQueryDefaultView *somTD_WPObject_wpQueryDefaultView;
-#define somMD_WPObject_wpQueryDefaultView "::WPObject::wpQueryDefaultView"
-#define WPObject_wpQueryDefaultView(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryDefaultView) \
-	(somSelf))
-#ifndef SOMGD_wpQueryDefaultView
-    #if (defined(_wpQueryDefaultView) || defined(__wpQueryDefaultView))
-        #undef _wpQueryDefaultView
-        #undef __wpQueryDefaultView
-        #define SOMGD_wpQueryDefaultView 1
-    #else
-        #define _wpQueryDefaultView WPObject_wpQueryDefaultView
-    #endif /* _wpQueryDefaultView */
-#endif /* SOMGD_wpQueryDefaultView */
-
-/*
- * New Method: wpQueryDetailsData
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryDetailsData(WPObject *somSelf, 
-		PVOID* ppDetailsData, 
-		PULONG pcp);
-#pragma linkage(somTP_WPObject_wpQueryDetailsData, system)
-typedef somTP_WPObject_wpQueryDetailsData *somTD_WPObject_wpQueryDetailsData;
-#define somMD_WPObject_wpQueryDetailsData "::WPObject::wpQueryDetailsData"
-#define WPObject_wpQueryDetailsData(somSelf,ppDetailsData,pcp) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryDetailsData) \
-	(somSelf,ppDetailsData,pcp))
-#ifndef SOMGD_wpQueryDetailsData
-    #if (defined(_wpQueryDetailsData) || defined(__wpQueryDetailsData))
-        #undef _wpQueryDetailsData
-        #undef __wpQueryDetailsData
-        #define SOMGD_wpQueryDetailsData 1
-    #else
-        #define _wpQueryDetailsData WPObject_wpQueryDetailsData
-    #endif /* _wpQueryDetailsData */
-#endif /* SOMGD_wpQueryDetailsData */
-
-/*
- * New Method: wpQueryError
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryError(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryError, system)
-typedef somTP_WPObject_wpQueryError *somTD_WPObject_wpQueryError;
-#define somMD_WPObject_wpQueryError "::WPObject::wpQueryError"
-#define WPObject_wpQueryError(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryError) \
-	(somSelf))
-#ifndef SOMGD_wpQueryError
-    #if (defined(_wpQueryError) || defined(__wpQueryError))
-        #undef _wpQueryError
-        #undef __wpQueryError
-        #define SOMGD_wpQueryError 1
-    #else
-        #define _wpQueryError WPObject_wpQueryError
-    #endif /* _wpQueryError */
-#endif /* SOMGD_wpQueryError */
-
-/*
- * New Method: wpSetFolder
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetFolder(WPObject *somSelf, 
-		WPObject* container);
-#pragma linkage(somTP_WPObject_wpSetFolder, system)
-typedef somTP_WPObject_wpSetFolder *somTD_WPObject_wpSetFolder;
-#define somMD_WPObject_wpSetFolder "::WPObject::wpSetFolder"
-#define WPObject_wpSetFolder(somSelf,container) \
-    (SOM_Resolve(somSelf, WPObject, wpSetFolder) \
-	(somSelf,container))
-#ifndef SOMGD_wpSetFolder
-    #if (defined(_wpSetFolder) || defined(__wpSetFolder))
-        #undef _wpSetFolder
-        #undef __wpSetFolder
-        #define SOMGD_wpSetFolder 1
-    #else
-        #define _wpSetFolder WPObject_wpSetFolder
-    #endif /* _wpSetFolder */
-#endif /* SOMGD_wpSetFolder */
-
-/*
- * New Method: wpQueryFolder
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpQueryFolder(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryFolder, system)
-typedef somTP_WPObject_wpQueryFolder *somTD_WPObject_wpQueryFolder;
-#define somMD_WPObject_wpQueryFolder "::WPObject::wpQueryFolder"
-#define WPObject_wpQueryFolder(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryFolder) \
-	(somSelf))
-#ifndef SOMGD_wpQueryFolder
-    #if (defined(_wpQueryFolder) || defined(__wpQueryFolder))
-        #undef _wpQueryFolder
-        #undef __wpQueryFolder
-        #define SOMGD_wpQueryFolder 1
-    #else
-        #define _wpQueryFolder WPObject_wpQueryFolder
-    #endif /* _wpQueryFolder */
-#endif /* SOMGD_wpQueryFolder */
-
-/*
- * New Method: wpQueryIcon
- */
-typedef HPOINTER   SOMLINK somTP_WPObject_wpQueryIcon(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryIcon, system)
-typedef somTP_WPObject_wpQueryIcon *somTD_WPObject_wpQueryIcon;
-#define somMD_WPObject_wpQueryIcon "::WPObject::wpQueryIcon"
-#define WPObject_wpQueryIcon(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryIcon) \
-	(somSelf))
-#ifndef SOMGD_wpQueryIcon
-    #if (defined(_wpQueryIcon) || defined(__wpQueryIcon))
-        #undef _wpQueryIcon
-        #undef __wpQueryIcon
-        #define SOMGD_wpQueryIcon 1
-    #else
-        #define _wpQueryIcon WPObject_wpQueryIcon
-    #endif /* _wpQueryIcon */
-#endif /* SOMGD_wpQueryIcon */
-
-/*
- * New Method: wpQueryIconData
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryIconData(WPObject *somSelf, 
-		PICONINFO pIconInfo);
-#pragma linkage(somTP_WPObject_wpQueryIconData, system)
-typedef somTP_WPObject_wpQueryIconData *somTD_WPObject_wpQueryIconData;
-#define somMD_WPObject_wpQueryIconData "::WPObject::wpQueryIconData"
-#define WPObject_wpQueryIconData(somSelf,pIconInfo) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryIconData) \
-	(somSelf,pIconInfo))
-#ifndef SOMGD_wpQueryIconData
-    #if (defined(_wpQueryIconData) || defined(__wpQueryIconData))
-        #undef _wpQueryIconData
-        #undef __wpQueryIconData
-        #define SOMGD_wpQueryIconData 1
-    #else
-        #define _wpQueryIconData WPObject_wpQueryIconData
-    #endif /* _wpQueryIconData */
-#endif /* SOMGD_wpQueryIconData */
-
-/*
- * New Method: wpQueryMinWindow
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryMinWindow(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryMinWindow, system)
-typedef somTP_WPObject_wpQueryMinWindow *somTD_WPObject_wpQueryMinWindow;
-#define somMD_WPObject_wpQueryMinWindow "::WPObject::wpQueryMinWindow"
-#define WPObject_wpQueryMinWindow(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryMinWindow) \
-	(somSelf))
-#ifndef SOMGD_wpQueryMinWindow
-    #if (defined(_wpQueryMinWindow) || defined(__wpQueryMinWindow))
-        #undef _wpQueryMinWindow
-        #undef __wpQueryMinWindow
-        #define SOMGD_wpQueryMinWindow 1
-    #else
-        #define _wpQueryMinWindow WPObject_wpQueryMinWindow
-    #endif /* _wpQueryMinWindow */
-#endif /* SOMGD_wpQueryMinWindow */
-
-/*
- * New Method: wpQueryNameClashOptions
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryNameClashOptions(WPObject *somSelf, 
-		ULONG menuID);
-#pragma linkage(somTP_WPObject_wpQueryNameClashOptions, system)
-typedef somTP_WPObject_wpQueryNameClashOptions *somTD_WPObject_wpQueryNameClashOptions;
-#define somMD_WPObject_wpQueryNameClashOptions "::WPObject::wpQueryNameClashOptions"
-#define WPObject_wpQueryNameClashOptions(somSelf,menuID) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryNameClashOptions) \
-	(somSelf,menuID))
-#ifndef SOMGD_wpQueryNameClashOptions
-    #if (defined(_wpQueryNameClashOptions) || defined(__wpQueryNameClashOptions))
-        #undef _wpQueryNameClashOptions
-        #undef __wpQueryNameClashOptions
-        #define SOMGD_wpQueryNameClashOptions 1
-    #else
-        #define _wpQueryNameClashOptions WPObject_wpQueryNameClashOptions
-    #endif /* _wpQueryNameClashOptions */
-#endif /* SOMGD_wpQueryNameClashOptions */
-
-/*
- * New Method: wpQueryStyle
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryStyle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryStyle, system)
-typedef somTP_WPObject_wpQueryStyle *somTD_WPObject_wpQueryStyle;
-#define somMD_WPObject_wpQueryStyle "::WPObject::wpQueryStyle"
-#define WPObject_wpQueryStyle(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryStyle) \
-	(somSelf))
-#ifndef SOMGD_wpQueryStyle
-    #if (defined(_wpQueryStyle) || defined(__wpQueryStyle))
-        #undef _wpQueryStyle
-        #undef __wpQueryStyle
-        #define SOMGD_wpQueryStyle 1
-    #else
-        #define _wpQueryStyle WPObject_wpQueryStyle
-    #endif /* _wpQueryStyle */
-#endif /* SOMGD_wpQueryStyle */
-
-/*
- * New Method: wpSetTaskRec
- */
-typedef BOOL32   SOMLINK somTP_WPObject_wpSetTaskRec(WPObject *somSelf, 
-		PTASKREC pNew, 
-		PTASKREC pOld);
-#pragma linkage(somTP_WPObject_wpSetTaskRec, system)
-typedef somTP_WPObject_wpSetTaskRec *somTD_WPObject_wpSetTaskRec;
-#define somMD_WPObject_wpSetTaskRec "::WPObject::wpSetTaskRec"
-#define WPObject_wpSetTaskRec(somSelf,pNew,pOld) \
-    (SOM_Resolve(somSelf, WPObject, wpSetTaskRec) \
-	(somSelf,pNew,pOld))
-#ifndef SOMGD_wpSetTaskRec
-    #if (defined(_wpSetTaskRec) || defined(__wpSetTaskRec))
-        #undef _wpSetTaskRec
-        #undef __wpSetTaskRec
-        #define SOMGD_wpSetTaskRec 1
-    #else
-        #define _wpSetTaskRec WPObject_wpSetTaskRec
-    #endif /* _wpSetTaskRec */
-#endif /* SOMGD_wpSetTaskRec */
-
-/*
- * New Method: wpFindTaskRec
- */
-typedef PTASKREC   SOMLINK somTP_WPObject_wpFindTaskRec(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpFindTaskRec, system)
-typedef somTP_WPObject_wpFindTaskRec *somTD_WPObject_wpFindTaskRec;
-#define somMD_WPObject_wpFindTaskRec "::WPObject::wpFindTaskRec"
-#define WPObject_wpFindTaskRec(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpFindTaskRec) \
-	(somSelf))
-#ifndef SOMGD_wpFindTaskRec
-    #if (defined(_wpFindTaskRec) || defined(__wpFindTaskRec))
-        #undef _wpFindTaskRec
-        #undef __wpFindTaskRec
-        #define SOMGD_wpFindTaskRec 1
-    #else
-        #define _wpFindTaskRec WPObject_wpFindTaskRec
-    #endif /* _wpFindTaskRec */
-#endif /* SOMGD_wpFindTaskRec */
-
-/*
- * New Method: wpQueryTitle
- */
-typedef PSZ   SOMLINK somTP_WPObject_wpQueryTitle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryTitle, system)
-typedef somTP_WPObject_wpQueryTitle *somTD_WPObject_wpQueryTitle;
-#define somMD_WPObject_wpQueryTitle "::WPObject::wpQueryTitle"
-#define WPObject_wpQueryTitle(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryTitle) \
-	(somSelf))
-#ifndef SOMGD_wpQueryTitle
-    #if (defined(_wpQueryTitle) || defined(__wpQueryTitle))
-        #undef _wpQueryTitle
-        #undef __wpQueryTitle
-        #define SOMGD_wpQueryTitle 1
-    #else
-        #define _wpQueryTitle WPObject_wpQueryTitle
-    #endif /* _wpQueryTitle */
-#endif /* SOMGD_wpQueryTitle */
-
-/*
- * New Method: wpRegisterView
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRegisterView(WPObject *somSelf, 
-		HWND hwndFrame, 
-		PSZ pszViewTitle);
-#pragma linkage(somTP_WPObject_wpRegisterView, system)
-typedef somTP_WPObject_wpRegisterView *somTD_WPObject_wpRegisterView;
-#define somMD_WPObject_wpRegisterView "::WPObject::wpRegisterView"
-#define WPObject_wpRegisterView(somSelf,hwndFrame,pszViewTitle) \
-    (SOM_Resolve(somSelf, WPObject, wpRegisterView) \
-	(somSelf,hwndFrame,pszViewTitle))
-#ifndef SOMGD_wpRegisterView
-    #if (defined(_wpRegisterView) || defined(__wpRegisterView))
-        #undef _wpRegisterView
-        #undef __wpRegisterView
-        #define SOMGD_wpRegisterView 1
-    #else
-        #define _wpRegisterView WPObject_wpRegisterView
-    #endif /* _wpRegisterView */
-#endif /* SOMGD_wpRegisterView */
-
-/*
- * New Method: wpReleaseObjectMutexSem
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpReleaseObjectMutexSem(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpReleaseObjectMutexSem, system)
-typedef somTP_WPObject_wpReleaseObjectMutexSem *somTD_WPObject_wpReleaseObjectMutexSem;
-#define somMD_WPObject_wpReleaseObjectMutexSem "::WPObject::wpReleaseObjectMutexSem"
-#define WPObject_wpReleaseObjectMutexSem(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpReleaseObjectMutexSem) \
-	(somSelf))
-#ifndef SOMGD_wpReleaseObjectMutexSem
-    #if (defined(_wpReleaseObjectMutexSem) || defined(__wpReleaseObjectMutexSem))
-        #undef _wpReleaseObjectMutexSem
-        #undef __wpReleaseObjectMutexSem
-        #define SOMGD_wpReleaseObjectMutexSem 1
-    #else
-        #define _wpReleaseObjectMutexSem WPObject_wpReleaseObjectMutexSem
-    #endif /* _wpReleaseObjectMutexSem */
-#endif /* SOMGD_wpReleaseObjectMutexSem */
-
-/*
- * New Method: wpRender
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpRender(WPObject *somSelf, 
-		PDRAGTRANSFER pdxfer);
-#pragma linkage(somTP_WPObject_wpRender, system)
-typedef somTP_WPObject_wpRender *somTD_WPObject_wpRender;
-#define somMD_WPObject_wpRender "::WPObject::wpRender"
-#define WPObject_wpRender(somSelf,pdxfer) \
-    (SOM_Resolve(somSelf, WPObject, wpRender) \
-	(somSelf,pdxfer))
-#ifndef SOMGD_wpRender
-    #if (defined(_wpRender) || defined(__wpRender))
-        #undef _wpRender
-        #undef __wpRender
-        #define SOMGD_wpRender 1
-    #else
-        #define _wpRender WPObject_wpRender
-    #endif /* _wpRender */
-#endif /* SOMGD_wpRender */
-
-/*
- * New Method: wpRenderComplete
- */
-typedef MRESULT   SOMLINK somTP_WPObject_wpRenderComplete(WPObject *somSelf, 
-		PDRAGTRANSFER pdxfer, 
-		ULONG ulResult);
-#pragma linkage(somTP_WPObject_wpRenderComplete, system)
-typedef somTP_WPObject_wpRenderComplete *somTD_WPObject_wpRenderComplete;
-#define somMD_WPObject_wpRenderComplete "::WPObject::wpRenderComplete"
-#define WPObject_wpRenderComplete(somSelf,pdxfer,ulResult) \
-    (SOM_Resolve(somSelf, WPObject, wpRenderComplete) \
-	(somSelf,pdxfer,ulResult))
-#ifndef SOMGD_wpRenderComplete
-    #if (defined(_wpRenderComplete) || defined(__wpRenderComplete))
-        #undef _wpRenderComplete
-        #undef __wpRenderComplete
-        #define SOMGD_wpRenderComplete 1
-    #else
-        #define _wpRenderComplete WPObject_wpRenderComplete
-    #endif /* _wpRenderComplete */
-#endif /* SOMGD_wpRenderComplete */
-
-/*
- * New Method: wpReplaceObject
- */
-typedef BOOL32   SOMLINK somTP_WPObject_wpReplaceObject(WPObject *somSelf, 
-		WPObject* targetObject, 
-		BOOL32 fMove);
-#pragma linkage(somTP_WPObject_wpReplaceObject, system)
-typedef somTP_WPObject_wpReplaceObject *somTD_WPObject_wpReplaceObject;
-#define somMD_WPObject_wpReplaceObject "::WPObject::wpReplaceObject"
-#define WPObject_wpReplaceObject(somSelf,targetObject,fMove) \
-    (SOM_Resolve(somSelf, WPObject, wpReplaceObject) \
-	(somSelf,targetObject,fMove))
-#ifndef SOMGD_wpReplaceObject
-    #if (defined(_wpReplaceObject) || defined(__wpReplaceObject))
-        #undef _wpReplaceObject
-        #undef __wpReplaceObject
-        #define SOMGD_wpReplaceObject 1
-    #else
-        #define _wpReplaceObject WPObject_wpReplaceObject
-    #endif /* _wpReplaceObject */
-#endif /* SOMGD_wpReplaceObject */
-
-/*
- * New Method: wpRequestObjectMutexSem
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpRequestObjectMutexSem(WPObject *somSelf, 
-		ULONG ulTimeout);
-#pragma linkage(somTP_WPObject_wpRequestObjectMutexSem, system)
-typedef somTP_WPObject_wpRequestObjectMutexSem *somTD_WPObject_wpRequestObjectMutexSem;
-#define somMD_WPObject_wpRequestObjectMutexSem "::WPObject::wpRequestObjectMutexSem"
-#define WPObject_wpRequestObjectMutexSem(somSelf,ulTimeout) \
-    (SOM_Resolve(somSelf, WPObject, wpRequestObjectMutexSem) \
-	(somSelf,ulTimeout))
-#ifndef SOMGD_wpRequestObjectMutexSem
-    #if (defined(_wpRequestObjectMutexSem) || defined(__wpRequestObjectMutexSem))
-        #undef _wpRequestObjectMutexSem
-        #undef __wpRequestObjectMutexSem
-        #define SOMGD_wpRequestObjectMutexSem 1
-    #else
-        #define _wpRequestObjectMutexSem WPObject_wpRequestObjectMutexSem
-    #endif /* _wpRequestObjectMutexSem */
-#endif /* SOMGD_wpRequestObjectMutexSem */
-
-/*
- * New Method: wpRestore
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestore(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpRestore, system)
-typedef somTP_WPObject_wpRestore *somTD_WPObject_wpRestore;
-#define somMD_WPObject_wpRestore "::WPObject::wpRestore"
-#define WPObject_wpRestore(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpRestore) \
-	(somSelf))
-#ifndef SOMGD_wpRestore
-    #if (defined(_wpRestore) || defined(__wpRestore))
-        #undef _wpRestore
-        #undef __wpRestore
-        #define SOMGD_wpRestore 1
-    #else
-        #define _wpRestore WPObject_wpRestore
-    #endif /* _wpRestore */
-#endif /* SOMGD_wpRestore */
-
-/*
- * New Method: wpRestoreData
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestoreData(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PBYTE pValue, 
-		PULONG pcbValue);
-#pragma linkage(somTP_WPObject_wpRestoreData, system)
-typedef somTP_WPObject_wpRestoreData *somTD_WPObject_wpRestoreData;
-#define somMD_WPObject_wpRestoreData "::WPObject::wpRestoreData"
-#define WPObject_wpRestoreData(somSelf,pszClass,ulKey,pValue,pcbValue) \
-    (SOM_Resolve(somSelf, WPObject, wpRestoreData) \
-	(somSelf,pszClass,ulKey,pValue,pcbValue))
-#ifndef SOMGD_wpRestoreData
-    #if (defined(_wpRestoreData) || defined(__wpRestoreData))
-        #undef _wpRestoreData
-        #undef __wpRestoreData
-        #define SOMGD_wpRestoreData 1
-    #else
-        #define _wpRestoreData WPObject_wpRestoreData
-    #endif /* _wpRestoreData */
-#endif /* SOMGD_wpRestoreData */
-
-/*
- * New Method: wpRestoreLong
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestoreLong(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PULONG pulValue);
-#pragma linkage(somTP_WPObject_wpRestoreLong, system)
-typedef somTP_WPObject_wpRestoreLong *somTD_WPObject_wpRestoreLong;
-#define somMD_WPObject_wpRestoreLong "::WPObject::wpRestoreLong"
-#define WPObject_wpRestoreLong(somSelf,pszClass,ulKey,pulValue) \
-    (SOM_Resolve(somSelf, WPObject, wpRestoreLong) \
-	(somSelf,pszClass,ulKey,pulValue))
-#ifndef SOMGD_wpRestoreLong
-    #if (defined(_wpRestoreLong) || defined(__wpRestoreLong))
-        #undef _wpRestoreLong
-        #undef __wpRestoreLong
-        #define SOMGD_wpRestoreLong 1
-    #else
-        #define _wpRestoreLong WPObject_wpRestoreLong
-    #endif /* _wpRestoreLong */
-#endif /* SOMGD_wpRestoreLong */
-
-/*
- * New Method: wpRestoreState
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestoreState(WPObject *somSelf, 
-		ULONG ulReserved);
-#pragma linkage(somTP_WPObject_wpRestoreState, system)
-typedef somTP_WPObject_wpRestoreState *somTD_WPObject_wpRestoreState;
-#define somMD_WPObject_wpRestoreState "::WPObject::wpRestoreState"
-#define WPObject_wpRestoreState(somSelf,ulReserved) \
-    (SOM_Resolve(somSelf, WPObject, wpRestoreState) \
-	(somSelf,ulReserved))
-#ifndef SOMGD_wpRestoreState
-    #if (defined(_wpRestoreState) || defined(__wpRestoreState))
-        #undef _wpRestoreState
-        #undef __wpRestoreState
-        #define SOMGD_wpRestoreState 1
-    #else
-        #define _wpRestoreState WPObject_wpRestoreState
-    #endif /* _wpRestoreState */
-#endif /* SOMGD_wpRestoreState */
-
-/*
- * New Method: wpRestoreString
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpRestoreString(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PSZ pszValue, 
-		PULONG pcbValue);
-#pragma linkage(somTP_WPObject_wpRestoreString, system)
-typedef somTP_WPObject_wpRestoreString *somTD_WPObject_wpRestoreString;
-#define somMD_WPObject_wpRestoreString "::WPObject::wpRestoreString"
-#define WPObject_wpRestoreString(somSelf,pszClass,ulKey,pszValue,pcbValue) \
-    (SOM_Resolve(somSelf, WPObject, wpRestoreString) \
-	(somSelf,pszClass,ulKey,pszValue,pcbValue))
-#ifndef SOMGD_wpRestoreString
-    #if (defined(_wpRestoreString) || defined(__wpRestoreString))
-        #undef _wpRestoreString
-        #undef __wpRestoreString
-        #define SOMGD_wpRestoreString 1
-    #else
-        #define _wpRestoreString WPObject_wpRestoreString
-    #endif /* _wpRestoreString */
-#endif /* SOMGD_wpRestoreString */
-
-/*
- * New Method: wpSaveData
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveData(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PBYTE pValue, 
-		ULONG cbValue);
-#pragma linkage(somTP_WPObject_wpSaveData, system)
-typedef somTP_WPObject_wpSaveData *somTD_WPObject_wpSaveData;
-#define somMD_WPObject_wpSaveData "::WPObject::wpSaveData"
-#define WPObject_wpSaveData(somSelf,pszClass,ulKey,pValue,cbValue) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveData) \
-	(somSelf,pszClass,ulKey,pValue,cbValue))
-#ifndef SOMGD_wpSaveData
-    #if (defined(_wpSaveData) || defined(__wpSaveData))
-        #undef _wpSaveData
-        #undef __wpSaveData
-        #define SOMGD_wpSaveData 1
-    #else
-        #define _wpSaveData WPObject_wpSaveData
-    #endif /* _wpSaveData */
-#endif /* SOMGD_wpSaveData */
-
-/*
- * New Method: wpSaveImmediate
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveImmediate(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpSaveImmediate, system)
-typedef somTP_WPObject_wpSaveImmediate *somTD_WPObject_wpSaveImmediate;
-#define somMD_WPObject_wpSaveImmediate "::WPObject::wpSaveImmediate"
-#define WPObject_wpSaveImmediate(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveImmediate) \
-	(somSelf))
-#ifndef SOMGD_wpSaveImmediate
-    #if (defined(_wpSaveImmediate) || defined(__wpSaveImmediate))
-        #undef _wpSaveImmediate
-        #undef __wpSaveImmediate
-        #define SOMGD_wpSaveImmediate 1
-    #else
-        #define _wpSaveImmediate WPObject_wpSaveImmediate
-    #endif /* _wpSaveImmediate */
-#endif /* SOMGD_wpSaveImmediate */
-
-/*
- * New Method: wpSaveDeferred
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveDeferred(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpSaveDeferred, system)
-typedef somTP_WPObject_wpSaveDeferred *somTD_WPObject_wpSaveDeferred;
-#define somMD_WPObject_wpSaveDeferred "::WPObject::wpSaveDeferred"
-#define WPObject_wpSaveDeferred(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveDeferred) \
-	(somSelf))
-#ifndef SOMGD_wpSaveDeferred
-    #if (defined(_wpSaveDeferred) || defined(__wpSaveDeferred))
-        #undef _wpSaveDeferred
-        #undef __wpSaveDeferred
-        #define SOMGD_wpSaveDeferred 1
-    #else
-        #define _wpSaveDeferred WPObject_wpSaveDeferred
-    #endif /* _wpSaveDeferred */
-#endif /* SOMGD_wpSaveDeferred */
-
-/*
- * New Method: wpSaveLong
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveLong(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		ULONG ulValue);
-#pragma linkage(somTP_WPObject_wpSaveLong, system)
-typedef somTP_WPObject_wpSaveLong *somTD_WPObject_wpSaveLong;
-#define somMD_WPObject_wpSaveLong "::WPObject::wpSaveLong"
-#define WPObject_wpSaveLong(somSelf,pszClass,ulKey,ulValue) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveLong) \
-	(somSelf,pszClass,ulKey,ulValue))
-#ifndef SOMGD_wpSaveLong
-    #if (defined(_wpSaveLong) || defined(__wpSaveLong))
-        #undef _wpSaveLong
-        #undef __wpSaveLong
-        #define SOMGD_wpSaveLong 1
-    #else
-        #define _wpSaveLong WPObject_wpSaveLong
-    #endif /* _wpSaveLong */
-#endif /* SOMGD_wpSaveLong */
-
-/*
- * New Method: wpSaveState
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveState(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpSaveState, system)
-typedef somTP_WPObject_wpSaveState *somTD_WPObject_wpSaveState;
-#define somMD_WPObject_wpSaveState "::WPObject::wpSaveState"
-#define WPObject_wpSaveState(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveState) \
-	(somSelf))
-#ifndef SOMGD_wpSaveState
-    #if (defined(_wpSaveState) || defined(__wpSaveState))
-        #undef _wpSaveState
-        #undef __wpSaveState
-        #define SOMGD_wpSaveState 1
-    #else
-        #define _wpSaveState WPObject_wpSaveState
-    #endif /* _wpSaveState */
-#endif /* SOMGD_wpSaveState */
-
-/*
- * New Method: wpSaveString
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSaveString(WPObject *somSelf, 
-		PSZ pszClass, 
-		ULONG ulKey, 
-		PSZ pszValue);
-#pragma linkage(somTP_WPObject_wpSaveString, system)
-typedef somTP_WPObject_wpSaveString *somTD_WPObject_wpSaveString;
-#define somMD_WPObject_wpSaveString "::WPObject::wpSaveString"
-#define WPObject_wpSaveString(somSelf,pszClass,ulKey,pszValue) \
-    (SOM_Resolve(somSelf, WPObject, wpSaveString) \
-	(somSelf,pszClass,ulKey,pszValue))
-#ifndef SOMGD_wpSaveString
-    #if (defined(_wpSaveString) || defined(__wpSaveString))
-        #undef _wpSaveString
-        #undef __wpSaveString
-        #define SOMGD_wpSaveString 1
-    #else
-        #define _wpSaveString WPObject_wpSaveString
-    #endif /* _wpSaveString */
-#endif /* SOMGD_wpSaveString */
-
-/*
- * New Method: wpScanSetupString
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpScanSetupString(WPObject *somSelf, 
-		PSZ pszSetupString, 
-		PSZ pszKey, 
-		PSZ pszValue, 
-		PULONG pcbValue);
-#pragma linkage(somTP_WPObject_wpScanSetupString, system)
-typedef somTP_WPObject_wpScanSetupString *somTD_WPObject_wpScanSetupString;
-#define somMD_WPObject_wpScanSetupString "::WPObject::wpScanSetupString"
-#define WPObject_wpScanSetupString(somSelf,pszSetupString,pszKey,pszValue,pcbValue) \
-    (SOM_Resolve(somSelf, WPObject, wpScanSetupString) \
-	(somSelf,pszSetupString,pszKey,pszValue,pcbValue))
-#ifndef SOMGD_wpScanSetupString
-    #if (defined(_wpScanSetupString) || defined(__wpScanSetupString))
-        #undef _wpScanSetupString
-        #undef __wpScanSetupString
-        #define SOMGD_wpScanSetupString 1
-    #else
-        #define _wpScanSetupString WPObject_wpScanSetupString
-    #endif /* _wpScanSetupString */
-#endif /* SOMGD_wpScanSetupString */
-
-/*
- * New Method: wpSetConcurrentView
- */
-typedef void   SOMLINK somTP_WPObject_wpSetConcurrentView(WPObject *somSelf, 
-		ULONG ulCCView);
-#pragma linkage(somTP_WPObject_wpSetConcurrentView, system)
-typedef somTP_WPObject_wpSetConcurrentView *somTD_WPObject_wpSetConcurrentView;
-#define somMD_WPObject_wpSetConcurrentView "::WPObject::wpSetConcurrentView"
-#define WPObject_wpSetConcurrentView(somSelf,ulCCView) \
-    (SOM_Resolve(somSelf, WPObject, wpSetConcurrentView) \
-	(somSelf,ulCCView))
-#ifndef SOMGD_wpSetConcurrentView
-    #if (defined(_wpSetConcurrentView) || defined(__wpSetConcurrentView))
-        #undef _wpSetConcurrentView
-        #undef __wpSetConcurrentView
-        #define SOMGD_wpSetConcurrentView 1
-    #else
-        #define _wpSetConcurrentView WPObject_wpSetConcurrentView
-    #endif /* _wpSetConcurrentView */
-#endif /* SOMGD_wpSetConcurrentView */
-
-/*
- * New Method: wpSetButtonAppearance
- */
-typedef void   SOMLINK somTP_WPObject_wpSetButtonAppearance(WPObject *somSelf, 
-		ULONG ulButtonType);
-#pragma linkage(somTP_WPObject_wpSetButtonAppearance, system)
-typedef somTP_WPObject_wpSetButtonAppearance *somTD_WPObject_wpSetButtonAppearance;
-#define somMD_WPObject_wpSetButtonAppearance "::WPObject::wpSetButtonAppearance"
-#define WPObject_wpSetButtonAppearance(somSelf,ulButtonType) \
-    (SOM_Resolve(somSelf, WPObject, wpSetButtonAppearance) \
-	(somSelf,ulButtonType))
-#ifndef SOMGD_wpSetButtonAppearance
-    #if (defined(_wpSetButtonAppearance) || defined(__wpSetButtonAppearance))
-        #undef _wpSetButtonAppearance
-        #undef __wpSetButtonAppearance
-        #define SOMGD_wpSetButtonAppearance 1
-    #else
-        #define _wpSetButtonAppearance WPObject_wpSetButtonAppearance
-    #endif /* _wpSetButtonAppearance */
-#endif /* SOMGD_wpSetButtonAppearance */
-
-/*
- * New Method: wpSetDefaultHelp
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultHelp(WPObject *somSelf, 
-		ULONG HelpPanelId, 
-		PSZ HelpLibrary);
-#pragma linkage(somTP_WPObject_wpSetDefaultHelp, system)
-typedef somTP_WPObject_wpSetDefaultHelp *somTD_WPObject_wpSetDefaultHelp;
-#define somMD_WPObject_wpSetDefaultHelp "::WPObject::wpSetDefaultHelp"
-#define WPObject_wpSetDefaultHelp(somSelf,HelpPanelId,HelpLibrary) \
-    (SOM_Resolve(somSelf, WPObject, wpSetDefaultHelp) \
-	(somSelf,HelpPanelId,HelpLibrary))
-#ifndef SOMGD_wpSetDefaultHelp
-    #if (defined(_wpSetDefaultHelp) || defined(__wpSetDefaultHelp))
-        #undef _wpSetDefaultHelp
-        #undef __wpSetDefaultHelp
-        #define SOMGD_wpSetDefaultHelp 1
-    #else
-        #define _wpSetDefaultHelp WPObject_wpSetDefaultHelp
-    #endif /* _wpSetDefaultHelp */
-#endif /* SOMGD_wpSetDefaultHelp */
-
-/*
- * New Method: wpSetDefaultView
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultView(WPObject *somSelf, 
-		ULONG ulView);
-#pragma linkage(somTP_WPObject_wpSetDefaultView, system)
-typedef somTP_WPObject_wpSetDefaultView *somTD_WPObject_wpSetDefaultView;
-#define somMD_WPObject_wpSetDefaultView "::WPObject::wpSetDefaultView"
-#define WPObject_wpSetDefaultView(somSelf,ulView) \
-    (SOM_Resolve(somSelf, WPObject, wpSetDefaultView) \
-	(somSelf,ulView))
-#ifndef SOMGD_wpSetDefaultView
-    #if (defined(_wpSetDefaultView) || defined(__wpSetDefaultView))
-        #undef _wpSetDefaultView
-        #undef __wpSetDefaultView
-        #define SOMGD_wpSetDefaultView 1
-    #else
-        #define _wpSetDefaultView WPObject_wpSetDefaultView
-    #endif /* _wpSetDefaultView */
-#endif /* SOMGD_wpSetDefaultView */
-
-/*
- * New Method: wpSetError
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetError(WPObject *somSelf, 
-		ULONG ulErrorId);
-#pragma linkage(somTP_WPObject_wpSetError, system)
-typedef somTP_WPObject_wpSetError *somTD_WPObject_wpSetError;
-#define somMD_WPObject_wpSetError "::WPObject::wpSetError"
-#define WPObject_wpSetError(somSelf,ulErrorId) \
-    (SOM_Resolve(somSelf, WPObject, wpSetError) \
-	(somSelf,ulErrorId))
-#ifndef SOMGD_wpSetError
-    #if (defined(_wpSetError) || defined(__wpSetError))
-        #undef _wpSetError
-        #undef __wpSetError
-        #define SOMGD_wpSetError 1
-    #else
-        #define _wpSetError WPObject_wpSetError
-    #endif /* _wpSetError */
-#endif /* SOMGD_wpSetError */
-
-/*
- * New Method: wpQueryScreenGroupID
- */
-typedef SGID   SOMLINK somTP_WPObject_wpQueryScreenGroupID(WPObject *somSelf, 
-		SGID sgidPrevSgId);
-#pragma linkage(somTP_WPObject_wpQueryScreenGroupID, system)
-typedef somTP_WPObject_wpQueryScreenGroupID *somTD_WPObject_wpQueryScreenGroupID;
-#define somMD_WPObject_wpQueryScreenGroupID "::WPObject::wpQueryScreenGroupID"
-#define WPObject_wpQueryScreenGroupID(somSelf,sgidPrevSgId) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryScreenGroupID) \
-	(somSelf,sgidPrevSgId))
-#ifndef SOMGD_wpQueryScreenGroupID
-    #if (defined(_wpQueryScreenGroupID) || defined(__wpQueryScreenGroupID))
-        #undef _wpQueryScreenGroupID
-        #undef __wpQueryScreenGroupID
-        #define SOMGD_wpQueryScreenGroupID 1
-    #else
-        #define _wpQueryScreenGroupID WPObject_wpQueryScreenGroupID
-    #endif /* _wpQueryScreenGroupID */
-#endif /* SOMGD_wpQueryScreenGroupID */
-
-/*
- * New Method: wpSetupOnce
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetupOnce(WPObject *somSelf, 
-		PSZ pszSetupString);
-#pragma linkage(somTP_WPObject_wpSetupOnce, system)
-typedef somTP_WPObject_wpSetupOnce *somTD_WPObject_wpSetupOnce;
-#define somMD_WPObject_wpSetupOnce "::WPObject::wpSetupOnce"
-#define WPObject_wpSetupOnce(somSelf,pszSetupString) \
-    (SOM_Resolve(somSelf, WPObject, wpSetupOnce) \
-	(somSelf,pszSetupString))
-#ifndef SOMGD_wpSetupOnce
-    #if (defined(_wpSetupOnce) || defined(__wpSetupOnce))
-        #undef _wpSetupOnce
-        #undef __wpSetupOnce
-        #define SOMGD_wpSetupOnce 1
-    #else
-        #define _wpSetupOnce WPObject_wpSetupOnce
-    #endif /* _wpSetupOnce */
-#endif /* SOMGD_wpSetupOnce */
-
-/*
- * New Method: wpSetIcon
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetIcon(WPObject *somSelf, 
-		HPOINTER hptrNewIcon);
-#pragma linkage(somTP_WPObject_wpSetIcon, system)
-typedef somTP_WPObject_wpSetIcon *somTD_WPObject_wpSetIcon;
-#define somMD_WPObject_wpSetIcon "::WPObject::wpSetIcon"
-#define WPObject_wpSetIcon(somSelf,hptrNewIcon) \
-    (SOM_Resolve(somSelf, WPObject, wpSetIcon) \
-	(somSelf,hptrNewIcon))
-#ifndef SOMGD_wpSetIcon
-    #if (defined(_wpSetIcon) || defined(__wpSetIcon))
-        #undef _wpSetIcon
-        #undef __wpSetIcon
-        #define SOMGD_wpSetIcon 1
-    #else
-        #define _wpSetIcon WPObject_wpSetIcon
-    #endif /* _wpSetIcon */
-#endif /* SOMGD_wpSetIcon */
-
-/*
- * New Method: wpSetIconData
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetIconData(WPObject *somSelf, 
-		PICONINFO pIconInfo);
-#pragma linkage(somTP_WPObject_wpSetIconData, system)
-typedef somTP_WPObject_wpSetIconData *somTD_WPObject_wpSetIconData;
-#define somMD_WPObject_wpSetIconData "::WPObject::wpSetIconData"
-#define WPObject_wpSetIconData(somSelf,pIconInfo) \
-    (SOM_Resolve(somSelf, WPObject, wpSetIconData) \
-	(somSelf,pIconInfo))
-#ifndef SOMGD_wpSetIconData
-    #if (defined(_wpSetIconData) || defined(__wpSetIconData))
-        #undef _wpSetIconData
-        #undef __wpSetIconData
-        #define SOMGD_wpSetIconData 1
-    #else
-        #define _wpSetIconData WPObject_wpSetIconData
-    #endif /* _wpSetIconData */
-#endif /* SOMGD_wpSetIconData */
-
-/*
- * New Method: wpSetMinWindow
- */
-typedef void   SOMLINK somTP_WPObject_wpSetMinWindow(WPObject *somSelf, 
-		ULONG ulMinWindow);
-#pragma linkage(somTP_WPObject_wpSetMinWindow, system)
-typedef somTP_WPObject_wpSetMinWindow *somTD_WPObject_wpSetMinWindow;
-#define somMD_WPObject_wpSetMinWindow "::WPObject::wpSetMinWindow"
-#define WPObject_wpSetMinWindow(somSelf,ulMinWindow) \
-    (SOM_Resolve(somSelf, WPObject, wpSetMinWindow) \
-	(somSelf,ulMinWindow))
-#ifndef SOMGD_wpSetMinWindow
-    #if (defined(_wpSetMinWindow) || defined(__wpSetMinWindow))
-        #undef _wpSetMinWindow
-        #undef __wpSetMinWindow
-        #define SOMGD_wpSetMinWindow 1
-    #else
-        #define _wpSetMinWindow WPObject_wpSetMinWindow
-    #endif /* _wpSetMinWindow */
-#endif /* SOMGD_wpSetMinWindow */
-
-/*
- * New Method: wpModifyStyle
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpModifyStyle(WPObject *somSelf, 
-		ULONG ulStyleFlags, 
-		ULONG ulStyleMask);
-#pragma linkage(somTP_WPObject_wpModifyStyle, system)
-typedef somTP_WPObject_wpModifyStyle *somTD_WPObject_wpModifyStyle;
-#define somMD_WPObject_wpModifyStyle "::WPObject::wpModifyStyle"
-#define WPObject_wpModifyStyle(somSelf,ulStyleFlags,ulStyleMask) \
-    (SOM_Resolve(somSelf, WPObject, wpModifyStyle) \
-	(somSelf,ulStyleFlags,ulStyleMask))
-#ifndef SOMGD_wpModifyStyle
-    #if (defined(_wpModifyStyle) || defined(__wpModifyStyle))
-        #undef _wpModifyStyle
-        #undef __wpModifyStyle
-        #define SOMGD_wpModifyStyle 1
-    #else
-        #define _wpModifyStyle WPObject_wpModifyStyle
-    #endif /* _wpModifyStyle */
-#endif /* SOMGD_wpModifyStyle */
-
-/*
- * New Method: wpSetTitle
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetTitle(WPObject *somSelf, 
-		PSZ pszNewTitle);
-#pragma linkage(somTP_WPObject_wpSetTitle, system)
-typedef somTP_WPObject_wpSetTitle *somTD_WPObject_wpSetTitle;
-#define somMD_WPObject_wpSetTitle "::WPObject::wpSetTitle"
-#define WPObject_wpSetTitle(somSelf,pszNewTitle) \
-    (SOM_Resolve(somSelf, WPObject, wpSetTitle) \
-	(somSelf,pszNewTitle))
-#ifndef SOMGD_wpSetTitle
-    #if (defined(_wpSetTitle) || defined(__wpSetTitle))
-        #undef _wpSetTitle
-        #undef __wpSetTitle
-        #define SOMGD_wpSetTitle 1
-    #else
-        #define _wpSetTitle WPObject_wpSetTitle
-    #endif /* _wpSetTitle */
-#endif /* SOMGD_wpSetTitle */
-
-/*
- * New Method: wpSetup
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetup(WPObject *somSelf, 
-		PSZ pszSetupString);
-#pragma linkage(somTP_WPObject_wpSetup, system)
-typedef somTP_WPObject_wpSetup *somTD_WPObject_wpSetup;
-#define somMD_WPObject_wpSetup "::WPObject::wpSetup"
-#define WPObject_wpSetup(somSelf,pszSetupString) \
-    (SOM_Resolve(somSelf, WPObject, wpSetup) \
-	(somSelf,pszSetupString))
-#ifndef SOMGD_wpSetup
-    #if (defined(_wpSetup) || defined(__wpSetup))
-        #undef _wpSetup
-        #undef __wpSetup
-        #define SOMGD_wpSetup 1
-    #else
-        #define _wpSetup WPObject_wpSetup
-    #endif /* _wpSetup */
-#endif /* SOMGD_wpSetup */
-
-/*
- * New Method: wpSwitchTo
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSwitchTo(WPObject *somSelf, 
-		ULONG View);
-#pragma linkage(somTP_WPObject_wpSwitchTo, system)
-typedef somTP_WPObject_wpSwitchTo *somTD_WPObject_wpSwitchTo;
-#define somMD_WPObject_wpSwitchTo "::WPObject::wpSwitchTo"
-#define WPObject_wpSwitchTo(somSelf,View) \
-    (SOM_Resolve(somSelf, WPObject, wpSwitchTo) \
-	(somSelf,View))
-#ifndef SOMGD_wpSwitchTo
-    #if (defined(_wpSwitchTo) || defined(__wpSwitchTo))
-        #undef _wpSwitchTo
-        #undef __wpSwitchTo
-        #define SOMGD_wpSwitchTo 1
-    #else
-        #define _wpSwitchTo WPObject_wpSwitchTo
-    #endif /* _wpSwitchTo */
-#endif /* SOMGD_wpSwitchTo */
-
-/*
- * New Method: wpUnInitData
- */
-typedef void   SOMLINK somTP_WPObject_wpUnInitData(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpUnInitData, system)
-typedef somTP_WPObject_wpUnInitData *somTD_WPObject_wpUnInitData;
-#define somMD_WPObject_wpUnInitData "::WPObject::wpUnInitData"
-#define WPObject_wpUnInitData(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpUnInitData) \
-	(somSelf))
-#ifndef SOMGD_wpUnInitData
-    #if (defined(_wpUnInitData) || defined(__wpUnInitData))
-        #undef _wpUnInitData
-        #undef __wpUnInitData
-        #define SOMGD_wpUnInitData 1
-    #else
-        #define _wpUnInitData WPObject_wpUnInitData
-    #endif /* _wpUnInitData */
-#endif /* SOMGD_wpUnInitData */
-
-/*
- * New Method: wpViewObject
- */
-typedef HWND   SOMLINK somTP_WPObject_wpViewObject(WPObject *somSelf, 
-		HWND hwndCnr, 
-		ULONG ulView, 
-		ULONG param);
-#pragma linkage(somTP_WPObject_wpViewObject, system)
-typedef somTP_WPObject_wpViewObject *somTD_WPObject_wpViewObject;
-#define somMD_WPObject_wpViewObject "::WPObject::wpViewObject"
-#define WPObject_wpViewObject(somSelf,hwndCnr,ulView,param) \
-    (SOM_Resolve(somSelf, WPObject, wpViewObject) \
-	(somSelf,hwndCnr,ulView,param))
-#ifndef SOMGD_wpViewObject
-    #if (defined(_wpViewObject) || defined(__wpViewObject))
-        #undef _wpViewObject
-        #undef __wpViewObject
-        #define SOMGD_wpViewObject 1
-    #else
-        #define _wpViewObject WPObject_wpViewObject
-    #endif /* _wpViewObject */
-#endif /* SOMGD_wpViewObject */
-
-/*
- * Direct call procedure
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryTrueStyle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryTrueStyle, system)
-typedef somTP_WPObject_wpQueryTrueStyle *somTD_WPObject_wpQueryTrueStyle;
-#define WPObject_wpQueryTrueStyle ((somTD_WPObject_wpQueryTrueStyle) WPObjectClassData.wpQueryTrueStyle)
-#ifndef SOMGD_wpQueryTrueStyle
-    #if (defined(_wpQueryTrueStyle) || defined(__wpQueryTrueStyle))
-        #undef _wpQueryTrueStyle
-        #undef __wpQueryTrueStyle
-        #define SOMGD_wpQueryTrueStyle 1
-    #else
-        #define _wpQueryTrueStyle WPObject_wpQueryTrueStyle
-    #endif /* _wpQueryTrueStyle */
-#endif /* SOMGD_wpQueryTrueStyle */
-
-/*
- * New Method: wpQueryHandle
- */
-typedef HOBJECT   SOMLINK somTP_WPObject_wpQueryHandle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryHandle, system)
-typedef somTP_WPObject_wpQueryHandle *somTD_WPObject_wpQueryHandle;
-#define somMD_WPObject_wpQueryHandle "::WPObject::wpQueryHandle"
-#define WPObject_wpQueryHandle(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryHandle) \
-	(somSelf))
-#ifndef SOMGD_wpQueryHandle
-    #if (defined(_wpQueryHandle) || defined(__wpQueryHandle))
-        #undef _wpQueryHandle
-        #undef __wpQueryHandle
-        #define SOMGD_wpQueryHandle 1
-    #else
-        #define _wpQueryHandle WPObject_wpQueryHandle
-    #endif /* _wpQueryHandle */
-#endif /* SOMGD_wpQueryHandle */
-
-/*
- * New Method: wpUnlockObject
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpUnlockObject(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpUnlockObject, system)
-typedef somTP_WPObject_wpUnlockObject *somTD_WPObject_wpUnlockObject;
-#define somMD_WPObject_wpUnlockObject "::WPObject::wpUnlockObject"
-#define WPObject_wpUnlockObject(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpUnlockObject) \
-	(somSelf))
-#ifndef SOMGD_wpUnlockObject
-    #if (defined(_wpUnlockObject) || defined(__wpUnlockObject))
-        #undef _wpUnlockObject
-        #undef __wpUnlockObject
-        #define SOMGD_wpUnlockObject 1
-    #else
-        #define _wpUnlockObject WPObject_wpUnlockObject
-    #endif /* _wpUnlockObject */
-#endif /* SOMGD_wpUnlockObject */
-
-/*
- * New Method: wpObjectReady
- */
-typedef void   SOMLINK somTP_WPObject_wpObjectReady(WPObject *somSelf, 
-		ULONG ulCode, 
-		WPObject* refObject);
-#pragma linkage(somTP_WPObject_wpObjectReady, system)
-typedef somTP_WPObject_wpObjectReady *somTD_WPObject_wpObjectReady;
-#define somMD_WPObject_wpObjectReady "::WPObject::wpObjectReady"
-#define WPObject_wpObjectReady(somSelf,ulCode,refObject) \
-    (SOM_Resolve(somSelf, WPObject, wpObjectReady) \
-	(somSelf,ulCode,refObject))
-#ifndef SOMGD_wpObjectReady
-    #if (defined(_wpObjectReady) || defined(__wpObjectReady))
-        #undef _wpObjectReady
-        #undef __wpObjectReady
-        #define SOMGD_wpObjectReady 1
-    #else
-        #define _wpObjectReady WPObject_wpObjectReady
-    #endif /* _wpObjectReady */
-#endif /* SOMGD_wpObjectReady */
-
-/*
- * New Method: wpIsObjectInitialized
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpIsObjectInitialized(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpIsObjectInitialized, system)
-typedef somTP_WPObject_wpIsObjectInitialized *somTD_WPObject_wpIsObjectInitialized;
-#define somMD_WPObject_wpIsObjectInitialized "::WPObject::wpIsObjectInitialized"
-#define WPObject_wpIsObjectInitialized(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpIsObjectInitialized) \
-	(somSelf))
-#ifndef SOMGD_wpIsObjectInitialized
-    #if (defined(_wpIsObjectInitialized) || defined(__wpIsObjectInitialized))
-        #undef _wpIsObjectInitialized
-        #undef __wpIsObjectInitialized
-        #define SOMGD_wpIsObjectInitialized 1
-    #else
-        #define _wpIsObjectInitialized WPObject_wpIsObjectInitialized
-    #endif /* _wpIsObjectInitialized */
-#endif /* SOMGD_wpIsObjectInitialized */
-
-/*
- * New Method: wpCreateShadowObjectExt
- */
-typedef WPObject*   SOMLINK somTP_WPObject_wpCreateShadowObjectExt(WPObject *somSelf, 
-		WPFolder* Folder, 
-		BOOL fLock, 
-		PSZ pszSetup, 
-		M_WPObject* shadowClass);
-#pragma linkage(somTP_WPObject_wpCreateShadowObjectExt, system)
-typedef somTP_WPObject_wpCreateShadowObjectExt *somTD_WPObject_wpCreateShadowObjectExt;
-#define somMD_WPObject_wpCreateShadowObjectExt "::WPObject::wpCreateShadowObjectExt"
-#define WPObject_wpCreateShadowObjectExt(somSelf,Folder,fLock,pszSetup,shadowClass) \
-    (SOM_Resolve(somSelf, WPObject, wpCreateShadowObjectExt) \
-	(somSelf,Folder,fLock,pszSetup,shadowClass))
-#ifndef SOMGD_wpCreateShadowObjectExt
-    #if (defined(_wpCreateShadowObjectExt) || defined(__wpCreateShadowObjectExt))
-        #undef _wpCreateShadowObjectExt
-        #undef __wpCreateShadowObjectExt
-        #define SOMGD_wpCreateShadowObjectExt 1
-    #else
-        #define _wpCreateShadowObjectExt WPObject_wpCreateShadowObjectExt
-    #endif /* _wpCreateShadowObjectExt */
-#endif /* SOMGD_wpCreateShadowObjectExt */
-
-/*
- * New Method: wpCnrDeleteUseItem
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpCnrDeleteUseItem(WPObject *somSelf, 
-		HWND hwndCnr);
-#pragma linkage(somTP_WPObject_wpCnrDeleteUseItem, system)
-typedef somTP_WPObject_wpCnrDeleteUseItem *somTD_WPObject_wpCnrDeleteUseItem;
-#define somMD_WPObject_wpCnrDeleteUseItem "::WPObject::wpCnrDeleteUseItem"
-#define WPObject_wpCnrDeleteUseItem(somSelf,hwndCnr) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrDeleteUseItem) \
-	(somSelf,hwndCnr))
-#ifndef SOMGD_wpCnrDeleteUseItem
-    #if (defined(_wpCnrDeleteUseItem) || defined(__wpCnrDeleteUseItem))
-        #undef _wpCnrDeleteUseItem
-        #undef __wpCnrDeleteUseItem
-        #define SOMGD_wpCnrDeleteUseItem 1
-    #else
-        #define _wpCnrDeleteUseItem WPObject_wpCnrDeleteUseItem
-    #endif /* _wpCnrDeleteUseItem */
-#endif /* SOMGD_wpCnrDeleteUseItem */
-
-/*
- * New Method: wpIsDeleteable
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpIsDeleteable(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpIsDeleteable, system)
-typedef somTP_WPObject_wpIsDeleteable *somTD_WPObject_wpIsDeleteable;
-#define somMD_WPObject_wpIsDeleteable "::WPObject::wpIsDeleteable"
-#define WPObject_wpIsDeleteable(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpIsDeleteable) \
-	(somSelf))
-#ifndef SOMGD_wpIsDeleteable
-    #if (defined(_wpIsDeleteable) || defined(__wpIsDeleteable))
-        #undef _wpIsDeleteable
-        #undef __wpIsDeleteable
-        #define SOMGD_wpIsDeleteable 1
-    #else
-        #define _wpIsDeleteable WPObject_wpIsDeleteable
-    #endif /* _wpIsDeleteable */
-#endif /* SOMGD_wpIsDeleteable */
-
-/*
- * New Method: wpQueryCoreRecord
- */
-typedef PMINIRECORDCORE   SOMLINK somTP_WPObject_wpQueryCoreRecord(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryCoreRecord, system)
-typedef somTP_WPObject_wpQueryCoreRecord *somTD_WPObject_wpQueryCoreRecord;
-#define somMD_WPObject_wpQueryCoreRecord "::WPObject::wpQueryCoreRecord"
-#define WPObject_wpQueryCoreRecord(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryCoreRecord) \
-	(somSelf))
-#ifndef SOMGD_wpQueryCoreRecord
-    #if (defined(_wpQueryCoreRecord) || defined(__wpQueryCoreRecord))
-        #undef _wpQueryCoreRecord
-        #undef __wpQueryCoreRecord
-        #define SOMGD_wpQueryCoreRecord 1
-    #else
-        #define _wpQueryCoreRecord WPObject_wpQueryCoreRecord
-    #endif /* _wpQueryCoreRecord */
-#endif /* SOMGD_wpQueryCoreRecord */
-
-/*
- * New Method: wpSetObjectID
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetObjectID(WPObject *somSelf, 
-		PSZ pszObjectID);
-#pragma linkage(somTP_WPObject_wpSetObjectID, system)
-typedef somTP_WPObject_wpSetObjectID *somTD_WPObject_wpSetObjectID;
-#define somMD_WPObject_wpSetObjectID "::WPObject::wpSetObjectID"
-#define WPObject_wpSetObjectID(somSelf,pszObjectID) \
-    (SOM_Resolve(somSelf, WPObject, wpSetObjectID) \
-	(somSelf,pszObjectID))
-#ifndef SOMGD_wpSetObjectID
-    #if (defined(_wpSetObjectID) || defined(__wpSetObjectID))
-        #undef _wpSetObjectID
-        #undef __wpSetObjectID
-        #define SOMGD_wpSetObjectID 1
-    #else
-        #define _wpSetObjectID WPObject_wpSetObjectID
-    #endif /* _wpSetObjectID */
-#endif /* SOMGD_wpSetObjectID */
-
-/*
- * New Method: wpQueryObjectID
- */
-typedef PSZ   SOMLINK somTP_WPObject_wpQueryObjectID(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryObjectID, system)
-typedef somTP_WPObject_wpQueryObjectID *somTD_WPObject_wpQueryObjectID;
-#define somMD_WPObject_wpQueryObjectID "::WPObject::wpQueryObjectID"
-#define WPObject_wpQueryObjectID(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryObjectID) \
-	(somSelf))
-#ifndef SOMGD_wpQueryObjectID
-    #if (defined(_wpQueryObjectID) || defined(__wpQueryObjectID))
-        #undef _wpQueryObjectID
-        #undef __wpQueryObjectID
-        #define SOMGD_wpQueryObjectID 1
-    #else
-        #define _wpQueryObjectID WPObject_wpQueryObjectID
-    #endif /* _wpQueryObjectID */
-#endif /* SOMGD_wpQueryObjectID */
-
-/*
- * New Method: wpSetDefaultIconPos
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetDefaultIconPos(WPObject *somSelf, 
-		PPOINTL pPointl);
-#pragma linkage(somTP_WPObject_wpSetDefaultIconPos, system)
-typedef somTP_WPObject_wpSetDefaultIconPos *somTD_WPObject_wpSetDefaultIconPos;
-#define somMD_WPObject_wpSetDefaultIconPos "::WPObject::wpSetDefaultIconPos"
-#define WPObject_wpSetDefaultIconPos(somSelf,pPointl) \
-    (SOM_Resolve(somSelf, WPObject, wpSetDefaultIconPos) \
-	(somSelf,pPointl))
-#ifndef SOMGD_wpSetDefaultIconPos
-    #if (defined(_wpSetDefaultIconPos) || defined(__wpSetDefaultIconPos))
-        #undef _wpSetDefaultIconPos
-        #undef __wpSetDefaultIconPos
-        #define SOMGD_wpSetDefaultIconPos 1
-    #else
-        #define _wpSetDefaultIconPos WPObject_wpSetDefaultIconPos
-    #endif /* _wpSetDefaultIconPos */
-#endif /* SOMGD_wpSetDefaultIconPos */
-
-/*
- * New Method: wpQueryDefaultIconPos
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpQueryDefaultIconPos(WPObject *somSelf, 
-		PPOINTL pPointl);
-#pragma linkage(somTP_WPObject_wpQueryDefaultIconPos, system)
-typedef somTP_WPObject_wpQueryDefaultIconPos *somTD_WPObject_wpQueryDefaultIconPos;
-#define somMD_WPObject_wpQueryDefaultIconPos "::WPObject::wpQueryDefaultIconPos"
-#define WPObject_wpQueryDefaultIconPos(somSelf,pPointl) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryDefaultIconPos) \
-	(somSelf,pPointl))
-#ifndef SOMGD_wpQueryDefaultIconPos
-    #if (defined(_wpQueryDefaultIconPos) || defined(__wpQueryDefaultIconPos))
-        #undef _wpQueryDefaultIconPos
-        #undef __wpQueryDefaultIconPos
-        #define SOMGD_wpQueryDefaultIconPos 1
-    #else
-        #define _wpQueryDefaultIconPos WPObject_wpQueryDefaultIconPos
-    #endif /* _wpQueryDefaultIconPos */
-#endif /* SOMGD_wpQueryDefaultIconPos */
-
-/*
- * New Method: wpCnrRefreshDetails
- */
-typedef void   SOMLINK somTP_WPObject_wpCnrRefreshDetails(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpCnrRefreshDetails, system)
-typedef somTP_WPObject_wpCnrRefreshDetails *somTD_WPObject_wpCnrRefreshDetails;
-#define somMD_WPObject_wpCnrRefreshDetails "::WPObject::wpCnrRefreshDetails"
-#define WPObject_wpCnrRefreshDetails(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpCnrRefreshDetails) \
-	(somSelf))
-#ifndef SOMGD_wpCnrRefreshDetails
-    #if (defined(_wpCnrRefreshDetails) || defined(__wpCnrRefreshDetails))
-        #undef _wpCnrRefreshDetails
-        #undef __wpCnrRefreshDetails
-        #define SOMGD_wpCnrRefreshDetails 1
-    #else
-        #define _wpCnrRefreshDetails WPObject_wpCnrRefreshDetails
-    #endif /* _wpCnrRefreshDetails */
-#endif /* SOMGD_wpCnrRefreshDetails */
-
-/*
- * New Method: wpFindViewItem
- */
-typedef PVIEWITEM   SOMLINK somTP_WPObject_wpFindViewItem(WPObject *somSelf, 
-		ULONG flViews, 
-		PVIEWITEM pCurrentItem);
-#pragma linkage(somTP_WPObject_wpFindViewItem, system)
-typedef somTP_WPObject_wpFindViewItem *somTD_WPObject_wpFindViewItem;
-#define somMD_WPObject_wpFindViewItem "::WPObject::wpFindViewItem"
-#define WPObject_wpFindViewItem(somSelf,flViews,pCurrentItem) \
-    (SOM_Resolve(somSelf, WPObject, wpFindViewItem) \
-	(somSelf,flViews,pCurrentItem))
-#ifndef SOMGD_wpFindViewItem
-    #if (defined(_wpFindViewItem) || defined(__wpFindViewItem))
-        #undef _wpFindViewItem
-        #undef __wpFindViewItem
-        #define SOMGD_wpFindViewItem 1
-    #else
-        #define _wpFindViewItem WPObject_wpFindViewItem
-    #endif /* _wpFindViewItem */
-#endif /* SOMGD_wpFindViewItem */
-
-/*
- * New Method: wpLockObject
- */
-typedef void   SOMLINK somTP_WPObject_wpLockObject(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpLockObject, system)
-typedef somTP_WPObject_wpLockObject *somTD_WPObject_wpLockObject;
-#define somMD_WPObject_wpLockObject "::WPObject::wpLockObject"
-#define WPObject_wpLockObject(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpLockObject) \
-	(somSelf))
-#ifndef SOMGD_wpLockObject
-    #if (defined(_wpLockObject) || defined(__wpLockObject))
-        #undef _wpLockObject
-        #undef __wpLockObject
-        #define SOMGD_wpLockObject 1
-    #else
-        #define _wpLockObject WPObject_wpLockObject
-    #endif /* _wpLockObject */
-#endif /* SOMGD_wpLockObject */
-
-/*
- * New Method: wpIsLocked
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpIsLocked(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpIsLocked, system)
-typedef somTP_WPObject_wpIsLocked *somTD_WPObject_wpIsLocked;
-#define somMD_WPObject_wpIsLocked "::WPObject::wpIsLocked"
-#define WPObject_wpIsLocked(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpIsLocked) \
-	(somSelf))
-#ifndef SOMGD_wpIsLocked
-    #if (defined(_wpIsLocked) || defined(__wpIsLocked))
-        #undef _wpIsLocked
-        #undef __wpIsLocked
-        #define SOMGD_wpIsLocked 1
-    #else
-        #define _wpIsLocked WPObject_wpIsLocked
-    #endif /* _wpIsLocked */
-#endif /* SOMGD_wpIsLocked */
-
-/*
- * New Method: wpQueryContainerFlagPtr
- */
-typedef PULONG   SOMLINK somTP_WPObject_wpQueryContainerFlagPtr(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryContainerFlagPtr, system)
-typedef somTP_WPObject_wpQueryContainerFlagPtr *somTD_WPObject_wpQueryContainerFlagPtr;
-#define somMD_WPObject_wpQueryContainerFlagPtr "::WPObject::wpQueryContainerFlagPtr"
-#define WPObject_wpQueryContainerFlagPtr(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryContainerFlagPtr) \
-	(somSelf))
-#ifndef SOMGD_wpQueryContainerFlagPtr
-    #if (defined(_wpQueryContainerFlagPtr) || defined(__wpQueryContainerFlagPtr))
-        #undef _wpQueryContainerFlagPtr
-        #undef __wpQueryContainerFlagPtr
-        #define SOMGD_wpQueryContainerFlagPtr 1
-    #else
-        #define _wpQueryContainerFlagPtr WPObject_wpQueryContainerFlagPtr
-    #endif /* _wpQueryContainerFlagPtr */
-#endif /* SOMGD_wpQueryContainerFlagPtr */
-
-/*
- * New Method: wpWaitForClose
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpWaitForClose(WPObject *somSelf, 
-		LHANDLE lhView, 
-		ULONG ulViews, 
-		long lTimeOut, 
-		BOOL bAutoClose);
-#pragma linkage(somTP_WPObject_wpWaitForClose, system)
-typedef somTP_WPObject_wpWaitForClose *somTD_WPObject_wpWaitForClose;
-#define somMD_WPObject_wpWaitForClose "::WPObject::wpWaitForClose"
-#define WPObject_wpWaitForClose(somSelf,lhView,ulViews,lTimeOut,bAutoClose) \
-    (SOM_Resolve(somSelf, WPObject, wpWaitForClose) \
-	(somSelf,lhView,ulViews,lTimeOut,bAutoClose))
-#ifndef SOMGD_wpWaitForClose
-    #if (defined(_wpWaitForClose) || defined(__wpWaitForClose))
-        #undef _wpWaitForClose
-        #undef __wpWaitForClose
-        #define SOMGD_wpWaitForClose 1
-    #else
-        #define _wpWaitForClose WPObject_wpWaitForClose
-    #endif /* _wpWaitForClose */
-#endif /* SOMGD_wpWaitForClose */
-
-/*
- * New Method: wpSetMenuStyle
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetMenuStyle(WPObject *somSelf, 
-		ULONG ulStyle);
-#pragma linkage(somTP_WPObject_wpSetMenuStyle, system)
-typedef somTP_WPObject_wpSetMenuStyle *somTD_WPObject_wpSetMenuStyle;
-#define somMD_WPObject_wpSetMenuStyle "::WPObject::wpSetMenuStyle"
-#define WPObject_wpSetMenuStyle(somSelf,ulStyle) \
-    (SOM_Resolve(somSelf, WPObject, wpSetMenuStyle) \
-	(somSelf,ulStyle))
-#ifndef SOMGD_wpSetMenuStyle
-    #if (defined(_wpSetMenuStyle) || defined(__wpSetMenuStyle))
-        #undef _wpSetMenuStyle
-        #undef __wpSetMenuStyle
-        #define SOMGD_wpSetMenuStyle 1
-    #else
-        #define _wpSetMenuStyle WPObject_wpSetMenuStyle
-    #endif /* _wpSetMenuStyle */
-#endif /* SOMGD_wpSetMenuStyle */
-
-/*
- * New Method: wpQueryMenuStyle
- */
-typedef ULONG   SOMLINK somTP_WPObject_wpQueryMenuStyle(WPObject *somSelf);
-#pragma linkage(somTP_WPObject_wpQueryMenuStyle, system)
-typedef somTP_WPObject_wpQueryMenuStyle *somTD_WPObject_wpQueryMenuStyle;
-#define somMD_WPObject_wpQueryMenuStyle "::WPObject::wpQueryMenuStyle"
-#define WPObject_wpQueryMenuStyle(somSelf) \
-    (SOM_Resolve(somSelf, WPObject, wpQueryMenuStyle) \
-	(somSelf))
-#ifndef SOMGD_wpQueryMenuStyle
-    #if (defined(_wpQueryMenuStyle) || defined(__wpQueryMenuStyle))
-        #undef _wpQueryMenuStyle
-        #undef __wpQueryMenuStyle
-        #define SOMGD_wpQueryMenuStyle 1
-    #else
-        #define _wpQueryMenuStyle WPObject_wpQueryMenuStyle
-    #endif /* _wpQueryMenuStyle */
-#endif /* SOMGD_wpQueryMenuStyle */
-
-/*
- * New Method: wpIdentify
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpIdentify(WPObject *somSelf, 
-		PSZ pszIdentity);
-#pragma linkage(somTP_WPObject_wpIdentify, system)
-typedef somTP_WPObject_wpIdentify *somTD_WPObject_wpIdentify;
-#define somMD_WPObject_wpIdentify "::WPObject::wpIdentify"
-#define WPObject_wpIdentify(somSelf,pszIdentity) \
-    (SOM_Resolve(somSelf, WPObject, wpIdentify) \
-	(somSelf,pszIdentity))
-#ifndef SOMGD_wpIdentify
-    #if (defined(_wpIdentify) || defined(__wpIdentify))
-        #undef _wpIdentify
-        #undef __wpIdentify
-        #define SOMGD_wpIdentify 1
-    #else
-        #define _wpIdentify WPObject_wpIdentify
-    #endif /* _wpIdentify */
-#endif /* SOMGD_wpIdentify */
-
-/*
- * New Method: wpSetStyle
- */
-typedef BOOL   SOMLINK somTP_WPObject_wpSetStyle(WPObject *somSelf, 
-		ULONG ulNewStyle);
-#pragma linkage(somTP_WPObject_wpSetStyle, system)
-typedef somTP_WPObject_wpSetStyle *somTD_WPObject_wpSetStyle;
-#define somMD_WPObject_wpSetStyle "::WPObject::wpSetStyle"
-#define WPObject_wpSetStyle(somSelf,ulNewStyle) \
-    (SOM_Resolve(somSelf, WPObject, wpSetStyle) \
-	(somSelf,ulNewStyle))
-#ifndef SOMGD_wpSetStyle
-    #if (defined(_wpSetStyle) || defined(__wpSetStyle))
-        #undef _wpSetStyle
-        #undef __wpSetStyle
-        #define SOMGD_wpSetStyle 1
-    #else
-        #define _wpSetStyle WPObject_wpSetStyle
-    #endif /* _wpSetStyle */
-#endif /* SOMGD_wpSetStyle */
-#ifndef SOM_DONT_USE_INHERITED_MACROS
-#define WPObject_somDefaultCopyInit SOMObject_somDefaultCopyInit
-#define WPObject_somDefaultAssign SOMObject_somDefaultAssign
-#define WPObject_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
-#define WPObject_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
-#define WPObject_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
-#define WPObject_somDefaultConstAssign SOMObject_somDefaultConstAssign
-#define WPObject_somDefaultVAssign SOMObject_somDefaultVAssign
-#define WPObject_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
-#define WPObject_somFree SOMObject_somFree
-#define WPObject_somGetClass SOMObject_somGetClass
-#define WPObject_somGetClassName SOMObject_somGetClassName
-#define WPObject_somGetSize SOMObject_somGetSize
-#define WPObject_somIsA SOMObject_somIsA
-#define WPObject_somIsInstanceOf SOMObject_somIsInstanceOf
-#define WPObject_somRespondsTo SOMObject_somRespondsTo
-#define WPObject_somDispatch SOMObject_somDispatch
-#define WPObject_somClassDispatch SOMObject_somClassDispatch
-#define WPObject_somCastObj SOMObject_somCastObj
-#define WPObject_somResetObj SOMObject_somResetObj
-#define WPObject_somDispatchV SOMObject_somDispatchV
-#define WPObject_somDispatchL SOMObject_somDispatchL
-#define WPObject_somDispatchA SOMObject_somDispatchA
-#define WPObject_somDispatchD SOMObject_somDispatchD
-#define WPObject_somPrintSelf SOMObject_somPrintSelf
-#define WPObject_somDumpSelf SOMObject_somDumpSelf
-#define WPObject_somDumpSelfInt SOMObject_somDumpSelfInt
-#endif /* SOM_DONT_USE_INHERITED_MACROS */
-
-#endif       /* SOM_WPObject_h */
-
-#ifndef SOM_M_WPObject_h
-#define SOM_M_WPObject_h
-
-
-#include <som.h>
-
-/*
- * -- This emitter treats Method Tokens as Thunks by default.
- * -- Use the sc modifier "nothunks" to change this default
- */
-#undef somresolve_
-#define somresolve_(obj,mToken) ((somMethodProc*)((void)obj, mToken))
-
-/*
- * Define the class name as an object type
- */
-#ifndef M_WPObject
-#define M_WPObject SOMObject
-#endif
-#include <somcls.h>
-
-/*
- * Start of bindings for IDL types
- */
-
-
-/*
- * End of bindings for IDL types.
- */
-
-#define M_WPObject_MajorVersion 1
-#define M_WPObject_MinorVersion 2
-
-/*
- * External name shortening if required
- */
-#ifdef SOM_USE_SHORT_EXTERNAL_NAMES
-#define M_WPObjectNewClass wpobjc
-#pragma linkage(wpobjc, system)
-#define M_WPObjectClassData wpobjd
-#define M_WPObjectCClassData wpobjx
-#endif /* SOM_USE_SHORT_EXTERNAL_NAMES */
-/*--------------Migration------------*/
-#define M_WPObject_classObj M_WPObjectClassData.classObject
-#define _M_WPObject M_WPObject_classObj
-
-/*
- * Declare the class creation procedure
- */
-SOMEXTERN SOMClass * SOMLINK M_WPObjectNewClass(integer4 somtmajorVersion,
-		integer4 somtminorVersion);
-#pragma linkage(M_WPObjectNewClass, system)
-
-/*
- * Declare the class data structure
- */
-SOMEXTERN struct M_WPObjectClassDataStructure {
-	SOMClass *classObject;
-	somMToken wpclsInitData;
-	somMToken wpclsUnInitData;
-	somMToken withdrawn8;
-	somMToken wpclsMakeAwake;
-	somMToken wpclsIncUsage;
-	somMToken wpclsDecUsage;
-	somMToken wpclsQueryTitle;
-	somMToken wpclsQueryIcon;
-	somMToken wpclsQueryDefaultHelp;
-	somMToken wpclsQueryStyle;
-	somMToken wpclsQueryDetailsInfo;
-	somMToken wpclsQueryDefaultView;
-	somMToken wpclsQueryDetails;
-	somMToken wpclsQuerySearchInfo;
-	somMToken wpclsQueryExtendedCriteria;
-	somMToken wpclsCreateDefaultTemplates;
-	somMToken withdrawn9;
-	somMToken wpclsFindObjectFirst;
-	somMToken wpclsFindObjectNext;
-	somMToken wpclsFindObjectEnd;
-	somMToken wpclsObjectPrivate1;
-	somMToken wpclsSetError;
-	somMToken wpclsQueryError;
-	somMToken wpclsQuerySettingsPageSize;
-	somMToken wpclsSetSettingsPageSize;
-	somMToken wpclsQueryIconData;
-	somMToken wpclsSetIcon;
-	somMToken wpclsSetIconData;
-	somMToken wpclsQueryObject;
-	somMToken wpclsObjectFromHandle;
-	somMToken wpclsObjectPrivate2;
-	somMToken wpclsObjectPrivate3;
-	somMToken wpclsObjectPrivate4;
-	somMToken wpclsObjectPrivate5;
-	somMToken wpclsObjectPrivate6;
-	somMToken wpclsQueryButtonAppearance;
-	somMToken wpclsNew;
-	somMToken wpclsQueryFolder;
-	somMToken wpclsObjectPrivate7;
-	somMToken wpclsObjectPrivate8;
-	somMToken wpclsRemoveObjects;
-	somMToken wpclsInsertMultipleObjects;
-	somMToken wpclsObjectPrivate9;
-	somMToken wpclsFindOneObject;
-	somMToken wpclsObjectPrivate10;
-} SOMDLINK M_WPObjectClassData;
-
-/*
- * Declare the C specific class data structure
- */
-SOMEXTERN struct M_WPObjectCClassDataStructure {
-	somMethodTabs parentMtab;
-	somDToken instanceDataToken;
-} SOMDLINK M_WPObjectCClassData;
-
-/*
- * New and Renew macros for M_WPObject
- */
-#define M_WPObjectNew() \
-   ( _M_WPObject ? \
-	_somNew(_M_WPObject) \
-	: ( M_WPObjectNewClass(\
-		M_WPObject_MajorVersion, \
-		M_WPObject_MinorVersion),\
-	   _somNew(_M_WPObject)))
-#define M_WPObjectRenew(buf) \
-   ( _M_WPObject ? \
-	_somRenew(_M_WPObject, buf) \
-	: ( M_WPObjectNewClass(\
-		M_WPObject_MajorVersion, \
-		M_WPObject_MinorVersion),\
-	   _somRenew(_M_WPObject, buf)))
-
-/*
- * Override method: somUninit
- */
-#define M_WPObject_somUninit(somSelf) \
-	SOMObject_somUninit(somSelf)
-
-/*
- * Override method: somClassReady
- */
-#define M_WPObject_somClassReady(somSelf) \
-	SOMClass_somClassReady(somSelf)
-
-/*
- * Override method: somNew
- */
-#define M_WPObject_somNew(somSelf) \
-	SOMClass_somNew(somSelf)
-
-/*
- * Override method: somRenew
- */
-#define M_WPObject_somRenew(somSelf,obj) \
-	SOMClass_somRenew(somSelf,obj)
-
-/*
- * New Method: wpclsCreateDefaultTemplates
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsCreateDefaultTemplates(M_WPObject *somSelf, 
-		WPObject* Folder);
-#pragma linkage(somTP_M_WPObject_wpclsCreateDefaultTemplates, system)
-typedef somTP_M_WPObject_wpclsCreateDefaultTemplates *somTD_M_WPObject_wpclsCreateDefaultTemplates;
-#define somMD_M_WPObject_wpclsCreateDefaultTemplates "::M_WPObject::wpclsCreateDefaultTemplates"
-#define M_WPObject_wpclsCreateDefaultTemplates(somSelf,Folder) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsCreateDefaultTemplates) \
-	(somSelf,Folder))
-#ifndef SOMGD_wpclsCreateDefaultTemplates
-    #if (defined(_wpclsCreateDefaultTemplates) || defined(__wpclsCreateDefaultTemplates))
-        #undef _wpclsCreateDefaultTemplates
-        #undef __wpclsCreateDefaultTemplates
-        #define SOMGD_wpclsCreateDefaultTemplates 1
-    #else
-        #define _wpclsCreateDefaultTemplates M_WPObject_wpclsCreateDefaultTemplates
-    #endif /* _wpclsCreateDefaultTemplates */
-#endif /* SOMGD_wpclsCreateDefaultTemplates */
-
-/*
- * New Method: wpclsInitData
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsInitData(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsInitData, system)
-typedef somTP_M_WPObject_wpclsInitData *somTD_M_WPObject_wpclsInitData;
-#define somMD_M_WPObject_wpclsInitData "::M_WPObject::wpclsInitData"
-#define M_WPObject_wpclsInitData(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsInitData) \
-	(somSelf))
-#ifndef SOMGD_wpclsInitData
-    #if (defined(_wpclsInitData) || defined(__wpclsInitData))
-        #undef _wpclsInitData
-        #undef __wpclsInitData
-        #define SOMGD_wpclsInitData 1
-    #else
-        #define _wpclsInitData M_WPObject_wpclsInitData
-    #endif /* _wpclsInitData */
-#endif /* SOMGD_wpclsInitData */
-
-/*
- * New Method: wpclsMakeAwake
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsMakeAwake(M_WPObject *somSelf, 
-		PSZ pszTitle, 
-		ULONG ulStyle, 
-		HPOINTER hptrIcon, 
-		POBJDATA pObjData, 
-		WPFolder* Folder, 
-		ULONG ulUser);
-#pragma linkage(somTP_M_WPObject_wpclsMakeAwake, system)
-typedef somTP_M_WPObject_wpclsMakeAwake *somTD_M_WPObject_wpclsMakeAwake;
-#define somMD_M_WPObject_wpclsMakeAwake "::M_WPObject::wpclsMakeAwake"
-#define M_WPObject_wpclsMakeAwake(somSelf,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsMakeAwake) \
-	(somSelf,pszTitle,ulStyle,hptrIcon,pObjData,Folder,ulUser))
-#ifndef SOMGD_wpclsMakeAwake
-    #if (defined(_wpclsMakeAwake) || defined(__wpclsMakeAwake))
-        #undef _wpclsMakeAwake
-        #undef __wpclsMakeAwake
-        #define SOMGD_wpclsMakeAwake 1
-    #else
-        #define _wpclsMakeAwake M_WPObject_wpclsMakeAwake
-    #endif /* _wpclsMakeAwake */
-#endif /* SOMGD_wpclsMakeAwake */
-
-/*
- * New Method: wpclsNew
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsNew(M_WPObject *somSelf, 
-		PSZ pszTitle, 
-		PSZ pszSetupEnv, 
-		WPFolder* Folder, 
-		BOOL fLock);
-#pragma linkage(somTP_M_WPObject_wpclsNew, system)
-typedef somTP_M_WPObject_wpclsNew *somTD_M_WPObject_wpclsNew;
-#define somMD_M_WPObject_wpclsNew "::M_WPObject::wpclsNew"
-#define M_WPObject_wpclsNew(somSelf,pszTitle,pszSetupEnv,Folder,fLock) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsNew) \
-	(somSelf,pszTitle,pszSetupEnv,Folder,fLock))
-#ifndef SOMGD_wpclsNew
-    #if (defined(_wpclsNew) || defined(__wpclsNew))
-        #undef _wpclsNew
-        #undef __wpclsNew
-        #define SOMGD_wpclsNew 1
-    #else
-        #define _wpclsNew M_WPObject_wpclsNew
-    #endif /* _wpclsNew */
-#endif /* SOMGD_wpclsNew */
-
-/*
- * New Method: wpclsQueryDefaultHelp
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQueryDefaultHelp(M_WPObject *somSelf, 
-		PULONG pHelpPanelId, 
-		PSZ pszHelpLibrary);
-#pragma linkage(somTP_M_WPObject_wpclsQueryDefaultHelp, system)
-typedef somTP_M_WPObject_wpclsQueryDefaultHelp *somTD_M_WPObject_wpclsQueryDefaultHelp;
-#define somMD_M_WPObject_wpclsQueryDefaultHelp "::M_WPObject::wpclsQueryDefaultHelp"
-#define M_WPObject_wpclsQueryDefaultHelp(somSelf,pHelpPanelId,pszHelpLibrary) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryDefaultHelp) \
-	(somSelf,pHelpPanelId,pszHelpLibrary))
-#ifndef SOMGD_wpclsQueryDefaultHelp
-    #if (defined(_wpclsQueryDefaultHelp) || defined(__wpclsQueryDefaultHelp))
-        #undef _wpclsQueryDefaultHelp
-        #undef __wpclsQueryDefaultHelp
-        #define SOMGD_wpclsQueryDefaultHelp 1
-    #else
-        #define _wpclsQueryDefaultHelp M_WPObject_wpclsQueryDefaultHelp
-    #endif /* _wpclsQueryDefaultHelp */
-#endif /* SOMGD_wpclsQueryDefaultHelp */
-
-/*
- * New Method: wpclsQueryDefaultView
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryDefaultView(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryDefaultView, system)
-typedef somTP_M_WPObject_wpclsQueryDefaultView *somTD_M_WPObject_wpclsQueryDefaultView;
-#define somMD_M_WPObject_wpclsQueryDefaultView "::M_WPObject::wpclsQueryDefaultView"
-#define M_WPObject_wpclsQueryDefaultView(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryDefaultView) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryDefaultView
-    #if (defined(_wpclsQueryDefaultView) || defined(__wpclsQueryDefaultView))
-        #undef _wpclsQueryDefaultView
-        #undef __wpclsQueryDefaultView
-        #define SOMGD_wpclsQueryDefaultView 1
-    #else
-        #define _wpclsQueryDefaultView M_WPObject_wpclsQueryDefaultView
-    #endif /* _wpclsQueryDefaultView */
-#endif /* SOMGD_wpclsQueryDefaultView */
-
-/*
- * New Method: wpclsQueryDetails
- */
-typedef PCLASSDETAILS   SOMLINK somTP_M_WPObject_wpclsQueryDetails(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryDetails, system)
-typedef somTP_M_WPObject_wpclsQueryDetails *somTD_M_WPObject_wpclsQueryDetails;
-#define somMD_M_WPObject_wpclsQueryDetails "::M_WPObject::wpclsQueryDetails"
-#define M_WPObject_wpclsQueryDetails(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryDetails) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryDetails
-    #if (defined(_wpclsQueryDetails) || defined(__wpclsQueryDetails))
-        #undef _wpclsQueryDetails
-        #undef __wpclsQueryDetails
-        #define SOMGD_wpclsQueryDetails 1
-    #else
-        #define _wpclsQueryDetails M_WPObject_wpclsQueryDetails
-    #endif /* _wpclsQueryDetails */
-#endif /* SOMGD_wpclsQueryDetails */
-
-/*
- * New Method: wpclsQueryDetailsInfo
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryDetailsInfo(M_WPObject *somSelf, 
-		PCLASSFIELDINFO* ppClassFieldInfo, 
-		PULONG pSize);
-#pragma linkage(somTP_M_WPObject_wpclsQueryDetailsInfo, system)
-typedef somTP_M_WPObject_wpclsQueryDetailsInfo *somTD_M_WPObject_wpclsQueryDetailsInfo;
-#define somMD_M_WPObject_wpclsQueryDetailsInfo "::M_WPObject::wpclsQueryDetailsInfo"
-#define M_WPObject_wpclsQueryDetailsInfo(somSelf,ppClassFieldInfo,pSize) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryDetailsInfo) \
-	(somSelf,ppClassFieldInfo,pSize))
-#ifndef SOMGD_wpclsQueryDetailsInfo
-    #if (defined(_wpclsQueryDetailsInfo) || defined(__wpclsQueryDetailsInfo))
-        #undef _wpclsQueryDetailsInfo
-        #undef __wpclsQueryDetailsInfo
-        #define SOMGD_wpclsQueryDetailsInfo 1
-    #else
-        #define _wpclsQueryDetailsInfo M_WPObject_wpclsQueryDetailsInfo
-    #endif /* _wpclsQueryDetailsInfo */
-#endif /* SOMGD_wpclsQueryDetailsInfo */
-
-/*
- * New Method: wpclsQueryExtendedCriteria
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQueryExtendedCriteria(M_WPObject *somSelf, 
-		PSZ pszName, 
-		ULONG ulSearchType, 
-		PVOID pvoidExtendedCriteria);
-#pragma linkage(somTP_M_WPObject_wpclsQueryExtendedCriteria, system)
-typedef somTP_M_WPObject_wpclsQueryExtendedCriteria *somTD_M_WPObject_wpclsQueryExtendedCriteria;
-#define somMD_M_WPObject_wpclsQueryExtendedCriteria "::M_WPObject::wpclsQueryExtendedCriteria"
-#define M_WPObject_wpclsQueryExtendedCriteria(somSelf,pszName,ulSearchType,pvoidExtendedCriteria) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryExtendedCriteria) \
-	(somSelf,pszName,ulSearchType,pvoidExtendedCriteria))
-#ifndef SOMGD_wpclsQueryExtendedCriteria
-    #if (defined(_wpclsQueryExtendedCriteria) || defined(__wpclsQueryExtendedCriteria))
-        #undef _wpclsQueryExtendedCriteria
-        #undef __wpclsQueryExtendedCriteria
-        #define SOMGD_wpclsQueryExtendedCriteria 1
-    #else
-        #define _wpclsQueryExtendedCriteria M_WPObject_wpclsQueryExtendedCriteria
-    #endif /* _wpclsQueryExtendedCriteria */
-#endif /* SOMGD_wpclsQueryExtendedCriteria */
-
-/*
- * New Method: wpclsQueryFolder
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsQueryFolder(M_WPObject *somSelf, 
-		PSZ pszLocation, 
-		BOOL fLock);
-#pragma linkage(somTP_M_WPObject_wpclsQueryFolder, system)
-typedef somTP_M_WPObject_wpclsQueryFolder *somTD_M_WPObject_wpclsQueryFolder;
-#define somMD_M_WPObject_wpclsQueryFolder "::M_WPObject::wpclsQueryFolder"
-#define M_WPObject_wpclsQueryFolder(somSelf,pszLocation,fLock) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryFolder) \
-	(somSelf,pszLocation,fLock))
-#ifndef SOMGD_wpclsQueryFolder
-    #if (defined(_wpclsQueryFolder) || defined(__wpclsQueryFolder))
-        #undef _wpclsQueryFolder
-        #undef __wpclsQueryFolder
-        #define SOMGD_wpclsQueryFolder 1
-    #else
-        #define _wpclsQueryFolder M_WPObject_wpclsQueryFolder
-    #endif /* _wpclsQueryFolder */
-#endif /* SOMGD_wpclsQueryFolder */
-
-/*
- * New Method: wpclsQueryIcon
- */
-typedef HPOINTER   SOMLINK somTP_M_WPObject_wpclsQueryIcon(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryIcon, system)
-typedef somTP_M_WPObject_wpclsQueryIcon *somTD_M_WPObject_wpclsQueryIcon;
-#define somMD_M_WPObject_wpclsQueryIcon "::M_WPObject::wpclsQueryIcon"
-#define M_WPObject_wpclsQueryIcon(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryIcon) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryIcon
-    #if (defined(_wpclsQueryIcon) || defined(__wpclsQueryIcon))
-        #undef _wpclsQueryIcon
-        #undef __wpclsQueryIcon
-        #define SOMGD_wpclsQueryIcon 1
-    #else
-        #define _wpclsQueryIcon M_WPObject_wpclsQueryIcon
-    #endif /* _wpclsQueryIcon */
-#endif /* SOMGD_wpclsQueryIcon */
-
-/*
- * New Method: wpclsQuerySearchInfo
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsQuerySearchInfo(M_WPObject *somSelf, 
-		M_WPObject** ClassExtended, 
-		M_WPObject** ClassCreate, 
-		PULONG pulClassCriteriaSize);
-#pragma linkage(somTP_M_WPObject_wpclsQuerySearchInfo, system)
-typedef somTP_M_WPObject_wpclsQuerySearchInfo *somTD_M_WPObject_wpclsQuerySearchInfo;
-#define somMD_M_WPObject_wpclsQuerySearchInfo "::M_WPObject::wpclsQuerySearchInfo"
-#define M_WPObject_wpclsQuerySearchInfo(somSelf,ClassExtended,ClassCreate,pulClassCriteriaSize) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQuerySearchInfo) \
-	(somSelf,ClassExtended,ClassCreate,pulClassCriteriaSize))
-#ifndef SOMGD_wpclsQuerySearchInfo
-    #if (defined(_wpclsQuerySearchInfo) || defined(__wpclsQuerySearchInfo))
-        #undef _wpclsQuerySearchInfo
-        #undef __wpclsQuerySearchInfo
-        #define SOMGD_wpclsQuerySearchInfo 1
-    #else
-        #define _wpclsQuerySearchInfo M_WPObject_wpclsQuerySearchInfo
-    #endif /* _wpclsQuerySearchInfo */
-#endif /* SOMGD_wpclsQuerySearchInfo */
-
-/*
- * New Method: wpclsQueryStyle
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryStyle(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryStyle, system)
-typedef somTP_M_WPObject_wpclsQueryStyle *somTD_M_WPObject_wpclsQueryStyle;
-#define somMD_M_WPObject_wpclsQueryStyle "::M_WPObject::wpclsQueryStyle"
-#define M_WPObject_wpclsQueryStyle(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryStyle) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryStyle
-    #if (defined(_wpclsQueryStyle) || defined(__wpclsQueryStyle))
-        #undef _wpclsQueryStyle
-        #undef __wpclsQueryStyle
-        #define SOMGD_wpclsQueryStyle 1
-    #else
-        #define _wpclsQueryStyle M_WPObject_wpclsQueryStyle
-    #endif /* _wpclsQueryStyle */
-#endif /* SOMGD_wpclsQueryStyle */
-
-/*
- * New Method: wpclsQueryTitle
- */
-typedef PSZ   SOMLINK somTP_M_WPObject_wpclsQueryTitle(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryTitle, system)
-typedef somTP_M_WPObject_wpclsQueryTitle *somTD_M_WPObject_wpclsQueryTitle;
-#define somMD_M_WPObject_wpclsQueryTitle "::M_WPObject::wpclsQueryTitle"
-#define M_WPObject_wpclsQueryTitle(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryTitle) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryTitle
-    #if (defined(_wpclsQueryTitle) || defined(__wpclsQueryTitle))
-        #undef _wpclsQueryTitle
-        #undef __wpclsQueryTitle
-        #define SOMGD_wpclsQueryTitle 1
-    #else
-        #define _wpclsQueryTitle M_WPObject_wpclsQueryTitle
-    #endif /* _wpclsQueryTitle */
-#endif /* SOMGD_wpclsQueryTitle */
-
-/*
- * New Method: wpclsUnInitData
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsUnInitData(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsUnInitData, system)
-typedef somTP_M_WPObject_wpclsUnInitData *somTD_M_WPObject_wpclsUnInitData;
-#define somMD_M_WPObject_wpclsUnInitData "::M_WPObject::wpclsUnInitData"
-#define M_WPObject_wpclsUnInitData(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsUnInitData) \
-	(somSelf))
-#ifndef SOMGD_wpclsUnInitData
-    #if (defined(_wpclsUnInitData) || defined(__wpclsUnInitData))
-        #undef _wpclsUnInitData
-        #undef __wpclsUnInitData
-        #define SOMGD_wpclsUnInitData 1
-    #else
-        #define _wpclsUnInitData M_WPObject_wpclsUnInitData
-    #endif /* _wpclsUnInitData */
-#endif /* SOMGD_wpclsUnInitData */
-
-/*
- * New Method: wpclsFindObjectFirst
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectFirst(M_WPObject *somSelf, 
-		PCLASS pClassList, 
-		PHFIND phFind, 
-		PSZ pszTitle, 
-		WPFolder* Folder, 
-		BOOL fSubfolders, 
-		PVOID pExtendedCriteria, 
-		POBJECT pBuffer, 
-		PULONG pCount);
-#pragma linkage(somTP_M_WPObject_wpclsFindObjectFirst, system)
-typedef somTP_M_WPObject_wpclsFindObjectFirst *somTD_M_WPObject_wpclsFindObjectFirst;
-#define somMD_M_WPObject_wpclsFindObjectFirst "::M_WPObject::wpclsFindObjectFirst"
-#define M_WPObject_wpclsFindObjectFirst(somSelf,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsFindObjectFirst) \
-	(somSelf,pClassList,phFind,pszTitle,Folder,fSubfolders,pExtendedCriteria,pBuffer,pCount))
-#ifndef SOMGD_wpclsFindObjectFirst
-    #if (defined(_wpclsFindObjectFirst) || defined(__wpclsFindObjectFirst))
-        #undef _wpclsFindObjectFirst
-        #undef __wpclsFindObjectFirst
-        #define SOMGD_wpclsFindObjectFirst 1
-    #else
-        #define _wpclsFindObjectFirst M_WPObject_wpclsFindObjectFirst
-    #endif /* _wpclsFindObjectFirst */
-#endif /* SOMGD_wpclsFindObjectFirst */
-
-/*
- * New Method: wpclsFindObjectNext
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectNext(M_WPObject *somSelf, 
-		HFIND hFind, 
-		POBJECT pBuffer, 
-		PULONG pCount);
-#pragma linkage(somTP_M_WPObject_wpclsFindObjectNext, system)
-typedef somTP_M_WPObject_wpclsFindObjectNext *somTD_M_WPObject_wpclsFindObjectNext;
-#define somMD_M_WPObject_wpclsFindObjectNext "::M_WPObject::wpclsFindObjectNext"
-#define M_WPObject_wpclsFindObjectNext(somSelf,hFind,pBuffer,pCount) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsFindObjectNext) \
-	(somSelf,hFind,pBuffer,pCount))
-#ifndef SOMGD_wpclsFindObjectNext
-    #if (defined(_wpclsFindObjectNext) || defined(__wpclsFindObjectNext))
-        #undef _wpclsFindObjectNext
-        #undef __wpclsFindObjectNext
-        #define SOMGD_wpclsFindObjectNext 1
-    #else
-        #define _wpclsFindObjectNext M_WPObject_wpclsFindObjectNext
-    #endif /* _wpclsFindObjectNext */
-#endif /* SOMGD_wpclsFindObjectNext */
-
-/*
- * New Method: wpclsFindObjectEnd
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsFindObjectEnd(M_WPObject *somSelf, 
-		HFIND hFind);
-#pragma linkage(somTP_M_WPObject_wpclsFindObjectEnd, system)
-typedef somTP_M_WPObject_wpclsFindObjectEnd *somTD_M_WPObject_wpclsFindObjectEnd;
-#define somMD_M_WPObject_wpclsFindObjectEnd "::M_WPObject::wpclsFindObjectEnd"
-#define M_WPObject_wpclsFindObjectEnd(somSelf,hFind) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsFindObjectEnd) \
-	(somSelf,hFind))
-#ifndef SOMGD_wpclsFindObjectEnd
-    #if (defined(_wpclsFindObjectEnd) || defined(__wpclsFindObjectEnd))
-        #undef _wpclsFindObjectEnd
-        #undef __wpclsFindObjectEnd
-        #define SOMGD_wpclsFindObjectEnd 1
-    #else
-        #define _wpclsFindObjectEnd M_WPObject_wpclsFindObjectEnd
-    #endif /* _wpclsFindObjectEnd */
-#endif /* SOMGD_wpclsFindObjectEnd */
-
-/*
- * New Method: wpclsSetError
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetError(M_WPObject *somSelf, 
-		ULONG ulErrorId);
-#pragma linkage(somTP_M_WPObject_wpclsSetError, system)
-typedef somTP_M_WPObject_wpclsSetError *somTD_M_WPObject_wpclsSetError;
-#define somMD_M_WPObject_wpclsSetError "::M_WPObject::wpclsSetError"
-#define M_WPObject_wpclsSetError(somSelf,ulErrorId) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsSetError) \
-	(somSelf,ulErrorId))
-#ifndef SOMGD_wpclsSetError
-    #if (defined(_wpclsSetError) || defined(__wpclsSetError))
-        #undef _wpclsSetError
-        #undef __wpclsSetError
-        #define SOMGD_wpclsSetError 1
-    #else
-        #define _wpclsSetError M_WPObject_wpclsSetError
-    #endif /* _wpclsSetError */
-#endif /* SOMGD_wpclsSetError */
-
-/*
- * New Method: wpclsQueryError
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryError(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryError, system)
-typedef somTP_M_WPObject_wpclsQueryError *somTD_M_WPObject_wpclsQueryError;
-#define somMD_M_WPObject_wpclsQueryError "::M_WPObject::wpclsQueryError"
-#define M_WPObject_wpclsQueryError(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryError) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryError
-    #if (defined(_wpclsQueryError) || defined(__wpclsQueryError))
-        #undef _wpclsQueryError
-        #undef __wpclsQueryError
-        #define SOMGD_wpclsQueryError 1
-    #else
-        #define _wpclsQueryError M_WPObject_wpclsQueryError
-    #endif /* _wpclsQueryError */
-#endif /* SOMGD_wpclsQueryError */
-
-/*
- * New Method: wpclsQuerySettingsPageSize
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsQuerySettingsPageSize(M_WPObject *somSelf, 
-		PSIZEL pSizl);
-#pragma linkage(somTP_M_WPObject_wpclsQuerySettingsPageSize, system)
-typedef somTP_M_WPObject_wpclsQuerySettingsPageSize *somTD_M_WPObject_wpclsQuerySettingsPageSize;
-#define somMD_M_WPObject_wpclsQuerySettingsPageSize "::M_WPObject::wpclsQuerySettingsPageSize"
-#define M_WPObject_wpclsQuerySettingsPageSize(somSelf,pSizl) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQuerySettingsPageSize) \
-	(somSelf,pSizl))
-#ifndef SOMGD_wpclsQuerySettingsPageSize
-    #if (defined(_wpclsQuerySettingsPageSize) || defined(__wpclsQuerySettingsPageSize))
-        #undef _wpclsQuerySettingsPageSize
-        #undef __wpclsQuerySettingsPageSize
-        #define SOMGD_wpclsQuerySettingsPageSize 1
-    #else
-        #define _wpclsQuerySettingsPageSize M_WPObject_wpclsQuerySettingsPageSize
-    #endif /* _wpclsQuerySettingsPageSize */
-#endif /* SOMGD_wpclsQuerySettingsPageSize */
-
-/*
- * New Method: wpclsQueryIconData
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryIconData(M_WPObject *somSelf, 
-		PICONINFO pIconInfo);
-#pragma linkage(somTP_M_WPObject_wpclsQueryIconData, system)
-typedef somTP_M_WPObject_wpclsQueryIconData *somTD_M_WPObject_wpclsQueryIconData;
-#define somMD_M_WPObject_wpclsQueryIconData "::M_WPObject::wpclsQueryIconData"
-#define M_WPObject_wpclsQueryIconData(somSelf,pIconInfo) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryIconData) \
-	(somSelf,pIconInfo))
-#ifndef SOMGD_wpclsQueryIconData
-    #if (defined(_wpclsQueryIconData) || defined(__wpclsQueryIconData))
-        #undef _wpclsQueryIconData
-        #undef __wpclsQueryIconData
-        #define SOMGD_wpclsQueryIconData 1
-    #else
-        #define _wpclsQueryIconData M_WPObject_wpclsQueryIconData
-    #endif /* _wpclsQueryIconData */
-#endif /* SOMGD_wpclsQueryIconData */
-
-/*
- * New Method: wpclsQueryObject
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsQueryObject(M_WPObject *somSelf, 
-		HOBJECT hObject);
-#pragma linkage(somTP_M_WPObject_wpclsQueryObject, system)
-typedef somTP_M_WPObject_wpclsQueryObject *somTD_M_WPObject_wpclsQueryObject;
-#define somMD_M_WPObject_wpclsQueryObject "::M_WPObject::wpclsQueryObject"
-#define M_WPObject_wpclsQueryObject(somSelf,hObject) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryObject) \
-	(somSelf,hObject))
-#ifndef SOMGD_wpclsQueryObject
-    #if (defined(_wpclsQueryObject) || defined(__wpclsQueryObject))
-        #undef _wpclsQueryObject
-        #undef __wpclsQueryObject
-        #define SOMGD_wpclsQueryObject 1
-    #else
-        #define _wpclsQueryObject M_WPObject_wpclsQueryObject
-    #endif /* _wpclsQueryObject */
-#endif /* SOMGD_wpclsQueryObject */
-
-/*
- * New Method: wpclsQueryButtonAppearance
- */
-typedef ULONG   SOMLINK somTP_M_WPObject_wpclsQueryButtonAppearance(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsQueryButtonAppearance, system)
-typedef somTP_M_WPObject_wpclsQueryButtonAppearance *somTD_M_WPObject_wpclsQueryButtonAppearance;
-#define somMD_M_WPObject_wpclsQueryButtonAppearance "::M_WPObject::wpclsQueryButtonAppearance"
-#define M_WPObject_wpclsQueryButtonAppearance(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsQueryButtonAppearance) \
-	(somSelf))
-#ifndef SOMGD_wpclsQueryButtonAppearance
-    #if (defined(_wpclsQueryButtonAppearance) || defined(__wpclsQueryButtonAppearance))
-        #undef _wpclsQueryButtonAppearance
-        #undef __wpclsQueryButtonAppearance
-        #define SOMGD_wpclsQueryButtonAppearance 1
-    #else
-        #define _wpclsQueryButtonAppearance M_WPObject_wpclsQueryButtonAppearance
-    #endif /* _wpclsQueryButtonAppearance */
-#endif /* SOMGD_wpclsQueryButtonAppearance */
-
-/*
- * New Method: wpclsDecUsage
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsDecUsage(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsDecUsage, system)
-typedef somTP_M_WPObject_wpclsDecUsage *somTD_M_WPObject_wpclsDecUsage;
-#define somMD_M_WPObject_wpclsDecUsage "::M_WPObject::wpclsDecUsage"
-#define M_WPObject_wpclsDecUsage(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsDecUsage) \
-	(somSelf))
-#ifndef SOMGD_wpclsDecUsage
-    #if (defined(_wpclsDecUsage) || defined(__wpclsDecUsage))
-        #undef _wpclsDecUsage
-        #undef __wpclsDecUsage
-        #define SOMGD_wpclsDecUsage 1
-    #else
-        #define _wpclsDecUsage M_WPObject_wpclsDecUsage
-    #endif /* _wpclsDecUsage */
-#endif /* SOMGD_wpclsDecUsage */
-
-/*
- * New Method: wpclsIncUsage
- */
-typedef void   SOMLINK somTP_M_WPObject_wpclsIncUsage(M_WPObject *somSelf);
-#pragma linkage(somTP_M_WPObject_wpclsIncUsage, system)
-typedef somTP_M_WPObject_wpclsIncUsage *somTD_M_WPObject_wpclsIncUsage;
-#define somMD_M_WPObject_wpclsIncUsage "::M_WPObject::wpclsIncUsage"
-#define M_WPObject_wpclsIncUsage(somSelf) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsIncUsage) \
-	(somSelf))
-#ifndef SOMGD_wpclsIncUsage
-    #if (defined(_wpclsIncUsage) || defined(__wpclsIncUsage))
-        #undef _wpclsIncUsage
-        #undef __wpclsIncUsage
-        #define SOMGD_wpclsIncUsage 1
-    #else
-        #define _wpclsIncUsage M_WPObject_wpclsIncUsage
-    #endif /* _wpclsIncUsage */
-#endif /* SOMGD_wpclsIncUsage */
-
-/*
- * New Method: wpclsInsertMultipleObjects
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsInsertMultipleObjects(M_WPObject *somSelf, 
-		HWND hwndCnr, 
-		PPOINTL pptlIcon, 
-		PVOID* pObjectArray, 
-		PVOID pRecordParent, 
-		ULONG NumRecords);
-#pragma linkage(somTP_M_WPObject_wpclsInsertMultipleObjects, system)
-typedef somTP_M_WPObject_wpclsInsertMultipleObjects *somTD_M_WPObject_wpclsInsertMultipleObjects;
-#define somMD_M_WPObject_wpclsInsertMultipleObjects "::M_WPObject::wpclsInsertMultipleObjects"
-#define M_WPObject_wpclsInsertMultipleObjects(somSelf,hwndCnr,pptlIcon,pObjectArray,pRecordParent,NumRecords) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsInsertMultipleObjects) \
-	(somSelf,hwndCnr,pptlIcon,pObjectArray,pRecordParent,NumRecords))
-#ifndef SOMGD_wpclsInsertMultipleObjects
-    #if (defined(_wpclsInsertMultipleObjects) || defined(__wpclsInsertMultipleObjects))
-        #undef _wpclsInsertMultipleObjects
-        #undef __wpclsInsertMultipleObjects
-        #define SOMGD_wpclsInsertMultipleObjects 1
-    #else
-        #define _wpclsInsertMultipleObjects M_WPObject_wpclsInsertMultipleObjects
-    #endif /* _wpclsInsertMultipleObjects */
-#endif /* SOMGD_wpclsInsertMultipleObjects */
-
-/*
- * New Method: wpclsFindOneObject
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsFindOneObject(M_WPObject *somSelf, 
-		HWND hwndOwner, 
-		PSZ pszFindParams);
-#pragma linkage(somTP_M_WPObject_wpclsFindOneObject, system)
-typedef somTP_M_WPObject_wpclsFindOneObject *somTD_M_WPObject_wpclsFindOneObject;
-#define somMD_M_WPObject_wpclsFindOneObject "::M_WPObject::wpclsFindOneObject"
-#define M_WPObject_wpclsFindOneObject(somSelf,hwndOwner,pszFindParams) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsFindOneObject) \
-	(somSelf,hwndOwner,pszFindParams))
-#ifndef SOMGD_wpclsFindOneObject
-    #if (defined(_wpclsFindOneObject) || defined(__wpclsFindOneObject))
-        #undef _wpclsFindOneObject
-        #undef __wpclsFindOneObject
-        #define SOMGD_wpclsFindOneObject 1
-    #else
-        #define _wpclsFindOneObject M_WPObject_wpclsFindOneObject
-    #endif /* _wpclsFindOneObject */
-#endif /* SOMGD_wpclsFindOneObject */
-
-/*
- * New Method: wpclsSetSettingsPageSize
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetSettingsPageSize(M_WPObject *somSelf, 
-		PSIZEL pSizl);
-#pragma linkage(somTP_M_WPObject_wpclsSetSettingsPageSize, system)
-typedef somTP_M_WPObject_wpclsSetSettingsPageSize *somTD_M_WPObject_wpclsSetSettingsPageSize;
-#define somMD_M_WPObject_wpclsSetSettingsPageSize "::M_WPObject::wpclsSetSettingsPageSize"
-#define M_WPObject_wpclsSetSettingsPageSize(somSelf,pSizl) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsSetSettingsPageSize) \
-	(somSelf,pSizl))
-#ifndef SOMGD_wpclsSetSettingsPageSize
-    #if (defined(_wpclsSetSettingsPageSize) || defined(__wpclsSetSettingsPageSize))
-        #undef _wpclsSetSettingsPageSize
-        #undef __wpclsSetSettingsPageSize
-        #define SOMGD_wpclsSetSettingsPageSize 1
-    #else
-        #define _wpclsSetSettingsPageSize M_WPObject_wpclsSetSettingsPageSize
-    #endif /* _wpclsSetSettingsPageSize */
-#endif /* SOMGD_wpclsSetSettingsPageSize */
-
-/*
- * New Method: wpclsSetIconData
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetIconData(M_WPObject *somSelf, 
-		PICONINFO pIconInfo);
-#pragma linkage(somTP_M_WPObject_wpclsSetIconData, system)
-typedef somTP_M_WPObject_wpclsSetIconData *somTD_M_WPObject_wpclsSetIconData;
-#define somMD_M_WPObject_wpclsSetIconData "::M_WPObject::wpclsSetIconData"
-#define M_WPObject_wpclsSetIconData(somSelf,pIconInfo) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsSetIconData) \
-	(somSelf,pIconInfo))
-#ifndef SOMGD_wpclsSetIconData
-    #if (defined(_wpclsSetIconData) || defined(__wpclsSetIconData))
-        #undef _wpclsSetIconData
-        #undef __wpclsSetIconData
-        #define SOMGD_wpclsSetIconData 1
-    #else
-        #define _wpclsSetIconData M_WPObject_wpclsSetIconData
-    #endif /* _wpclsSetIconData */
-#endif /* SOMGD_wpclsSetIconData */
-
-/*
- * New Method: wpclsSetIcon
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsSetIcon(M_WPObject *somSelf, 
-		HPOINTER hptrNewIcon);
-#pragma linkage(somTP_M_WPObject_wpclsSetIcon, system)
-typedef somTP_M_WPObject_wpclsSetIcon *somTD_M_WPObject_wpclsSetIcon;
-#define somMD_M_WPObject_wpclsSetIcon "::M_WPObject::wpclsSetIcon"
-#define M_WPObject_wpclsSetIcon(somSelf,hptrNewIcon) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsSetIcon) \
-	(somSelf,hptrNewIcon))
-#ifndef SOMGD_wpclsSetIcon
-    #if (defined(_wpclsSetIcon) || defined(__wpclsSetIcon))
-        #undef _wpclsSetIcon
-        #undef __wpclsSetIcon
-        #define SOMGD_wpclsSetIcon 1
-    #else
-        #define _wpclsSetIcon M_WPObject_wpclsSetIcon
-    #endif /* _wpclsSetIcon */
-#endif /* SOMGD_wpclsSetIcon */
-
-/*
- * New Method: wpclsObjectFromHandle
- */
-typedef WPObject*   SOMLINK somTP_M_WPObject_wpclsObjectFromHandle(M_WPObject *somSelf, 
-		HOBJECT hObject);
-#pragma linkage(somTP_M_WPObject_wpclsObjectFromHandle, system)
-typedef somTP_M_WPObject_wpclsObjectFromHandle *somTD_M_WPObject_wpclsObjectFromHandle;
-#define somMD_M_WPObject_wpclsObjectFromHandle "::M_WPObject::wpclsObjectFromHandle"
-#define M_WPObject_wpclsObjectFromHandle(somSelf,hObject) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsObjectFromHandle) \
-	(somSelf,hObject))
-#ifndef SOMGD_wpclsObjectFromHandle
-    #if (defined(_wpclsObjectFromHandle) || defined(__wpclsObjectFromHandle))
-        #undef _wpclsObjectFromHandle
-        #undef __wpclsObjectFromHandle
-        #define SOMGD_wpclsObjectFromHandle 1
-    #else
-        #define _wpclsObjectFromHandle M_WPObject_wpclsObjectFromHandle
-    #endif /* _wpclsObjectFromHandle */
-#endif /* SOMGD_wpclsObjectFromHandle */
-
-/*
- * New Method: wpclsRemoveObjects
- */
-typedef BOOL   SOMLINK somTP_M_WPObject_wpclsRemoveObjects(M_WPObject *somSelf, 
-		HWND hwndCnr, 
-		PVOID* pRecordArray, 
-		ULONG NumRecords, 
-		BOOL RemoveAll);
-#pragma linkage(somTP_M_WPObject_wpclsRemoveObjects, system)
-typedef somTP_M_WPObject_wpclsRemoveObjects *somTD_M_WPObject_wpclsRemoveObjects;
-#define somMD_M_WPObject_wpclsRemoveObjects "::M_WPObject::wpclsRemoveObjects"
-#define M_WPObject_wpclsRemoveObjects(somSelf,hwndCnr,pRecordArray,NumRecords,RemoveAll) \
-    (SOM_Resolve(somSelf, M_WPObject, wpclsRemoveObjects) \
-	(somSelf,hwndCnr,pRecordArray,NumRecords,RemoveAll))
-#ifndef SOMGD_wpclsRemoveObjects
-    #if (defined(_wpclsRemoveObjects) || defined(__wpclsRemoveObjects))
-        #undef _wpclsRemoveObjects
-        #undef __wpclsRemoveObjects
-        #define SOMGD_wpclsRemoveObjects 1
-    #else
-        #define _wpclsRemoveObjects M_WPObject_wpclsRemoveObjects
-    #endif /* _wpclsRemoveObjects */
-#endif /* SOMGD_wpclsRemoveObjects */
-#ifndef SOM_DONT_USE_INHERITED_MACROS
-#define M_WPObject__get_somDataAlignment SOMClass__get_somDataAlignment
-#define M_WPObject__get_somInstanceDataOffsets SOMClass__get_somInstanceDataOffsets
-#define M_WPObject__get_somDirectInitClasses SOMClass__get_somDirectInitClasses
-#define M_WPObject__set_somDirectInitClasses SOMClass__set_somDirectInitClasses
-#define M_WPObject_somNewNoInit SOMClass_somNewNoInit
-#define M_WPObject_somRenewNoInit SOMClass_somRenewNoInit
-#define M_WPObject_somRenewNoZero SOMClass_somRenewNoZero
-#define M_WPObject_somRenewNoInitNoZero SOMClass_somRenewNoInitNoZero
-#define M_WPObject_somAllocate SOMClass_somAllocate
-#define M_WPObject_somDeallocate SOMClass_somDeallocate
-#define M_WPObject__get_somClassAllocate SOMClass__get_somClassAllocate
-#define M_WPObject__get_somClassDeallocate SOMClass__get_somClassDeallocate
-#define M_WPObject_somGetInstanceInitMask SOMClass_somGetInstanceInitMask
-#define M_WPObject_somGetInstanceDestructionMask SOMClass_somGetInstanceDestructionMask
-#define M_WPObject_somGetInstanceAssignmentMask SOMClass_somGetInstanceAssignmentMask
-#define M_WPObject_somInitClass SOMClass_somInitClass
-#define M_WPObject_somInitMIClass SOMClass_somInitMIClass
-#define M_WPObject_somAddStaticMethod SOMClass_somAddStaticMethod
-#define M_WPObject_somAddDynamicMethod SOMClass_somAddDynamicMethod
-#define M_WPObject_somOverrideSMethod SOMClass_somOverrideSMethod
-#define M_WPObject_somGetApplyStub SOMClass_somGetApplyStub
-#define M_WPObject_somGetClassData SOMClass_somGetClassData
-#define M_WPObject_somSetClassData SOMClass_somSetClassData
-#define M_WPObject_somGetClassMtab SOMClass_somGetClassMtab
-#define M_WPObject_somGetInstanceOffset SOMClass_somGetInstanceOffset
-#define M_WPObject_somGetInstancePartSize SOMClass_somGetInstancePartSize
-#define M_WPObject_somGetInstanceSize SOMClass_somGetInstanceSize
-#define M_WPObject_somGetInstanceToken SOMClass_somGetInstanceToken
-#define M_WPObject_somGetMemberToken SOMClass_somGetMemberToken
-#define M_WPObject_somGetMethodData SOMClass_somGetMethodData
-#define M_WPObject_somGetRdStub SOMClass_somGetRdStub
-#define M_WPObject_somGetMethodDescriptor SOMClass_somGetMethodDescriptor
-#define M_WPObject_somGetMethodIndex SOMClass_somGetMethodIndex
-#define M_WPObject_somGetMethodToken SOMClass_somGetMethodToken
-#define M_WPObject_somGetName SOMClass_somGetName
-#define M_WPObject_somGetNthMethodData SOMClass_somGetNthMethodData
-#define M_WPObject_somGetNthMethodInfo SOMClass_somGetNthMethodInfo
-#define M_WPObject_somGetNumMethods SOMClass_somGetNumMethods
-#define M_WPObject_somGetNumStaticMethods SOMClass_somGetNumStaticMethods
-#define M_WPObject_somGetParent SOMClass_somGetParent
-#define M_WPObject_somGetParents SOMClass_somGetParents
-#define M_WPObject_somGetPClsMtab SOMClass_somGetPClsMtab
-#define M_WPObject_somGetPClsMtabs SOMClass_somGetPClsMtabs
-#define M_WPObject_somGetVersionNumbers SOMClass_somGetVersionNumbers
-#define M_WPObject_somSetMethodDescriptor SOMClass_somSetMethodDescriptor
-#define M_WPObject_somFindMethod SOMClass_somFindMethod
-#define M_WPObject_somFindMethodOk SOMClass_somFindMethodOk
-#define M_WPObject_somFindSMethod SOMClass_somFindSMethod
-#define M_WPObject_somFindSMethodOk SOMClass_somFindSMethodOk
-#define M_WPObject_somLookupMethod SOMClass_somLookupMethod
-#define M_WPObject_somCheckVersion SOMClass_somCheckVersion
-#define M_WPObject_somDescendedFrom SOMClass_somDescendedFrom
-#define M_WPObject_somSupportsMethod SOMClass_somSupportsMethod
-#define M_WPObject_somDefinedMethod SOMClass_somDefinedMethod
-#define M_WPObject_somOverrideMtab SOMClass_somOverrideMtab
-#define M_WPObject_somDefaultInit SOMObject_somDefaultInit
-#define M_WPObject_somDestruct SOMObject_somDestruct
-#define M_WPObject_somDefaultCopyInit SOMObject_somDefaultCopyInit
-#define M_WPObject_somDefaultAssign SOMObject_somDefaultAssign
-#define M_WPObject_somDefaultConstCopyInit SOMObject_somDefaultConstCopyInit
-#define M_WPObject_somDefaultVCopyInit SOMObject_somDefaultVCopyInit
-#define M_WPObject_somDefaultConstVCopyInit SOMObject_somDefaultConstVCopyInit
-#define M_WPObject_somDefaultConstAssign SOMObject_somDefaultConstAssign
-#define M_WPObject_somDefaultVAssign SOMObject_somDefaultVAssign
-#define M_WPObject_somDefaultConstVAssign SOMObject_somDefaultConstVAssign
-#define M_WPObject_somInit SOMObject_somInit
-#define M_WPObject_somFree SOMObject_somFree
-#define M_WPObject_somGetClass SOMObject_somGetClass
-#define M_WPObject_somGetClassName SOMObject_somGetClassName
-#define M_WPObject_somGetSize SOMObject_somGetSize
-#define M_WPObject_somIsA SOMObject_somIsA
-#define M_WPObject_somIsInstanceOf SOMObject_somIsInstanceOf
-#define M_WPObject_somRespondsTo SOMObject_somRespondsTo
-#define M_WPObject_somDispatch SOMObject_somDispatch
-#define M_WPObject_somClassDispatch SOMObject_somClassDispatch
-#define M_WPObject_somCastObj SOMObject_somCastObj
-#define M_WPObject_somResetObj SOMObject_somResetObj
-#define M_WPObject_somDispatchV SOMObject_somDispatchV
-#define M_WPObject_somDispatchL SOMObject_somDispatchL
-#define M_WPObject_somDispatchA SOMObject_somDispatchA
-#define M_WPObject_somDispatchD SOMObject_somDispatchD
-#define M_WPObject_somPrintSelf SOMObject_somPrintSelf
-#define M_WPObject_somDumpSelf SOMObject_somDumpSelf
-#define M_WPObject_somDumpSelfInt SOMObject_somDumpSelfInt
-#endif /* SOM_DONT_USE_INHERITED_MACROS */
-
-#endif       /* SOM_M_WPObject_h */
Index: trunk/classes/mm-progs/mmfind/___create_mmprog_def.CMD
===================================================================
--- trunk/classes/mm-progs/mmfind/___create_mmprog_def.CMD	(revision 93)
+++ 	(revision )
@@ -1,196 +1,0 @@
-/*                                                         */
-/* Create DEF file for a MM helper program from a template */
-/*                                                         */
-/*         (c) Chris Wohlgemuth 2005                       */
-/*                                                         */
-
-call RxFuncAdd 'SysLoadFuncs', 'RexxUtil', 'SysLoadFuncs'
-call SysLoadFuncs
-
-DEBUG=0
-
-
-deffile=ARG(1)
-if ARG(1)="" then deffile="tst.def"
-
-/* License file to be added to the DEF file */
-licenseFile=DIRECTORY()||'\'||license.txt
-
-/* Template file */
-templateFile=ARG(2)
-IF arg(2)="" THEN
-	templateFile=DIRECTORY()||'\'||def.tpl
-
-/* Get the version of the classes */
-theVersion=VALUE("MMCLSVERSION", ,"OS2ENVIRONMENT")
-if theVersion="" THEN theVersion="0.0.0"
-
-/* The stem holding all the information we get from the template file */
-fileData.=''
-
-
-call getTemplateData templateFile
-/* Index */
-call assignTemplateVars
-
-IF DEBUG=1 THEN DO
-	DO a=1 to filedata.0
-		SAY fileData.a.sectionname":"
-		SAY fileData.a
-	END
-END
-
-/* Specify save defaults */
-IF fileData.buildmachine="" THEN
-	fileData.buildmachine="Default"
-fileData.buildmachine.desc="Build machine: "
-
-IF fileData.author="" THEN
-	fileData.author="                      "
-fileData.author.desc="Author: "
-IF fileData.name='' THEN
-	fileData.name=""
-
-IF DEBUG=1 THEN DO
-	SAY ""
-	SAY "License file: "||licensefile
-	SAY "DEF-file: "||deffile
-	SAY "Version: "||theversion
-	SAY "Template data: "
-	DO a=1 to fileData.0
-		SAY " "||fileData.a.desc||": "||fileData.a
-	END
-END
-
-'@type NUL > 'deffile
-
-/* Write header */
-call lineout deffile, ';'
-call lineout deffile, '; '||WORD(fileData.name,2)||": "fileData.description
-call lineout deffile, ';'
-
-/* Write copyright */
-call lineout deffile, ';'
-IF fileData.copyright><"" THEN
-	call lineout deffile, ';    '||fileData.copyright||"-"WORD(DATE(),3)
-ELSE
-	call lineout deffile, ';    '||fileData.author||" "WORD(DATE(),3)
-call lineout deffile, ';'
-/* Write creation date */
-call lineout deffile, ';'
-call lineout deffile, '; Created '||DATE()||" "||TIME()
-call lineout deffile, ';'
-
-/* Write license */
-DO WHILE LINES(licenseFile)
-	theLine=LINEIN(licenseFile)
-        IF LENGTH(theLine) >0 THEN DO
-		IF substr(theLine,1,1) >< ';' THEN
-			theLine=';'||theLine
-	END
-	ELSE
-	   theLine=theLine||';'
-	call LINEOUT deffile, theLine
-END
-call stream licenseFile, "C", "close"
-
-/* Now write the NAME data */
-call lineout deffile, fileData.name
-
-/* Description with bldlevel info */
-timeData=OVERLAY(DATE("E")||" "||TIME("N"), "                       ")
-versionData=OVERLAY( LEFT(theVersion,3),"           ")
-def="DESCRIPTION '$@#"||fileData.author||" "
-def=def||WORD(DATE(),3)||":"||versionData||"#@##1## "||timeData
-def=def||"  "||SUBSTR(fileData.buildmachine,1,11)||"::::"||WORD(TRANSLATE(theVersion," ", "."),3)
-def=def||"::@@"||fileData.description||" V"||theVersion||"'"
-call lineout deffile, def
-
-/* Additional info we may have */
-call  lineout deffile, fileData.other
-
-call stream deffile, "C", "close"
-
-SAY "New DEF file created for V"||theVersion||"."
-exit
-
-/************************************************************/
-/* Assign the symbols specified by the sections list the position value
-   they have in the list of sections. By doing this the symbols may be used
-   as indexes in the filedata. stem*/
-assignTemplateVars: procedure expose (fileData.sections)
-	DO a=1 to WORDS(fileData.sections)
-		call VALUE WORD(fileData.sections,a),a
-	END
-return
-
-/************ Parse the template file ***********************/
-getTemplateData: procedure expose fileData.
-	theFile=arg(1)
-
-	fileData.=''
-	fileContents.=''
-
-	fileContents.0=0
-	/* Read in the file for easier processing */
-	DO WHILE LINES(theFile)
-		fileContents.0=fileContents.0+1
-		b=fileContents.0
-		fileContents.b=LINEIN(theFile)
-	END
-	call stream theFile, "C", "close"
-
-	DO b=1 to fileContents.0
-		theLine=fileContents.b
-		fileContents.current=b
-		section = Strip(Translate(word(theline,1)))
-		select
-	    		when (Left(section,1) = '#') | section = '' then
-			do
-			/* Jump comments and empty lines */
-			end;
-		WHEN LEFT(section,1)="[" THEN DO
-			call parseSection
-			b=fileContents.current
-		END
-		OTHERWISE
-			nop			
-		END
-
-	END
-	fileData.0=WORDS(fileData.sections)
-	DROP fileContents.
-return
-
-parseSection: procedure expose fileData. fileContents.
-	b=fileContents.current
-	/* Add this section to the list of sections */
-	filedata.sections=filedata.sections||" "||SPACE(TRANSLATE(fileContents.b, "  ", "[]"))
-	index=WORDS(fileData.sections)
-	fileData.index=""
-	fileData.index.sectionname=SPACE(TRANSLATE(fileContents.b, "  ", "[]"))
-	/* Parse this section */
-	b=b+1
-	DO a=b to fileContents.0
-		theLine=fileContents.a
-		fileContents.current=a
-		section = Strip(Translate(word(theline,1)))
-		select
-	    		when (Left(section,1) = '#') | section = '' then
-			do
-			/* Jump comments and empty lines */
-			end;
-		WHEN LEFT(section,1)="[" THEN DO
-			/* New section jump back after correcting the index */
-			fileContents.current=fileContents.current-1
-			return
-		END
-		OTHERWISE
-			IF fileData.index <>"" THEN fileData.index=fileData.index||'0d'x||'0a'x
-			fileData.index=fileData.index||theLine			
-		END
-
-	END
-
-return
-/***********************************************/
Index: trunk/classes/mm-progs/mmfind/_mmfind.DEF
===================================================================
--- trunk/classes/mm-progs/mmfind/_mmfind.DEF	(revision 93)
+++ 	(revision )
@@ -1,31 +1,0 @@
-; DEF-file for mmfind.exe. This is a PM program to 
-; search any MM file.
-;
-;                    (C) Chris Wohlgemuth 2004
-
-;/*
-; * This program is free software; you can redistribute it and/or modify
-; * it under the terms of the GNU General Public License as published by
-; * the Free Software Foundation; either version 2, or (at your option)
-; * any later version.
-; *
-; * This program is distributed in the hope that it will be useful,
-; * but WITHOUT ANY WARRANTY; without even the implied warranty of
-; * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-; * GNU General Public License for more details.
-; *
-; * You should have received a copy of the GNU General Public License
-; * along with this program; see the file COPYING.  If not, write to
-; * the Free Software Foundation, 675 Mass Ave, Cambridge, MA 02139, USA.
-; */
-;/*
-; * If you need another license for your project/product contact me at
-; * 
-; * http://www.os2world.com/cdwriting
-; * http://www.geocities.com/SiliconValley/Sector/5785/
-; */
-NAME MMFIND WINDOWAPI
-DESCRIPTION '$@#(c) Chris Wohlgemuth :V0.2.8 (17.08.2003)#@PM-Program for MM file searching'
-STACKSIZE    1638400
-
-
