home *** CD-ROM | disk | FTP | other *** search
/ Black Box 4 / BlackBox.cdr / os2 / os2tip.arj / OS2TIPS.INF (.txt)
Encoding:
OS/2 Help File  |  1991-05-21  |  313.4 KB  |  15,885 lines

  1.  
  2. ΓòÉΓòÉΓòÉ 1. PREFACE ΓòÉΓòÉΓòÉ
  3.  
  4. "Tips & Techniques" is an IPF document which contains information and "How 
  5. To's" on each of the following components: 
  6.  
  7.  Compilers/Languages/Toolkit 
  8.  Communications Manager 
  9.  Database Manager 
  10.  Lan Manager 
  11.  OS/2 Base Operating System 
  12.  Presentation Manager 
  13.  
  14.  The purpose of this product is to provide developers and system coordinators 
  15.  with information on OS/2 that is not readily available. It is geared for 
  16.  application development and/or system usage. 
  17.  
  18.  This product is intended for the end-user, mainly a technically oriented 
  19.  person, not necessarily a programmer.  The information for the Tips have come 
  20.  from Support and the IBMPC Forums.  Each tip has been verified here in Austin. 
  21.  
  22.   DISCLOSURE 
  23.  
  24.  Any comments or suggestions may be directed to: 
  25.  
  26.  Michell H. Pettes     PETTES @ AUSVM1, 
  27.  M. Kathleen O'Reilly   SC25545 @ AUSVM2, or 
  28.  L. Jim Akers       LJAKERS @ AUSVM1 
  29.  
  30.  IBM may use or distribute whatever information you supply in any way it 
  31.  believes appropriate without incurring any obligation to you. 
  32.  
  33.   How To View Tips 
  34.  
  35.  
  36. ΓòÉΓòÉΓòÉ <hidden> DISCLOSURE ΓòÉΓòÉΓòÉ
  37.  
  38. The information contained in this document has not been submitted to any formal 
  39. IBM test and is distributed on an "As Is" basis without any warranty either 
  40. expressed or implied.  The use of this information or the implementation of any 
  41. of these techniques is a customer responsibility and depends on the customer's 
  42. ability to evaluate and integrate them into the customer's operational 
  43. environment.  While each item may have been reviewed by IBM for accuracy in a 
  44. specific situation, there is no guarantee that the same or similar results will 
  45. be obtained elsewhere.  Customers attempting to adapt these techniques to their 
  46. own environment do so at their own risk. 
  47.  
  48.  
  49. ΓòÉΓòÉΓòÉ <hidden> How To View Tips ΓòÉΓòÉΓòÉ
  50.  
  51. The tips are categorized by component and category. 
  52.  
  53. For Example:  If you want to view tips concerning OS/2 Base System Install: 
  54.  
  55.  o Click on the [+] symbol to the left of the "OS/2 BASE SYSTEM" component 
  56.    heading to receive a list of category headings. 
  57.  
  58.  o Click on the [+] symbol to the left of the "INSTALL/REINSTALL" category 
  59.    heading to receive a list of tip description headings. 
  60.  
  61.  o Select a tip description heading of interest to view the tip. 
  62.  
  63.  
  64. ΓòÉΓòÉΓòÉ 2. COMPILERS/LANGUAGES/TOOLKIT ΓòÉΓòÉΓòÉ
  65.  
  66. C/2 
  67.  
  68.  
  69. ΓòÉΓòÉΓòÉ 2.1. C/2 ΓòÉΓòÉΓòÉ
  70.  
  71.  
  72. ΓòÉΓòÉΓòÉ 2.1.1. Compile/Link Options to Improve Performance. ΓòÉΓòÉΓòÉ
  73.  
  74.  TIP# 0000                          ENTERED BY: Tyger, Karen 
  75.  FILENAME: CLTZ0000.IPF             SOURCE: 
  76.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  77.  TIME: 12:58pm                      CSD LEVEL: GA 
  78.  
  79.  When compiling a C/2 program, using this option might improve performance: 
  80.  
  81.       cc   /Oalt 
  82.  
  83.  This parameter has a format of "/Ostring".  Where the string can contain nine 
  84.  different optimization procedures. The string specified below is "alt".  The 
  85.  meanings of the letters contained in the string  are: 
  86.  
  87.  Letter         Optimization Procedure 
  88.  a              Cancels all alias checking 
  89.  l              Enables loop optimization 
  90.  t              Favors run time during optimization 
  91.  
  92.  Please refer to the IBM C/2 Version 1.10 Compile, Link, and Run publication 
  93.  page 2-40 and 2-55. 
  94.  
  95.  When linking a C/2 application, using these options might improve performance: 
  96.  
  97.       link /ALIGN:16 /PACKDATA /FAR 
  98.  
  99.  The meanings of the parameters are: 
  100.  
  101.  Option              Meaning 
  102.  /ALIGN:16           Align segments on 16 byte boundaries 
  103.  /PACKDATA           Pack neighboring logical data segments into one physical 
  104.                      segment 
  105.  /FAR                Optimize intrasegment far calls. ** 
  106.  
  107.  **This option will yield significant savings in medium and large model 
  108.  programs. However, it is possible that the optimizer will mistake a byte with 
  109.  a value of 0x9a as a far-call when, in fact, it is an assembled constant.  Be 
  110.  cautious when using this option.  See page 3-24 of Compile, Link, and Run 
  111.  publication. 
  112.  
  113.  Again refer to the appropriate pages in Chapter 3 of the IBM C/2 Compile, 
  114.  Link, and Run publication. 
  115.  
  116.  Please note that every application is different and these options should be 
  117.  taken as a suggestion only.  It is highly recommended to measure the 
  118.  performance of your application both before and after modifying your 
  119.  compile/link options. Then, based on that information, choose the best options 
  120.  to fit your performance requirements. REXX/2 
  121.  
  122.  
  123. ΓòÉΓòÉΓòÉ 2.2. REXX/2 ΓòÉΓòÉΓòÉ
  124.  
  125.  
  126. ΓòÉΓòÉΓòÉ 2.2.1. Checking for a Directory IN REXX ΓòÉΓòÉΓòÉ
  127.  
  128.  TIP# 0000                          ENTERED BY: O'Reilly, Kathleen M. 
  129.  FILENAME: CLTX0000.IPF             SOURCE: OS2 FORUMS 
  130.  DATE: 02/15/91                     RELEASE LEVEL: 1.2+ 
  131.  TIME: 1:18pm                       CSD LEVEL: GA 
  132.  
  133.   If you would like to check for the existence of a directory in REXX, there is 
  134.  a way.  The following code segment will take a directory name as an argument 
  135.  and say whether it was found or not: 
  136.  
  137.   /* Program to Check for a Directory */
  138.   '@ECHO OFF'
  139.   /* First Read Args into New_Dir Variable */
  140.   New_Dir = Arg(1)
  141.   /* Use SETLOCAL because Directory will change the Current Directory */
  142.   call setlocal
  143.   Newdir=directory(New_Dir)
  144.   If Newdir = New_Dir Then Do
  145.           say 'Found Directory '||New_Dir
  146.   /* Use ENDLOCAL to Restore Back to Previous Directory */
  147.   /* In 1.2 GA, ENDLOCAL will NOT restore back to previous */
  148.   /* directory; must set it back explicitly */
  149.   call endlocal
  150.   End
  151.   Else
  152.           say 'Not Found'
  153.  
  154.  
  155. ΓòÉΓòÉΓòÉ 2.2.2. Checking/Setting ENV Variables in REXX ΓòÉΓòÉΓòÉ
  156.  
  157.  TIP# 0001                          ENTERED BY: O'Reilly, Kathleen M. 
  158.  FILENAME: CLTX0001.IPF             SOURCE: OS2 FORUMS 
  159.  DATE: 02/15/91                     RELEASE LEVEL: 1.2+ 
  160.  TIME: 2:01pm                       CSD LEVEL: GA 
  161.  
  162.   There is a way to check and/or set the values of environmental variables 
  163.  (i.e. PATH, LIB, INCLUDE ) in REXX. The following code sample will first set 
  164.  an environment  variable, and then read back the new setting. 
  165.  
  166.   /* PROGRAM TO CHECK WHAT ENVIRONMENTAL VARIABLES ARE */
  167.   /* AM GOING TO SET THE VARIABLE FOOVAR TO THE VALUE IN NEWVAL */
  168.   NEWVAL = "C:\JUNK\STUFF;"
  169.   ENVNAME="FOOVAR"
  170.   /* FIRST SET FOOVAR=C:\JUNK\STUFF */
  171.   X = VALUE( ENVNAME,NEWVAL,"OS2ENVIRONMENT")
  172.   SAY 'HAVE SET THE VARIABLE FOOVAR '
  173.   /* NOW GET THE ENVIRONMENT VARIABLE FOOVAR */
  174.   X = VALUE( ENVNAME,,"OS2ENVIRONMENT")
  175.   SAY 'ENVIRONMENT VARIABLE FOOVAR = '|| X
  176.  
  177.  
  178. ΓòÉΓòÉΓòÉ 2.2.3. Changing Colors in REXX ΓòÉΓòÉΓòÉ
  179.  
  180.  TIP# 0002                          ENTERED BY: O'Reilly, Kathleen M. 
  181.  FILENAME: CLTX0002.IPF             SOURCE: OS2 FORUMS 
  182.  DATE: 02/19/91                     RELEASE LEVEL: 1.2+ 
  183.  TIME: 1:24pm                       CSD LEVEL: GA 
  184.  
  185.   If you would like to change the screen colors or the color of the text when 
  186.  executing a REXX program, you can use the ANSI color sequences to do it: 
  187.  
  188.   /* PROGRAM TO DISPLAY TEXT WITH COLOR ATTRIBUTES */
  189.  
  190.   /* the following are the ANSI ESC sequences for screen colors */
  191.  
  192.   ESC = '1B'x
  193.   C.NORMAL    = ESC || '[10m'
  194.   /* these are to set foreground colors */
  195.   C.FBLACK    = ESC || '[30m'
  196.   C.FRED      = ESC || '[31m'
  197.   C.FGREEN    = ESC || '[32m'
  198.   C.FCYAN     = ESC || '[36m'
  199.   C.FYELLOW   = ESC || '[33m'
  200.   C.FBLUE     = ESC || '[34m'
  201.   C.FMAGENTA  = ESC || '[35m'
  202.   C.FWHITE    = ESC || '[37m'
  203.   /* these are to set background colors */
  204.   C.BBLACK    = ESC || '[40m'
  205.   C.BRED      = ESC || '[41m'
  206.   C.BGREEN    = ESC || '[42m'
  207.   C.BCYAN     = ESC || '[46m'
  208.   C.BYELLOW   = ESC || '[43m'
  209.   C.BBLUE     = ESC || '[44m'
  210.   C.BMAGENTA  = ESC || '[45m'
  211.   C.BWHITE    = ESC || '[47m'
  212.   C.BWHITE    = ESC || '[47m'
  213.  
  214.   SAY C.FRED
  215.   SAY 'TO SET TO RED FOREGROUND USE:     1Bx [31m'
  216.   SAY C.FGREEN
  217.   SAY 'TO SET TO GREEN FOREGROUND USE:   1Bx [32m'
  218.   SAY C.BYELLOW
  219.   SAY 'TO SET TO YELLOW BACKGROUND USE:  1Bx [43m'
  220.   SAY C.FWHITE
  221.   SAY C.BBLACK
  222.   SAY 'AND THEN SET BACK TO NORMAL :     1Bx [37m 1Bx [40m'
  223.   EXIT
  224.  
  225.  
  226. ΓòÉΓòÉΓòÉ 2.2.4. REXX Tokenization ΓòÉΓòÉΓòÉ
  227.  
  228.  TIP# 0003                          ENTERED BY: O'Reilly, Kathleen M. 
  229.  FILENAME: CLTX0003.IPF             SOURCE: OS2 FORUMS 
  230.  DATE: 02/19/91                     RELEASE LEVEL: 1.2+ 
  231.  TIME: 2:51pm                       CSD LEVEL: GA 
  232.  
  233.   The first time a REXX program is run,  a token is created and stored in the 
  234.  extended attributes of the file.  If you would like to specify that the REXX 
  235.  interpreter create a token,  you can specify the //t option when entering the 
  236.  REXX .cmd file to run.  Because an extended attribute is limited to 64K,  it 
  237.  is advisable to break up your program into smaller files,  otherwise your 
  238.  program will be tokenized every time,  and will run very slow. TOOLKIT 
  239.  
  240.  
  241. ΓòÉΓòÉΓòÉ 2.3. TOOLKIT ΓòÉΓòÉΓòÉ
  242.  
  243.  
  244. ΓòÉΓòÉΓòÉ 2.3.1. IPFC to Create .INF Files ΓòÉΓòÉΓòÉ
  245.  
  246.  TIP# 0000                          ENTERED BY: O'Reilly, Kathleen M. 
  247.  FILENAME: CLTT0000.IPF             SOURCE: OS2 FORUMS 
  248.  DATE: 02/13/91                     RELEASE LEVEL: 1.2+ 
  249.  TIME: 10:27am                      CSD LEVEL: GA 
  250.  
  251.   IPFC (Information Presentation Facility Compiler) in the Toolkit contains an 
  252.  undocumented switch, /INF, that will convert .IPF files to .INF files which 
  253.  are viewable by the program VIEW.EXE, which is shipped with OS\2. This format 
  254.  is the same format as the On-line Command References. 
  255.  
  256.  
  257. ΓòÉΓòÉΓòÉ 2.3.2. API to List all Running Sessions ΓòÉΓòÉΓòÉ
  258.  
  259.  TIP# 0001                          ENTERED BY: O'Reilly, Kathleen M. 
  260.  FILENAME: CLTT0001.IPF             SOURCE: OS2 FORUMS 
  261.  DATE: 02/15/91                     RELEASE LEVEL: 1.1+ 
  262.  TIME: 4:11pm                       CSD LEVEL: GA 
  263.  
  264.   There is an newly documented function in 1.2 called WinQuerySwitchList() 
  265.  which will return a structure that contains a list of all currently running 
  266.  sessions.  The function existed in 1.1; however, the parameters have changed. 
  267.  The structure and sample code to list all currently running sessions is listed below:
  268.  
  269.   Prototypes: 
  270.  
  271.   OS/2 1.1:  USHORT WinQuerySwitchList(PSWBLOCK SwitchBlock,
  272.              USHORT sizeofSwitchBlock);
  273.   OS/2 1.2:  USHORT WinQuerySwitchList(HAB AnchorBlock,
  274.              PSWBLOCK SwitchBlock, USHORT sizeofSwitchBlock);
  275.  
  276.  SWBLOCK Structure: 
  277.  
  278.   typedef struct _SWCNTRL {     /* swctl              */
  279.       HWND     hwnd;            /* window handle      */
  280.       HWND     hwndIcon;        /* window handle icon */
  281.       HPROGRAM hprog;           /* program handle     */
  282.       USHORT   idProcess;       /* process id         */
  283.       USHORT   idSession;       /* session id         */
  284.       UCHAR    uchVisibility;   /* visiblity          */
  285.       UCHAR    fbJump;          /* jump indicator     */
  286.       CHAR     szSwtitle[MAXNAMEL+1];  /* program title */
  287.       BYTE     fReserved;       /* To align on word boundary */
  288.   } SWCNTRL;
  289.   typedef SWCNTRL FAR *PSWCNTRL;
  290.  
  291.   typedef struct _SWENTRY {      /* swent */
  292.       HSWITCH hswitch;           /* Switch list entry handle */
  293.       SWCNTRL swctl;             /* Switch list control block structure */
  294.   } SWENTRY;
  295.   typedef SWENTRY FAR *PSWENTRY;
  296.  
  297.   typedef struct _SWBLOCK {       /* swblk */
  298.       USHORT   cswentry;          /* Count of switch list entries */
  299.       SWENTRY aswentry[48];       /* Switch list entries, 1 for each entry */
  300.                                   /* specify 48 in WinQuerySwitchList()
  301.                                      for safety, 48 is max sessions
  302.                                      allowed */
  303.   } SWBLOCK;
  304.   typedef SWBLOCK FAR *PSWBLOCK;
  305.  
  306.  Program to list all running sessions: 
  307.  
  308.   #define INCL_WIN
  309.   #define INCL_WINSWITCHLIST
  310.  
  311.   #include <os2.h>
  312.   #include <stdio.h>
  313.   #include <string.h>
  314.  
  315.   // this structure is documented in the Programmers Reference:
  316.   //     C/2 Bindings
  317.  
  318.   typedef struct _SWB {
  319.      USHORT cswentry;
  320.      SWENTRY aswentry[48]; // 48 is max number of sessions
  321.   } SWB;
  322.   SWB SwitchBlock;
  323.  
  324.   void main(void );
  325.  
  326.   void main(void )
  327.   {
  328.  
  329.      USHORT usCount;         // number of items in list
  330.      USHORT i;               // counter
  331.  
  332.      // this is the call to get the entries in the SwitchList
  333.      //(Task List )
  334.      usCount = WinQuerySwitchList( (HAB)0, (PSWBLOCK)&SwitchBlock,
  335.         sizeof( SwitchBlock));
  336.      // print them out with Session ID and titles
  337.      for (i=0;i < usCount ;i++ ) {
  338.         printf("\nItem #%2d  Session ID: %4d  Title: %s",
  339.            i,
  340.            SwitchBlock.aswentry[i].swctl.idSession,
  341.            SwitchBlock.aswentry[i].swctl.szSwtitle );
  342.      } /* endfor */
  343.      return;
  344.  
  345.   }
  346.  
  347.  
  348. ΓòÉΓòÉΓòÉ 2.3.3. Error in RC: EXEC of RCPP failed: ΓòÉΓòÉΓòÉ
  349.  
  350.  TIP# 0002                          ENTERED BY: O'Reilly, Kathleen M. 
  351.  FILENAME: CLTT0002.IPF             SOURCE: OS2 FORUMS 
  352.  DATE: 02/15/91                     RELEASE LEVEL: 1.2+ 
  353.  TIME: 4:14pm                       CSD LEVEL: GA 
  354.  
  355.   When using the Resource Compiler (RC.EXE) you may receive the following error:
  356.  
  357.     EXEC of RCPP failed: Invalid argument 
  358.  
  359.  Check to may sure that the directory that contains the Resource Compiler is 
  360.  contained within the first 80 characters of your PATH statement. 
  361.  
  362.  
  363. ΓòÉΓòÉΓòÉ 2.3.4. 1.2/1.3 Toolkit Compatibility ΓòÉΓòÉΓòÉ
  364.  
  365.  TIP# 0003                          ENTERED BY: O'Reilly, Kathleen M. 
  366.  FILENAME: CLTT0003.IPF             SOURCE: OS2 FORUMS 
  367.  DATE: 02/18/91                     RELEASE LEVEL: 1.2 
  368.  TIME: 2:59pm                       CSD LEVEL: GA 
  369.  
  370.   If you have an application that will be running on both OS/2 1.2 and 1.3, it 
  371.  is best if you stick with the 1.2 Toolkit.  You are likely to run into 
  372.  problems with an application compiled on 1.3's toolkit, running under 1.2.
  373.  
  374.   If you use the 1.3 toolkit to build a PM application the likelihood is that 
  375.  it will not run on 1.2 even if you do not use the new API calls available on 1.3.
  376.  
  377.   At least one reason for this is that within OS2.LIB the Help Manager API 
  378.  calls now point at PMWIN.DLL and not HELPMGR.DLL as in 1.2.  PMWIN.DLL now 
  379.  contains entry points for all the Help Manager API calls.  The 1.2 PMWIN.DLL 
  380.  does not contain these entries.
  381.  
  382.   PMWIN passes the calls to the real code which is still in HELPMGR.DLL. The 
  383.  reason for this change is one of performance.  Having a link to HELPMGR.DLL 
  384.  causes HELPMGR.DLL to be loaded when your application is loaded.  This 
  385.  increases load/startup time and working set by a significant amount.  Adding 
  386.  the indirection means it is easy to write an application which only 
  387.  links/loads to HELPMGR.DLL when the user requests help.  The down side is that 
  388.  applications linked in this way will not work with 1.2.
  389.  
  390.   There may be other changes that also cause 1.3 linked applications to not 
  391.  work on 1.2.  One simple change that could preserve backwards compatibility is 
  392.  to preserve the 1.2 version of OS2.LIB.  Applications that link successfully 
  393.  should then continue to run on 1.2.  However it should be obvious that if you 
  394.  do this you will not be able to use any of the new API available with 1.3.
  395.  
  396.  
  397. ΓòÉΓòÉΓòÉ 2.3.5. Multiple Selections in a Listbox ΓòÉΓòÉΓòÉ
  398.  
  399.  TIP# 0004                          ENTERED BY: O'Reilly, Kathleen M. 
  400.  FILENAME: CLTT0004.IPF             SOURCE: OS2 FORUMS 
  401.  DATE: 03/04/91                     RELEASE LEVEL: 1.2 
  402.  TIME: 12:43pm                      CSD LEVEL: GA 
  403.  
  404.  MODIFIED BY: O'Reilly, Kathleen M.                DATE: 03/08/91  TIME: 3:07pm 
  405.  
  406.   In order to allow multiple selections from a listbox,  there are 2 things to 
  407.  consider: 
  408.  
  409.   1. In the .RC file, make sure to include LS_MULTIPLESEL in listbox component. 
  410.   2.  In order to get selections,  use something similar to the following : 
  411.  
  412.       /* send a message to the listbox to get the selection index */
  413.       /* index will equal LIT_NONE when no selections are left    */
  414.       /* index is corresponds to the order items were inserted in */
  415.       /* listbox.  */
  416.        case DID_OK:
  417.            index = SHORT1FROMMR( WinSendDlgItemMsg( hwnd, LISTBOX,
  418.               LM_QUERYSELECTION, MPFROMSHORT(LIT_FIRST), 0L ));
  419.            while (index != LIT_NONE){
  420.               ProcessIndex(index);
  421.               index = SHORT1FROMMR( WinSendDlgItemMsg( hwnd, LISTBOX,
  422.                   LM_QUERYSELECTION, MPFROMSHORT(index), 0L));
  423.            }   /* end while */
  424.  
  425.        break;
  426.  
  427.    where:
  428.        LISTBOX = Resource ID of Listbox component
  429.        ProcessIndex() = user defined function
  430.  
  431.  
  432. ΓòÉΓòÉΓòÉ 2.3.6. HORIZONTAL SCROLLING IN LISTBOX ΓòÉΓòÉΓòÉ
  433.  
  434.  TIP# 0005                          ENTERED BY: O'Reilly, Kathleen M. 
  435.  FILENAME: CLTT0005.IPF             SOURCE: OS2 FORUMS 
  436.  DATE: 03/04/91                     RELEASE LEVEL: 1.1+ 
  437.  TIME: 2:52pm                       CSD LEVEL: GA 
  438.  
  439.   If you would like to have a listbox that is scrollable horizontally, there 
  440.  are two steps to follow: 
  441.  
  442.   1. In the .RC file specify LS_HORZSCROLL  for the listbox component 
  443.   2. In order to process the scrolling, PM must know the size of the text; so, 
  444.      insert the following code in your ListBoxProc(): 
  445.  
  446.      case WM_MEASUREITEM:
  447.         /* first get the presentation space                       */
  448.         hps = WinGetPS( hwnd);
  449.         /* next get the coordinate rectangle surrounding the text */
  450.         GpiQueryTextBox( hps, strlen(string), string, TXTBOX_COUNT,
  451.             pointl );
  452.         /* the difference between the two x's is the width        */
  453.         x = pointl[TXTBOX_TOPRIGHT].x - pointl[TXTBOX_TOPLEFT].x;
  454.         /* the difference between the two y's is the height       */
  455.         y = pointl[TXTBOX_TOPRIGHT].y - pointl[TXTBOX_BOTTOMRIGHT].y;
  456.         /* return the height and width                            */
  457.         return  MPFROM2SHORT(x,y);
  458.  
  459.   where:
  460.  
  461.      POINTL pointl[5];
  462.       /* TXTBOX_COUNT == 5L, so allocate 5 structures */
  463.      static CHAR *string = "THIS IS THE LONGEST ITEM IN THE LISTBOX";
  464.  
  465.  
  466. ΓòÉΓòÉΓòÉ 2.3.7. Functions Which Require a Msg Queue ΓòÉΓòÉΓòÉ
  467.  
  468.  TIP# 0006                          ENTERED BY: O'Reilly, Kathleen M. 
  469.  FILENAME: CLTT0006.IPF             SOURCE: OS2 Forums 
  470.  DATE: 03/06/91                     RELEASE LEVEL: 1.2+ 
  471.  TIME: 5:14pm                       CSD LEVEL: GA 
  472.  
  473.   The following is a list of functions in which the existance of a message 
  474.  queue is required.  The documentation for the toolkit is wrong in some 
  475.  instances. 
  476.  
  477.  WinAssociateHelpInstance                WinBeginEnumWindows 
  478.  WinBeginPaint                           WinCalcFrameRect 
  479.  WinCallMsgFilter                        WinCancelShutdown 
  480.  WinCatch                                WinCloseClipbrd 
  481.  WinCopyAccelTable                       WinCreateAccelTable 
  482.  WinCreateCursor                         WinCreateDlg 
  483.  WinCreateFrameControls                  WinCreateMenu 
  484.  WinCreatePointer                        WinCreatePointerIndirect 
  485.  WinCreateStdWindow                      WinCreateWindow 
  486.  WinDdeInitiate                          WinDdePostMsg 
  487.  WinDdeRespond                           WinDefDlgProc 
  488.  WinDefWindowProc                        WinDeleteLibrary 
  489.  WinDeleteProcedure                      WinDestroyAccelTable 
  490.  WinDestroyCursor                        WinDestroyMsgQueue 
  491.  WinDestroyPointer                       WinDestroyWindow 
  492.  WinDismissDlg                           WinDispatchMsg 
  493.  WinDlgBox                               WinDrawBorder 
  494.  WinEmptyClipbrd                         WinEnablePhysInput 
  495.  WinEnableWindow                         WinEnableWindowUpdate 
  496.  WinEndEnumWindows                       WinEndPaint 
  497.  WinEnumClipbrdFmts                      WinEnumDlgItem 
  498.  WinExcludeUpdateRegion                  WinFlashWindow 
  499.  WinFocusChange                          WinGetClipPS 
  500.  WinGetDlgMsg                            WinGetKeyState 
  501.  WinGetMinPosition                       WinGetMsg 
  502.  WinGetNextWindow                        WinGetPhysKeyState 
  503.  WinGetPS                                WinGetScreenPS 
  504.  WinInSendMsg                            WinInstStartApp 
  505.  WinInvalidateRect                       WinInvalidateRegion 
  506.  WinIsChild                              WinIsThreadActive 
  507.  WinIsWindowEnabled                      WinIsWindowShowing 
  508.  WinIsWindowVisible                      WinLoadAccelTable 
  509.  WinLoadDlg                              WinLoadLibrary 
  510.  WinLoadMenu                             WinLoadProcedure 
  511.  WinLockVisRegions                       WinLockWindow 
  512.  WinLockWindowUpdate                     WinMapDlgPoints 
  513.  WinMapWindowPoints                      WinMessageBox 
  514.  WinMsgMuxSemWait                        WinMsgSemWait 
  515.  WinMultWindowFromIDs                    WinOpenClipbrd 
  516.  WinOpenWindowDC                         WinPeekMsg 
  517.  WinProcessDlg                           WinQueryAccelTable 
  518.  WinQueryActiveWindow                    WinQueryAnchorBlock 
  519.  WinQueryCapture                         WinQueryClassInfo 
  520.  WinQueryClassName                       WinQueryClipbrdData 
  521.  WinQueryClipbrdFmtInfo                  WinQueryClipbrdOwner 
  522.  WinQueryClipbrdViewer                   WinQueryCp 
  523.  WinQueryCursorInfo                      WinQueryDesktopWindow 
  524.  WinQueryDlgItemShort                    WinQueryDlgItemText 
  525.  WinQueryDlgItemTextLength               WinQueryFocus 
  526.  WinQueryMsgPos                          WinQueryMsgTime 
  527.  WinQueryObjectWindow                    WinQueryPointer 
  528.  WinQueryPointerInfo                     WinQueryPointerPos 
  529.  WinQueryPresParam                       WinQueryQueueStatus 
  530.  WinQuerySysModalWindow                  WinQuerySysPointer 
  531.  WinQueryUpdateRect                      WinQueryUpdateRegion 
  532.  WinQueryWindow                          WinQueryWindowDC 
  533.  WinQueryWindowLockCount                 WinQueryWindowPos 
  534.  WinQueryWindowProcess                   WinQueryWindowPtr 
  535.  WinQueryWindowRect                      WinQueryWindowText 
  536.  WinQueryWindowTextLength                WinQueryWindowULong 
  537.  WinQueryWindowUShort                    WinRegisterClass 
  538.  WinRegisterUserDatatype                 WinRegisterUserMsg 
  539.  WinRegisterWindowDestroy                WinReleaseHook 
  540.  WinReleasePS                            WinRemovePresParam 
  541.  WinScrollWindow                         WinSendDlgItemMsg 
  542.  WinSendMsg                              WinSetAccelTable 
  543.  WinSetActiveWindow                      WinSetCapture 
  544.  WinSetClassMsgInterest                  WinSetClipbrdData 
  545.  WinSetClipbrdOwner                      WinSetClipbrdViewer 
  546.  WinSetCp                                WinSetDlgItemShort 
  547.  WinSetDlgItemText                       WinSetFocus 
  548.  WinSetHook                              WinSetMsgInterest 
  549.  WinSetMsgMode                           WinSetMultWindowPos 
  550.  WinSetOwner                             WinSetParent 
  551.  WinSetPointer                           WinSetPointerPos 
  552.  WinSetPresParam                         WinSetSynchroMode 
  553.  WinSetSysColors                         WinSetSysModalWindow 
  554.  WinSetWindowBits                        WinSetWindowPos 
  555.  WinSetWindowPtr                         WinSetWindowText 
  556.  WinSetWindowULong                       WinSetWindowUShort 
  557.  WinShowCursor                           WinShowPointer 
  558.  WinShowTrackRect                        WinShowWindow 
  559.  WinStartTimer                           WinStopTimer 
  560.  WinSubclassWindow                       WinSubstituteStrings 
  561.  WinTerminateApp                         WinThrow 
  562.  WinTrackRect                            WinTranslateAccel 
  563.  WinUpdateWindow                         WinValidateRect 
  564.  WinValidateRegion                       WinWaitMsg 
  565.  WinWindowFromDC                         WinWindowFromID 
  566.  WinWindowFromPoint 
  567.  
  568.  
  569. ΓòÉΓòÉΓòÉ 2.3.8. Using DosGetInfoSeg() ΓòÉΓòÉΓòÉ
  570.  
  571.  TIP# 0007                          ENTERED BY: O'Reilly, Kathleen M. 
  572.  FILENAME: CLTT0007.IPF             SOURCE: OS2 Forums 
  573.  DATE: 03/12/91                     RELEASE LEVEL: 1.2+ 
  574.  TIME: 1:11pm                       CSD LEVEL: GA 
  575.  
  576.  There is a small trick to using the DosGetInfoSeg():
  577.  
  578.   You must use the macro MAKEPGINFOSEG or MAKEPLINFOSEG to make the pointer to 
  579.  access the structure that is returned.  The following bit of code illustrates. 
  580.  
  581.   USHORT main( void)
  582.   {
  583.  
  584.      USHORT    rc;
  585.         // return code
  586.      SEL      GlobalSeg;
  587.         // Global Information Segment
  588.      SEL      LocalSeg;
  589.         // Local Information Segment
  590.      GINFOSEG far *globptr;
  591.         // ptr to global structure
  592.      LINFOSEG far *localptr;
  593.         // ptr to local structure
  594.  
  595.   // first get the information segment that has the current session
  596.      rc = DosGetInfoSeg( &GlobalSeg, &LocalSeg );
  597.   // now get the pointer to offset 0
  598.      globptr = MAKEPGINFOSEG(GlobalSeg);
  599.      localptr = MAKEPLINFOSEG(LocalSeg);
  600.   // the _GINFOSEG structure is documented in BSEDOS.h
  601.   // and return the current foreground session
  602.      printf("Session ID = %d", localptr->sgCurrent);
  603.  
  604.      return localptr->sgCurrent;
  605.   }
  606.  MISCELLANEOUS 
  607.  
  608.  
  609. ΓòÉΓòÉΓòÉ 2.4. MISCELLANEOUS ΓòÉΓòÉΓòÉ
  610.  
  611.  
  612. ΓòÉΓòÉΓòÉ 2.4.1. OS/2 Programming Performance tips. ΓòÉΓòÉΓòÉ
  613.  
  614.  TIP# 0000                          ENTERED BY: O'Reilly, Kathleen M. 
  615.  FILENAME: CLTM0000.IPF             SOURCE: OS2 FORUMS 
  616.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  617.  TIME: 1:01pm                       CSD LEVEL: GA 
  618.  
  619.  Build multi-segmented PM Applications. In particular, keep your main message 
  620.  processing loop tight and in a relatively small segment. Since this is going 
  621.  to be called very frequently, it will often need to be in memory, and if you 
  622.  are memory constrained, you don't want to have to shuffle a lot of segments 
  623.  around in order to load the segment back in. Infrequent messages that require 
  624.  a lot of code to process should be placed into subroutines and placed into a 
  625.  different code segment. Doing this will result in fewer and smaller code 
  626.  segments needing to be in memory in order to process the majority of messages 
  627.  flowing through the system, with less likelihood that the segments will need 
  628.  to be re-loaded, and faster re-loading when they have been discarded.
  629.  
  630.   Build multi-threaded PM applications. Use one thread to process the messages 
  631.  only. Use other threads for non-message processing and for long processing 
  632.  that can be moved out of the message processing thread. Also, avoid doing I/O 
  633.  on the message processing thread. The purpose here is to provide continuous, 
  634.  quick response to PM messages and to avoid tying up PM.
  635.  
  636.   Do not use DosMemAvail. In general, the data you get is invalid before you 
  637.  get it back. And it really does not tell you anything about the amount of free 
  638.  memory in the system. Therefore, do not use it to determine how much memory 
  639.  you should allocate for buffers, etc.
  640.  
  641.   Do not create and destroy threads on demand. If you need to dispatch threads 
  642.  for tasks, and then reuse them for other tasks, create a pool of threads and 
  643.  allocate them to the tasks needed when you need them. Create and destroy a few 
  644.  at a time, using a threshold management method to do so.
  645.  
  646.   Do not allow the linker to default pack your segments. Make a conscious 
  647.  effort to manage the packing of segments. 
  648.  
  649.  -  Do not pack them one routine to a segment or one module to a segment. 
  650.  -  Pack interrelated routines together, to reduce segment jumping. 
  651.  -  Where the routines are not called from other segments, make them   near 
  652.  calls, rather than far. If the routines are externally   available, use 
  653.  Far-To_Near call optimization (this is the linker   default). 
  654.  -  Pack segments to 4K multiples (but keep just under, NOT OVER) . This   will 
  655.  not make a difference in OS\2 1.2, but will make a tremendous   difference in 
  656.  2.0. 
  657.  -  Place infrequently called routines into separate segments.  If you are 
  658.  managing your own resource, use DosGetResource2/DosFreeResource instead of 
  659.  DosGetResource. And pack your resources. This results in fewer segments being 
  660.  allocated. 
  661.  
  662.   Minimize the number of DLL's. Each additional DLL causes: 
  663.  
  664.  -  Additional system resources in fixed non-swappable memory needed   to 
  665.  describe the DLL, its segments and its IMPORTs and EXPORTs. 
  666.  -  Additional search time through system tables at load time. (The   tables 
  667.  are not normally mapped into the GDT in order to save GDT   space. When a 
  668.  search is performed, the Module Table Entries are   mapped into temporary GDT 
  669.  entries, one at a time, and mapped   back out after checking the module. 
  670.  -  Additional memory overhead. The MTE, and the file handle mapping   tables 
  671.  needed are all fixed, non-swappable memory, reducing the   total memory in the 
  672.  system available for normal swapping activity. 
  673.  -  Additional initialization processing. Loading a module/DLL in   is a slow 
  674.  process. 
  675.  
  676.  Use multiple DLL's only when necessary. One reason for an additional DLL is 
  677.  for translatable resources. Thus when translating for another language, all 
  678.  the translatable resources are in one file, and are separate from code, etc.
  679.  
  680.   Do not put non-DLL files in the LIBPATH directories. This will increase the 
  681.  search time for needed DLLs. Put the libraries with less frequently loaded 
  682.  DLLs toward the back of the LIBPATH. But in doing this remember, once a DLL is 
  683.  in memory, the LIBPATH will not be searched again, the existing handle to the 
  684.  DLL will be used. However, if all programs using the DLL terminate, the next 
  685.  one to load it will have to search again.
  686.  
  687.   Do not allocate large numbers of small segments. Allocate a single larger 
  688.  segment and use DosSubSet/DosSubAlloc/DosSubFree.  Do not allocate a maximum 
  689.  size segment and slowly suballocate from it. Allocate at a reasonable size, 
  690.  and DosReallocSeg to make it larger. Lots of small segments result in causing 
  691.  a lot more memory shuffling to make room for a large segment, than does a few 
  692.  medium sized segments.
  693.  
  694.   Do not allocate 64K segments. A 64K segment requires two I/O operations to 
  695.  swap in or out*per. Allocate your segments on 4K boundaries (looking forward 
  696.  to 2.0 again).
  697.  
  698.   Do not allocate all the memory an application will need at initialization. 
  699.  Delay the allocation until it is actually needed.
  700.  
  701.   Do not allocate segments to the maximum possible size. 
  702.  
  703.  - Allocate what is needed. 
  704.  - Use DosReallocSeg to grow and shrink as required. 
  705.  - Use threshold management to control the growth/shrinkage. 
  706.  
  707.  Do not use all linker default. 
  708.  
  709.   - /ALIGN:16 - default is ALIGN:512 
  710.   - /PACKDATA:nnnn - default for nnnn is 64K, specify if near. 
  711.   - /EXEPACK - Use only on .EXE (not .DLL) files. Normally results in 
  712.  smaller .EXE files, and smaller files load faster. 
  713.  
  714.  Use WinInvalidateRect to repaint the client window. Only repaint the required 
  715.  portions of the window. Do not use WinInvalidateRect in WM_PAINT processing. 
  716.  
  717.  
  718. ΓòÉΓòÉΓòÉ 2.4.2. Bug in DOSPTRACE() with CODEVIEW ΓòÉΓòÉΓòÉ
  719.  
  720.  TIP# 0001                          ENTERED BY: O'Reilly, Kathleen M. 
  721.  FILENAME: CLTM0001.IPF             SOURCE: OS2 BUGS FORUM 
  722.  DATE: 02/07/91                     RELEASE LEVEL: 1.3 
  723.  TIME: 2:20pm                       CSD LEVEL: GA 
  724.  
  725.  You may find you get a TRAP B at 0228:3646 using debuggers. This is a bug in 
  726.  OS/2. The reason is as follows:
  727.  
  728.   DOSPTrace() is a kernel API and parts of the kernel are now swappable. The 
  729.  problem occurs when your debugger hits a breakpoint (INT 3) and Ptrace is 
  730.  swapped out. You get a "not in memory" exception which can't be handled 
  731.  because the INT 3 breakpoint exception is still being handled.
  732.  
  733.   The only circumvention is to eliminate swapping (not DOS Box swapping). There 
  734.  is a MEMMAN parameter in CONFIG.SYS called NOSWAP to set this. Of course, this 
  735.  means you need enough RAM to run all your applications.
  736.  
  737.   This bug only occurs when you are running a debugger. 
  738.  
  739.  
  740. ΓòÉΓòÉΓòÉ 3. COMMUNICATIONS MANAGER ΓòÉΓòÉΓòÉ
  741.  
  742. INSTALL/REINSTALL 
  743.  
  744.  
  745. ΓòÉΓòÉΓòÉ 3.1. INSTALL REINSTALL ΓòÉΓòÉΓòÉ
  746.  
  747.  
  748. ΓòÉΓòÉΓòÉ 3.1.1. Installing or changing your Configuration files. ΓòÉΓòÉΓòÉ
  749.  
  750.  TIP# 0000                          ENTERED BY: Pav, Eric M. 
  751.  FILENAME: COMI0000.IPF             SOURCE: OS2 FORUMS 
  752.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  753.  TIME: 12:09pm                      CSD LEVEL: GA 
  754.  
  755.  To create or change a Communications Manager configuration file, type EECFG at 
  756.  any OS/2 command prompt. This will start the basic configuration services. It 
  757.  provides configuration files with the following default environments:. 
  758.  
  759.  o 3270 Emulation (both DFT and Non-DFT connections) 
  760.  
  761.  o ASCII Terminal Emulation 
  762.  
  763.  o 5250 Work Station Feature 
  764.  
  765.  o LAN Services 
  766.  
  767.  o Remote Data Services. 
  768.  
  769.  Note:  EECFG will not change a configuration file if you have already run 
  770.  Advanced Configuration in Communications Manager. However, you can use it to 
  771.  create a new one. Any substantial changes to a configuration file might 
  772.  require you to create a new configuration file (i.e. changing the connection) 
  773.  
  774.  
  775. ΓòÉΓòÉΓòÉ 3.1.2. Naming of CM Config File. ΓòÉΓòÉΓòÉ
  776.  
  777.  TIP# 0001                          ENTERED BY: O'Reilly, Kathleen M. 
  778.  FILENAME: COMI0001.IPF             SOURCE: OS2 FORUMS 
  779.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  780.  TIME: 12:11pm                      CSD LEVEL: GA 
  781.  
  782.  When naming your Communications Manager configuration file, do NOT use the 
  783.  default names, ACSCFG.CFG or ACSCFG.CFG. This will cause problems when you 
  784.  REINST or install a later version. The installation program will overwrite 
  785.  them. EMULATION 
  786.  
  787.  
  788. ΓòÉΓòÉΓòÉ 3.2. EMULATION ΓòÉΓòÉΓòÉ
  789.  
  790.  
  791. ΓòÉΓòÉΓòÉ 3.2.1. Installing 3270 Emulation via Token Ring on an AT. ΓòÉΓòÉΓòÉ
  792.  
  793.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  794.  FILENAME: COME0000.IPF             SOURCE: Casey Stanislaw - Remote Data 
  795.                                     Services 
  796.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  797.  TIME: 12:18pm                      CSD LEVEL: GA 
  798.  
  799.  Basic Configuration Services (BCS) has a bug, when installing 3270 emulation 
  800.  via Token Ring on an AT. The default parameters are wrong - BCS sets up for 
  801.  OPTIMAL PERFORMANCE, which are PS/2 parameters, not AT parameters. 
  802.  
  803.  ERROR MESSAGE: LAN Frame (or Hex Frame) from the <gateway address> caused a 
  804.  [LINK FAILURE] on Local Adapter <00 or 01>. 
  805.  
  806.  PROBLEM: The "Logon" screen sent was too big for the AT to handle. The request 
  807.  unit is too small. 
  808.  
  809.  3 VARIABLES NEED TO BE CHANGED: 
  810.  
  811.      1. LAN FEATURES - 802.2 PROFILE(IEEE) 
  812.  
  813.          Transmit Buffer Size - default value - 1048 (PS/2 size) 
  814.  
  815.            CHANGE TO ============> 1944 (AT size) 
  816.  
  817.      2. SNA FEATURES -DATA LINK CONTROL 
  818.  
  819.         Max RU Size - default value - 1024 ( PS/2 size) 
  820.  
  821.            CHANGE TO ===========>  1920 (AT size) 
  822.  
  823.      3. SNA FEATURES -APPC TRANSMIT MODE (There may be more than one) 
  824.  
  825.           eg.  SQLLOO - Max RU Size 
  826.  
  827.                    default value 1024 (PS/2 size) 
  828.  
  829.            CHANGE TO ===========> 1920 (AT size) 
  830.  
  831.         #3 may not be present if the machine is not configured for DB REQ/SVR. 
  832.  
  833.         Note:  # 2 and # 3 are 24 bytes less than # 1 
  834.  
  835.  
  836. ΓòÉΓòÉΓòÉ 3.2.2. The difference between Presentation Space Setting and Font Size Setting. ΓòÉΓòÉΓòÉ
  837.  
  838.  TIP# 0001                          ENTERED BY: Pettes, Michell H. 
  839.  FILENAME: COME0001.IPF             SOURCE: OS2 FORUMS 
  840.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  841.  TIME: 12:21pm                      CSD LEVEL: GA 
  842.  
  843.  What's the difference between the Presentation Space setting of "24 x 80" and 
  844.  the Font Size setting of "24 x 80" in OS/2 1.2 Communications Manager's 3270 
  845.  Emulation? 
  846.  
  847.  Why does the emulator window show only a portion of the host screen? Why 
  848.  doesn't it fill the "real" PS/2 screen? 
  849.  
  850.   1. The Terminal Type 
  851.  
  852.      The "terminal type" is a measure of how many lines your control unit 
  853.      considers a "screenfull."  A 3279 Model 2 sets this amount to 24 lines, 
  854.      for example.  This is why the CM configuration setting of "24 x 80 (Model 
  855.      2)" is worded this way.  If you are using a SNA port, you can choose any 
  856.      of these terminal types, and the control unit will configure itself "on 
  857.      the fly" to match your setting.  If not, you should set this to match what 
  858.      your control unit is expecting.  That is, if you replace a 3279 Model 3 
  859.      with your PS/2, you should set this for "34 x 80 (Model 3)."  If this 
  860.      setting is not correct, you will never see the entire screenfull of host 
  861.      data at once, since the window you've defined as a terminal (what OS/2 
  862.      calls a "presentation space") is smaller than what the host is sending. 
  863.  
  864.   2. The Font Size 
  865.  
  866.      As you may know, the font size can be changed with the system menu 
  867.      pull-down by choosing "Emulator Operations" clicking on the "Font Size" 
  868.      radio button, clicking "OK", selecting a font size, and clicking "OK" 
  869.      again.  The critical point is that this HAS NOTHING TO DO WITH THE NUMBER 
  870.      OF LINES OF HOST DATA THAT ARE ACTUALLY DISPLAYED IN THE WINDOW.  The 
  871.      naming convention used for font sizes only describes how a particular font 
  872.      might be SIMILAR to the one used on a terminal of that type.  You could 
  873.      read these font selections as, "If I picked this font, the characters 
  874.      would be about as big as those on a "34 x 80" character terminal."  The 
  875.      selection you make here is a matter of personal preference, and nothing 
  876.      more.  The entire presentation space "as defined in the CM configuration" 
  877.      will always be shown when you maximize the window.  Notice that if you 
  878.      change the font, the window just shrinks or grows correspondingly; the 
  879.      amount of data shown inside the window doesn't change. 
  880.  
  881.   3. The Fullscreen Mystery 
  882.  
  883.      The 3270 emulation features of Communications Manager were designed to 
  884.      match as closely as possible the behavior or "real" 3270-family terminals, 
  885.      even though  you are really using a PS/2.  For example, witness the fact 
  886.      that two keys marked "Ctrl" have very different functions, and neither 
  887.      corresponds to its marking.  Its because the position of the key is 
  888.      important, and it does match that of a 3279.  (You can change the meaning 
  889.      of the keys, though). 
  890.  
  891.      Once you begin to think of this as a "real terminal" inside a window, you 
  892.      realize that OS/2 cannot (or will not, display any data in that window 
  893.      that would not be displayed on a real terminal.  That includes blank space 
  894.      at the edges of the screens.  The fact that your terminal window doesn't 
  895.      fill an 8514 screen is superfluous, once you accept that it occupies that 
  896.      correct amount of space to display all the data that would fit on a 3279 
  897.      screen, and nothing more. 
  898.  
  899.  
  900. ΓòÉΓòÉΓòÉ 3.2.3. 3270 Emulation Screen Size ΓòÉΓòÉΓòÉ
  901.  
  902.  TIP# 0002                          ENTERED BY: O'Reilly, Kathleen M. 
  903.  FILENAME: COME0002.IPF             SOURCE: OS2COMM FORUM 
  904.  DATE: 02/07/91                     RELEASE LEVEL: 1.2+ 
  905.  TIME: 12:57pm                      CSD LEVEL: GA 
  906.  
  907.  If you would like to change the size of the screen display during a 3270 
  908.  emulation session to a full screen, you can using the following procedure: 
  909.  
  910.   1. Enter the Communications Manager Full Screen Session 
  911.   2. Select ADVANCED 
  912.   3. Select CONFIGURATION 
  913.   4. Hit ENTER to select your current configuration file 
  914.   5. Select 3270 feature profiles 
  915.   6. Choose the emulation you are using 
  916.   7. Choose the session you wish to change 
  917.   8. Select 33x80 Mod 3 Presentation Space Size 
  918.   9. Exit and Save 
  919.  
  920.  The next time you start Communications Manager you should have full screen 
  921.  display. 
  922.  
  923.  
  924. ΓòÉΓòÉΓòÉ 3.2.4. 3270 Box Characters ΓòÉΓòÉΓòÉ
  925.  
  926.  TIP# 0003                          ENTERED BY: O'Reilly, Kathleen M. 
  927.  FILENAME: COME0003.IPF             SOURCE: OS2 FORUMS 
  928.  DATE: 02/13/91                     RELEASE LEVEL: 1.3 
  929.  TIME: 10:20am                      CSD LEVEL: GA 
  930.  
  931.   Changing from 1.2 to 1.3 you may notice a problem with box lines using ISPF 
  932.  dialog tag programs.  Box may show up as: 
  933.  
  934.              1.3                           1.2
  935.  
  936.           ---------                     ----------
  937.           -       -                     |        |
  938.           -       -                     |        |
  939.           -       -                     |        |
  940.           ---------                     ----------
  941.  
  942.  Edit C:\CMLIB\310.CPT and change the text in line 134 from: 
  943.  
  944.  Center_Vertical 
  945.   to 
  946.  Center_Box_Bar_Vertical 
  947.  
  948.  Restart Communications Manager, and this should take care of the problem. 
  949.  PROGRAMMING SUPPORT 
  950.  
  951.  
  952. ΓòÉΓòÉΓòÉ 3.3. PROGRAMMING SUPPORT ΓòÉΓòÉΓòÉ
  953.  
  954.  
  955. ΓòÉΓòÉΓòÉ 3.3.1. Installing Host Graphics. ΓòÉΓòÉΓòÉ
  956.  
  957.  TIP# 0000                          ENTERED BY: Pav, Eric M. 
  958.  FILENAME: COMR0000.IPF             SOURCE: OS2 FORUMS 
  959.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  960.  TIME: 12:24pm                      CSD LEVEL: GA 
  961.  
  962.  Do the following steps to install Host Graphics: 
  963.  
  964.  Note:  This assumes that a GDDM-OS/2 Link product is installed on the host 
  965.  your logon to. 
  966.  
  967.   1. Logon to host. 
  968.  
  969.   2. Bring up an OS/2 window. 
  970.  
  971.   3. Type HGINST at the "C:" prompt. 
  972.  
  973.      Note:  At this point, another window will appear. It will ask you from 
  974.      which host session should the files be download from. About 15 files will 
  975.      download. The number of files may depend on your type of display. 
  976.  
  977.   4. Logoff. 
  978.  
  979.   5. Stop Communications. 
  980.  
  981.   6. Start Communications. 
  982.  
  983.   7. Logon to host. 
  984.  
  985.  
  986. ΓòÉΓòÉΓòÉ 3.3.2. Header File - NETB1_C.H ΓòÉΓòÉΓòÉ
  987.  
  988.  TIP# 0001                          ENTERED BY: O'Reilly, Kathleen M. 
  989.  FILENAME: COMR0001.IPF             SOURCE: OS2COMM FORUM 
  990.  DATE: 02/08/91                     RELEASE LEVEL: 1.3 
  991.  TIME: 10:01am                      CSD LEVEL: GA 
  992.  
  993.   One of the header files for the NetBios API has an error.
  994.  
  995.   There is a #define that does not correspond to the documentation. 
  996.  
  997.   In the file it is listed as: 
  998.      #define NB_FIND_NAMEWAIT    0x0078 
  999.   It should be (according to the documentation): 
  1000.      #define NB_FIND_NAME_WAIT   0x0078 CUSTOMIZATION 
  1001.  
  1002.  
  1003. ΓòÉΓòÉΓòÉ 3.4. CUSTOMIZATION ΓòÉΓòÉΓòÉ
  1004.  
  1005.  
  1006. ΓòÉΓòÉΓòÉ 3.4.1. APPC - Connecting to other LU TYPE 6.2 Products. ΓòÉΓòÉΓòÉ
  1007.  
  1008.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  1009.  FILENAME: COMC0000.IPF             SOURCE: OS2 FORUMS 
  1010.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1011.  TIME: 12:27pm                      CSD LEVEL: GA 
  1012.  
  1013.  Connecting to other LU type 6.2 products and moving to future versions of OS/2 
  1014.  Extended Edition will be MUCH easier if you start taking the following steps 
  1015.  in your APPC configurations and programs.  These steps are strongly 
  1016.  recommended:  Start Today! Pass this info on to all APPC users inside IBM and 
  1017.  to all customers. 
  1018.  
  1019.   1. Give each of your machines a unique physical unit name (PU name) in its 
  1020.      SNA network.  Avoid the OS/2 default of "PU000000".  The PU name for an 
  1021.      OS/2 workstation  is configured in the "SNA base" profile.  I'd also 
  1022.      recommend making this name as useful as possible;  the PU name on my 
  1023.      office OS/2 machine is B763C221, since I am in room C221 of building 673. 
  1024.  
  1025.   2. Name the SNA Network that your machines uses.  Configure a SNA Network 
  1026.      Name with a value other than all-blanks.  Avoid the OS/2 default of " 
  1027.      ".  Although all-blanks indicates to other OS/2 machines that they are on 
  1028.      the same network, it does not coexist well with other SNA products that do 
  1029.      not make this assumption. The SNA network name for an OS/2 workstation is 
  1030.      configured in the "SNA base" profile. 
  1031.  
  1032.   3. In each APPC configuration, create a logical unit (LU) with the same LU 
  1033.      name as the PU name.  Make this LU the default LU.  This is configured in 
  1034.      the "Logical unit (LU)" profile. 
  1035.  
  1036.   4. Make every LU name in each SNA network unique.  For example, do not create 
  1037.      an "LU1" or "LU2" on more than one machine in an SNA network. I know that 
  1038.      Basic Configuration Services in OS/2 EE installation does these kinds of 
  1039.      things already--Change them!  This is a formula for disaster that you will 
  1040.      have to change as the network grows and you begin using APPN. 
  1041.  
  1042.      Note:  LU names and partner LU names must be distinct within each machine. 
  1043.      Use the DISPLAY verb if you need to find the names of all the LUs and 
  1044.      partner LUs in your machine. 
  1045.  
  1046.      As another example: Do not configure "FILEREQ " and "FILESVR " (as the LU 
  1047.      names for the sample programs--as shown in the System Administrator's 
  1048.      Guide) on any machine in the network.  These are fine as LU aliases and 
  1049.      partner LU aliases, but DO NOT use them as LU names and partner LU names. 
  1050.  
  1051.   5. When possible, have each OS/2 program that issues a TP_STARTED verb issue 
  1052.      it to the default LU (that is, supply all hex zeros for its LU_alias 
  1053.      parameter), rather than issue it to a named LU profile. 
  1054.  
  1055.   6. For mode names, LU names, PU names, and SNA network names (that is, the 
  1056.      Type A EBCDIC names), use only the following characters: uppercase A - Z 
  1057.      and numerics 0 - 9. 
  1058.  
  1059.      Avoid using the three special characters in all Type A EBCDIC names; the 
  1060.      three special characters are $, #, and @. 
  1061.  
  1062.   7. Here is the one exception to step 6: Configure modes with one or more of 
  1063.      the following names, and supply one of these names as the mode_name 
  1064.      parameter on each (MC_)ALLOCATE verb.  The partner machine will need to 
  1065.      have a mode with the same name.  These are configured in "Transmission 
  1066.      Service Mode" profiles. 
  1067.  
  1068.     o "#BATCH  "  - high bandwidth, low cost 
  1069.     o "#INTER  "  - short delay, high reliability 
  1070.  
  1071.       These mode names are pre-defined on other IBM products, such as AS/400. 
  1072.       Also, these mode names may affect the quality and cost of the route 
  1073.       selected through a subarea network.  They will soon be pre-defined in 
  1074.       OS/2 EE.  Remember that 8-byte mode_names must be supplied in EBCDIC on 
  1075.       the (MC_)ALLOCATE verb.  Assure that the first character of these names 
  1076.       (after conversion to EBCDIC) is X'7B'. 
  1077.  
  1078.       #BATCH - Describes a mode that provides the characteristics needed for 
  1079.       batch-oriented sessions.  In general, high bandwidth and low cost are the 
  1080.       key characteristics of a mode that supports #BATCH sessions. 
  1081.  
  1082.       #INTER - Describes a mode that provides the characteristics needed for 
  1083.       interactive-oriented sessions.  In general, short delay and reliability 
  1084.       are the key characteristics of a mode that supports #INTER sessions. 
  1085.  
  1086.       How to configure them: 
  1087.  
  1088.  
  1089.             ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÉ
  1090.             Γöé                                     Γöé                                  Γöé
  1091.             Γöé                Mode fields          Γöé      Initial session limit       Γöé
  1092.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1093.             Γöé       Γöé     Γöé     Γöé        Γöé        Γöé          Γöé            Γöé          Γöé
  1094.             Γöé       ΓöéMin. ΓöéMax. ΓöéReceive ΓöéSession ΓöéContentionΓöé Contention ΓöéAuto-     Γöé
  1095.             Γöé       ΓöéRU   ΓöéRU   ΓöéPacing  ΓöéLimit   ΓöéWinners   Γöé Winners    ΓöéActivated Γöé
  1096.             Γöé       ΓöéSize ΓöéSize ΓöéLimit   Γöé        ΓöéSource    Γöé Target     ΓöéSessions  Γöé
  1097.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1098.             Γöé#BATCH Γöé 256 Γöé  *  Γöé  3     Γöé  8     Γöé  4       Γöé   0        Γöé  0       Γöé
  1099.             Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöñ
  1100.             Γöé#INTER Γöé 256 Γöé  *  Γöé  7     Γöé  8     Γöé  4       Γöé   0        Γöé  0       Γöé
  1101.             ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÿ
  1102.  
  1103.       * Indicates that you may configure an optimal value for a particular 
  1104.       link.  Higher values give better performance, depending on the DLC being 
  1105.       used. 
  1106.  
  1107.       For partner LUs that use these modes, remember to appropriately update 
  1108.       the partner LU session limit. 
  1109.  
  1110.       One "Initial Session Limit" profile can be configured for these, since 
  1111.       its three values are the same for each of these modes. 
  1112.  
  1113.       For partner LUs that use these modes, remember to appropriately update 
  1114.       the partner LU session limit. 
  1115.  
  1116.       Taking these 7 steps will save you a ton of headaches in the near future! 
  1117.  
  1118.  
  1119. ΓòÉΓòÉΓòÉ 3.4.2. Insert Cursor Toggle. ΓòÉΓòÉΓòÉ
  1120.  
  1121.  TIP# 0001                          ENTERED BY: Pav, Eric M. 
  1122.  FILENAME: COMC0001.IPF             SOURCE: OS2 FORUMS 
  1123.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1124.  TIME: 12:29pm                      CSD LEVEL: GA 
  1125.  
  1126.   Toggling the insert cursor during insert mode in a 3270 Emulation Session. 
  1127.  
  1128.  To toggle the insert key cursor during insert mode, go into Keyboard Remap and 
  1129.  remap the following functions to the Insert key: 
  1130.  
  1131.        [InsrtT][AltCur]
  1132.  
  1133.  This will toggle the cursor (from a block cursor during insert mode, to an 
  1134.  underbar cursor in replace mode). 
  1135.  
  1136.  Note:   It is possible that the cursor can get out of sync with the insert 
  1137.  mode. To correct this, do the following steps. 
  1138.  
  1139.   1. Get into insert mode (you will see a caret at bottom of the window). 
  1140.  
  1141.   2. Move cursor somewhere that you cannot do a legal insert, then try to do it 
  1142.      anyway.  Your terminal is now locked. 
  1143.  
  1144.   3. Hit the reset key (press Left-Ctrl ) That unlocks the terminal, clears 
  1145.      insert mode, and leaves an underbar cursor. 
  1146.  
  1147.  
  1148. ΓòÉΓòÉΓòÉ 3.4.3. CM defaulting to the correct configuration file. ΓòÉΓòÉΓòÉ
  1149.  
  1150.  TIP# 0002                          ENTERED BY: Pav, Eric M. 
  1151.  FILENAME: COMC0002.IPF             SOURCE: OS2 FORUMS 
  1152.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1153.  TIME: 12:32pm                      CSD LEVEL: GA 
  1154.  
  1155.  How to make Communications Manager default to the correct configuration file. 
  1156.  
  1157.  You will get a screen asking for the CFG file name if: 
  1158.  
  1159.   1. You have not defined a CFG file name as a parameter to STARTCM.CMD. 
  1160.  
  1161.   2. There is no default name known by CM. 
  1162.  
  1163.    Once you enter a name in this field, this file becomes the default CM 
  1164.    Configuration File. You can re-specify the default CFG file from option 4 on 
  1165.    the MAIN menu for CM. 
  1166.  
  1167.    Note:  Before 1.2 CSD4098, the name would NOT be remembered if you do not 
  1168.    EXIT CM cleanly ( i.e. select Exit, Yes, wait for everything to stop, and 
  1169.    then F3 to finally exit) If you enter the name, and the IPL without exiting, 
  1170.    the name will not be stored. However, this was fixed with CSD4098 and in 1.3 
  1171.    GA. 
  1172.  
  1173.  
  1174. ΓòÉΓòÉΓòÉ 3.4.4. Choosing Fonts in Emulators. ΓòÉΓòÉΓòÉ
  1175.  
  1176.  TIP# 0003                          ENTERED BY: O'Reilly, Kathleen M. 
  1177.  FILENAME: COMC0003.IPF             SOURCE: OS2 FORUMS 
  1178.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1179.  TIME: 12:34pm                      CSD LEVEL: GA 
  1180.  
  1181.  If you would like to change the font in the Communications Manager emulator 
  1182.  sessions, there is a way.  Use the following: 
  1183.  
  1184.   1. Open an emulator session 
  1185.   2. Use Alt-Spacebar to open Menu Icon 
  1186.   3. Select Emulator Operations 
  1187.   4. Click on radio-button, Font Size 
  1188.   5. Click on OK 
  1189.   6. Choose the font size you would like to use 
  1190.   7. Click on Change 
  1191.   8. Under Desktop Manager Window, choose Desktop 
  1192.   9. Click on Save 
  1193.  Your font should now always default to the one you have selected. 
  1194.  
  1195.  
  1196. ΓòÉΓòÉΓòÉ 3.4.5. Changing Colors For 3270 Emulation ΓòÉΓòÉΓòÉ
  1197.  
  1198.  TIP# 0004                          ENTERED BY: O'Reilly, Kathleen M. 
  1199.  FILENAME: COMC0004.IPF             SOURCE: OS2COMM FORUM 
  1200.  DATE: 02/06/91                     RELEASE LEVEL: 1.2+ 
  1201.  TIME: 2:34pm                       CSD LEVEL: GA 
  1202.  
  1203.  If you would like to change the colors of your 3270 emulation session, there 
  1204.  is a way to do it: 
  1205.  
  1206.   1. Go to the Full Screen Communications Manager Session 
  1207.   2. Select ADVANCED 
  1208.   3. Select CONFIGURATION 
  1209.   4. The name of your configuration file should appear, press ENTER 
  1210.   5. Select 3270 Features Profile 
  1211.   6. Select 3270 Colors & Alarms 
  1212.   7. Set colors to your selections 
  1213.   8. Select EXIT 
  1214.   9. Select SAVE & EXIT 
  1215.  10. Exit Communications Manager 
  1216.  11. Restart Communications Manager MISCELLANEOUS 
  1217.  
  1218.  
  1219. ΓòÉΓòÉΓòÉ 3.5. MISCELLANEOUS ΓòÉΓòÉΓòÉ
  1220.  
  1221.  
  1222. ΓòÉΓòÉΓòÉ 3.5.1. Moving Keyboard Remap to other machines. ΓòÉΓòÉΓòÉ
  1223.  
  1224.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  1225.  FILENAME: COMM0000.IPF             SOURCE: OS2 FORUMS 
  1226.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1227.  TIME: 12:40pm                      CSD LEVEL: GA 
  1228.  
  1229.   1. Copy your .CFG from \CMLIB on the source machine to \CMLIB on the target 
  1230.      machine. 
  1231.  
  1232.   2. Start Communications Manager with your target .CFG file named as the 
  1233.      default. 
  1234.  
  1235.   3. From the Communications Manager Main Menu choose: 
  1236.  
  1237.     Advanced, Configuration, (confirm .CFG target file name ), 
  1238.     Configuration file utilities, 
  1239.     Copy selected profiles from another configuration file, 
  1240.     (confirm with Yes the warning panel), 
  1241.     supply the source .CFG file name, 
  1242.     Keyboard profiles, 
  1243.     choose which type of keyboard profile, 
  1244.     choose which particular keyboard profile. 
  1245.  
  1246.     Note:  Don't forget to tell the emulator to make the new keyboard profile 
  1247.     the one it should use!  (Specify new Configuration file name default...) 
  1248.  
  1249.  
  1250. ΓòÉΓòÉΓòÉ 3.5.2. Dead Cursor Keys in 3270 Emulator Window. ΓòÉΓòÉΓòÉ
  1251.  
  1252.  TIP# 0001                          ENTERED BY: Pav, Eric M. 
  1253.  FILENAME: COMM0001.IPF             SOURCE: OS2 FORUMS 
  1254.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1255.  TIME: 12:42pm                      CSD LEVEL: GA 
  1256.  
  1257.  Intermittent problems with cursor keys. 
  1258.  
  1259.  When the problem occurs, check to see if the Scroll Lock light is on. If it 
  1260.  is, then the cursor keys will act like scrolling keys instead of acting like 
  1261.  cursor keys.  The reason this was done is because on some display/adapter/3270 
  1262.  Model combinations, the user must scroll in order to see the entire host 
  1263.  presentation space.  Unfortunately, the code isn't smart enough to determine 
  1264.  that your particular combination doesn't require scroll keys, and thus treats 
  1265.  the cursor keys like scroll keys. 
  1266.  
  1267.  
  1268. ΓòÉΓòÉΓòÉ 4. DATABASE MANAGER ΓòÉΓòÉΓòÉ
  1269.  
  1270. INSTALL/REINSTALL 
  1271.  
  1272.  
  1273. ΓòÉΓòÉΓòÉ 4.1. INSTALL/REINSTALL ΓòÉΓòÉΓòÉ
  1274.  
  1275.  
  1276. ΓòÉΓòÉΓòÉ 4.1.1. SQLSYSTM saved during install. ΓòÉΓòÉΓòÉ
  1277.  
  1278.  TIP# 0000                          ENTERED BY: Tyger, Karen 
  1279.  FILENAME: DBMI0000.IPF             SOURCE: Aubrey Herzik (Query Manager) 
  1280.  DATE: 02/05/91                     RELEASE LEVEL: 1.3 
  1281.  TIME: 12:50pm                      CSD LEVEL: GA 
  1282.  
  1283.  Database manager configuration file is named SQLSYSTM. It contains values that 
  1284.  can be set to adjust the performance of DBM.  During install of EE 1.3 over EE 
  1285.  1.2, this file is renamed to SQLSYSTM.BAK and a new SQLSYSTM. file is created 
  1286.  with default values.  If you want to restore your old defaults, issue a 
  1287.  STOPDBM and copy SQLSYSTM.BAK to SQLSYSTM. QUERY MANAGER 
  1288.  
  1289.  
  1290. ΓòÉΓòÉΓòÉ 4.2. QUERY MANAGER ΓòÉΓòÉΓòÉ
  1291.  
  1292.  
  1293. ΓòÉΓòÉΓòÉ 4.2.1. Backup of Objects ΓòÉΓòÉΓòÉ
  1294.  
  1295.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  1296.  FILENAME: DBMQ0000.IPF             SOURCE: OS2SQL FORUMS 
  1297.  DATE: 03/04/91                     RELEASE LEVEL: 1.2 
  1298.  TIME: 8:47am                       CSD LEVEL: GA 
  1299.  
  1300.  The Query Manager objects are all kept in one database table, 
  1301.  (QRWSYS.QRWSYS_OBJECT). So QM objects are part of the backup/restore. In fact 
  1302.  that is one of the reasons QM objects are stored within the database. The only 
  1303.  exceptions are the QM profile and the Printer Nickname definitions which are 
  1304.  stored as DOS files. REMOTE DATABASE SERVICES 
  1305.  
  1306.  
  1307. ΓòÉΓòÉΓòÉ 4.3. REMOTE DATA SERVICES ΓòÉΓòÉΓòÉ
  1308.  
  1309.  
  1310. ΓòÉΓòÉΓòÉ 4.3.1. Publications for Remote Database Services. ΓòÉΓòÉΓòÉ
  1311.  
  1312.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  1313.  FILENAME: DBMD0000.IPF             SOURCE: OS2SQL FORUMS 
  1314.  DATE: 03/12/91                     RELEASE LEVEL: 1.2 
  1315.  TIME: 3:45pm                       CSD LEVEL: GA 
  1316.  
  1317.  The following is a list of publications for Remote Data Services. 
  1318.  
  1319.  o Database Manager Administrator's Guide 
  1320.  
  1321.  o System Administrator's Guide (for Communications) 
  1322.  
  1323.  o Database Manager Remote Data Services Cookbook (redbook) - GG24-3558 
  1324.  
  1325.  o Personal Systems Developer, Summer, 1989 
  1326.  
  1327.  o Personal Systems Developer, Fall, 1990  (G362-0001-07) 
  1328.  
  1329.  o Personal Systems Technical Solutions, Issue 2, 1990 (G325-5006) 
  1330.  
  1331.  o EE-CFG Package owned by Aubrey Herzik, Austin Technical Interface Group 
  1332.    (ATIG), Database Manager 
  1333.  
  1334.  
  1335. ΓòÉΓòÉΓòÉ 4.3.2. RDS limits for 16/4 card. ΓòÉΓòÉΓòÉ
  1336.  
  1337.  TIP# 0001                          ENTERED BY: Pettes, Michell H. 
  1338.  FILENAME: DBMD0001.IPF             SOURCE: OS2SQL FORUMS 
  1339.  DATE: 03/12/91                     RELEASE LEVEL: 1.2 
  1340.  TIME: 5:43pm                       CSD LEVEL: GA 
  1341.  
  1342.  If you want to go through some complicated calculations, see the Server 
  1343.  Installation and Configuration Guidelines (G01F-0288).  Or, use CM advanced 
  1344.  configuration and see what it will allow for link stations in the 802.2 
  1345.  profile for a 16/4 card.  It should allow a maximum of 255. However, here are 
  1346.  some practical things to keep in mind: 
  1347.  
  1348.   1. The maximum number of active applications that can connect to a single 
  1349.      database is 117.  This is specified in the database configuration file. 
  1350.  
  1351.   2. Each application that connects to a database on the server will require 
  1352.      approximately 150K bytes of server memory.  Thus, you will want to 
  1353.      consider the amount of swapping that will happen if you connect n (up to 
  1354.      117) requesters. 
  1355.  
  1356.   3. SQLLOO will be able to use 80% of: 
  1357.  
  1358.      - the number of link stations configured for 802.2 (max. = 255) 
  1359.  
  1360.      - the number of link stations configured for NETBIOS 
  1361.  
  1362.      - the number of link stations configured for DLC 
  1363.  
  1364.     This is covered in G01F-0288, and in other publications. 
  1365.  
  1366.  I hope this gives you some perspective on what you can practically configure. 
  1367.  PROGRAMMING SUPPORT 
  1368.  
  1369.  
  1370. ΓòÉΓòÉΓòÉ 4.4. PROGRAMMING SUPPORT ΓòÉΓòÉΓòÉ
  1371.  
  1372.  
  1373. ΓòÉΓòÉΓòÉ 4.4.1. Binding Problems? ΓòÉΓòÉΓòÉ
  1374.  
  1375.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  1376.  FILENAME: DBMR0000.IPF             SOURCE: OS2SQL FORUMS 
  1377.  DATE: 03/04/91                     RELEASE LEVEL: 1.2 
  1378.  TIME: 12:02pm                      CSD LEVEL: GA 
  1379.  
  1380.  Whenever the database is REORGed or deleted and recreated all programs that 
  1381.  are bound to it, must be rebound. 
  1382.  
  1383.  The call sqlabind( ) will allow you to dynamically bind a program to a named 
  1384.  database, provided the relevant .BND file is accessible. 
  1385.  
  1386.  Of course dynamically binding may take a second or two. CUSTOMIZATION 
  1387.  
  1388.  
  1389. ΓòÉΓòÉΓòÉ 4.5. CUSTOMIZATION ΓòÉΓòÉΓòÉ
  1390.  
  1391.  
  1392. ΓòÉΓòÉΓòÉ 4.5.1. "Wrap-Around" Table Insertion ΓòÉΓòÉΓòÉ
  1393.  
  1394.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  1395.  FILENAME: DBMC0000.IPF             SOURCE: OS2SQL FORUM 
  1396.  DATE: 03/03/91                     RELEASE LEVEL: 1.2 
  1397.  TIME: 6:24pm                       CSD LEVEL: GA 
  1398.  
  1399.  One way to handle this is simply to run a program periodically that prunes 
  1400.  your error table if it has become too large.  This has the advantage that "too 
  1401.  large" can be defined in a dynamic way. 
  1402.  
  1403.  If you want something that takes care of itself, you can add a timestamp 
  1404.  column to your table (if it doesn't already have one).. Then decide in advance 
  1405.  how many rows you want to have.  For each row, insert a row into the table 
  1406.  with a unique timestamp and a dummy error entry. Then, when the real errors 
  1407.  come in, always replace the row with the lowest timestamp.  If the errors come 
  1408.  in too fast and you find that you don't get enough history, add more dummy 
  1409.  records.  This can be done at any time, as long as the timestamps on the dummy 
  1410.  records are lower than the timestamp of the lowest "real" record.  It would be 
  1411.  nice if you could do the replace with a single statement, like: 
  1412.  
  1413.      UPDATE T
  1414.         SET TS = CURRENT TIMESTAMP, DESC = :error_report ...
  1415.         WHERE TS = (SELECT MIN(TS) FROM T)
  1416.  
  1417.  But SQL rules prohibit referencing the object of an update statement in a 
  1418.  subquery of the same statement.  So you'll need something like: 
  1419.  
  1420.      SELECT MIN(TS)
  1421.         INTO :min_ts
  1422.         FROM CIRCULAR
  1423.  
  1424.      UPDATE T
  1425.         SET TS = CURRENT TIMESTAMP, DESC = :error_report ...
  1426.         WHERE TS = :min_ts
  1427.  
  1428.  
  1429. ΓòÉΓòÉΓòÉ 4.5.2. Host Variable in a Multi-threaded Application. ΓòÉΓòÉΓòÉ
  1430.  
  1431.  TIP# 0001                          ENTERED BY: Pettes, Michell H. 
  1432.  FILENAME: DBMC0001.IPF             SOURCE: OS2SQL FORUM 
  1433.  DATE: 03/03/91                     RELEASE LEVEL: 1.2 
  1434.  TIME: 6:47pm                       CSD LEVEL: GA 
  1435.  
  1436.  You can easily put a separate SQLCA in each of the routines that run under 
  1437.  different threads.  Just declare the SQLCA yourself rather than use the 
  1438.  INCLUDE SQLCA statement.  For example: 
  1439.  
  1440.   #include "sqlca.h"
  1441.  
  1442.   void far mythread1()
  1443.   {
  1444.   struct sqlca sqlca;
  1445.   .
  1446.   .
  1447.   return();
  1448.   }
  1449.  
  1450.   void far mythread2()
  1451.   {
  1452.   struct sqlca sqlca;
  1453.   .
  1454.   .
  1455.   return();
  1456.   }
  1457.  
  1458.  You can also build a serialized routine to process SQLCA's that contain 
  1459.  errors.  This allows successful threads to continue to do their work. Remember 
  1460.  that the Database Manager's Runtime Services are also serialized, so even if 
  1461.  you avoid variable problems, only one thread per process is allowed to process 
  1462.  SQL statements at a time. The serialization also applies to START and STOP 
  1463.  USING DATABASE and CREATE DATABASE.  I don't think any of the other APIs are 
  1464.  serialized. 
  1465.  
  1466.  
  1467. ΓòÉΓòÉΓòÉ 4.5.3. Writing a Fixed-Length ASCII Table Export Program. ΓòÉΓòÉΓòÉ
  1468.  
  1469.  TIP# 0002                          ENTERED BY: Pettes, Michell H. 
  1470.  FILENAME: DBMC0002.IPF             SOURCE: OS2SQL FORUM 
  1471.  DATE: 03/03/91                     RELEASE LEVEL: 1.2 
  1472.  TIME: 7:03pm                       CSD LEVEL: GA 
  1473.  
  1474.  It is non-trivial to write a general export program, but not super-difficult 
  1475.  either.  You will need to use the dynamic forms of the DECLARE, PREPARE, OPEN, 
  1476.  CLOSE and FETCH statements, and you will need to use SQLDA's.  It will help if 
  1477.  you do this in a language with decent memory allocation and pointer 
  1478.  manipulation facilities, such as C or Pascal.  COBOL is a distant possibility. 
  1479.  Forget FORTRAN.  Here is the pseudocode for a program to export a table.  SQL 
  1480.  is in upper case. 
  1481.  
  1482.      BEGIN DECLARE SECTION
  1483.         Declare STMT, a string variable.
  1484.         Declare CNT, an integer variable.
  1485.      END DECLARE SECTION
  1486.  
  1487.      INCLUDE SQLCA
  1488.      INCLUDE SQLDA
  1489.         Declare DA_PTR, a pointer to an SQLDA structure.
  1490.  
  1491.      STMT = 'SELECT * FROM '
  1492.  
  1493.      Get table name from user.
  1494.      Concatenate table name to STMT.
  1495.  
  1496.      Find out how many columns the table has ; call it NCOLS.
  1497.  
  1498.  
  1499.      Allocate SQLDASIZE(NCOLS) bytes of memory, and make DA_PTR point to it.
  1500.      Set DA_PTR-<SQLN = NCOLS;
  1501.  
  1502.      PREPARE S1 FROM :STMT
  1503.  
  1504.      DESCRIBE S1 INTO DA_PTR
  1505.  
  1506.      for each SQLVAR:
  1507.  
  1508.         case SQLTYPE:
  1509.  
  1510.            496, 497: SQLDATA = (*long int)malloc(SQLLEN);
  1511.            500, 501: SQLDATA = (*short int)malloc(SQLLEN);
  1512.  
  1513.               .
  1514.               .  (SQLTYPES can be found with the description of
  1515.                         the SQLDA)
  1516.               .
  1517.  
  1518.         end case.
  1519.  
  1520.         if odd_number(SQLDATA) SQLIND = (*short int)malloc(2);
  1521.  
  1522.  
  1523.      end for.
  1524.  
  1525.      DECLARE C1 CURSOR FOR S1
  1526.  
  1527.      OPEN C1
  1528.  
  1529.      loop until no more rows:
  1530.  
  1531.         FETCH C1 USING DESCRIPTOR DA_PTR
  1532.  
  1533.         output values to file
  1534.  
  1535.      end loop
  1536.  
  1537.      CLOSE C1
  1538.  
  1539.  
  1540. ΓòÉΓòÉΓòÉ 4.5.4. SQL Preprocessor and Host Variables. ΓòÉΓòÉΓòÉ
  1541.  
  1542.  TIP# 0003                          ENTERED BY: Pettes, Michell H. 
  1543.  FILENAME: DBMC0003.IPF             SOURCE: OS2SQL FORUMS 
  1544.  DATE: 03/04/91                     RELEASE LEVEL: 1.2 
  1545.  TIME: 12:22pm                      CSD LEVEL: GA 
  1546.  
  1547.  OS/2 does not support qualified variable names in SQL in any language. 
  1548.  However, if your goal is to retrieve directly into elements of a structure, 
  1549.  there are two things you can do in C, Pascal or COBOL: 
  1550.  
  1551.   1. Either retrieve the data via an SQLDA which contains SQLVAR elements 
  1552.      pointing to the items in your structure, 
  1553.   2. or use pointers directly. 
  1554.  
  1555.  Both techniques will be illustrated for COBOL in this tip. Neither of these 
  1556.  techniques can be used easily in FORTRAN, although the OS/2 API routines 
  1557.  SQLGADDR (Get Address) and SQLGDREF (Dereference Address) can be used to 
  1558.  manage SQLDA's.  Both examples show how to fetch an integer and a character 
  1559.  field from a table called MYTAB into a structure called MY-STRUCTURE.  In the 
  1560.  first example, we define the structure and an SQLDA with two SQLVARs.  We make 
  1561.  the first SQLVAR point to one of the items in MY-STRUCTURE, and the second one 
  1562.  point to the other item.  Then we FETCH USING DESCRIPTOR--if the FETCH 
  1563.  succeeds, the data will wind up in MY-STRUCTURE: 
  1564.  
  1565.          data division.
  1566.          working-storage section.
  1567.          01 my-structure.
  1568.             03 item-1 pic s9(4) comp-5.
  1569.             03 item-2 pic x(10).
  1570.  
  1571.          EXEC SQL
  1572.             INCLUDE SQLDA
  1573.          END-EXEC.
  1574.  
  1575.          EXEC SQL
  1576.             INCLUDE SQLCA
  1577.          END-EXEC.
  1578.  
  1579.          EXEC SQL
  1580.              DECLARE C1 CURSOR FOR
  1581.                 SELECT COL1, COL2
  1582.                 FROM MYTAB
  1583.          END-EXEC.
  1584.  
  1585.          procedure division.
  1586.          start-para.
  1587.  
  1588.         *    DEFINE SQLDA WITH TWO VARIABLES
  1589.  
  1590.              move 2 to sqln
  1591.  
  1592.         *    FIRST SQLVAR POINTS TO ITEM-1
  1593.  
  1594.              move 500 to sqltype(1)
  1595.              move 2 to sqllen(1)
  1596.              set sqldata(1) to address of item-1
  1597.  
  1598.         *    SECOND SQLVAR POINTS TO ITEM-2
  1599.  
  1600.              move 452 to sqltype(2)
  1601.              move 10 to sqllen(2)
  1602.              set sqldata(2) to address of item-2
  1603.  
  1604.         *    PERFORM SQL OPERATIONS WITH SQLDA
  1605.  
  1606.              EXEC SQL
  1607.                 OPEN C1
  1608.              END-EXEC
  1609.  
  1610.              EXEC SQL
  1611.                 FETCH C1 USING DESCRIPTOR :SQLDA
  1612.              END-EXEC
  1613.  
  1614.              EXEC SQL
  1615.                 CLOSE C1
  1616.              END-EXEC
  1617.  
  1618.              display item-1, item-2
  1619.              stop run.
  1620.  
  1621.  This is an awful lot of trouble to go through, and fairly restrictive, because 
  1622.  some statements (e.g. SELECT INTO) cannot use descriptors. On the other hand, 
  1623.  it should be completely portable to other IBM SQL products, as long as COBOL 
  1624.  supports pointers.  The second example shows how to define "surrogate" host 
  1625.  variables in the LINKAGE SECTION, and how to overlay these on structure items. 
  1626.  This technique is easier to use (you don't have to know about SQLTYPES  and 
  1627.  SQLDA esoterical), and more flexible, because you really get to use host 
  1628.  variables.  However, it may not be portable. 
  1629.  
  1630.          data division.
  1631.          linkage section.
  1632.  
  1633.          EXEC SQL
  1634.             BEGIN DECLARE SECTION
  1635.          END-EXEC.
  1636.  
  1637.          77 temp-1 pic s9(4) comp-5.
  1638.          77 temp-2 pic x(10).
  1639.  
  1640.          EXEC SQL
  1641.             END DECLARE SECTION
  1642.          END-EXEC.
  1643.  
  1644.          working-storage section.
  1645.  
  1646.          01 my-structure.
  1647.             03 item-1 pic s9(4) comp-5.
  1648.             03 item-2 pic x(10).
  1649.  
  1650.          77 ptr-1 usage is pointer.
  1651.          77 ptr-2 usage is pointer.
  1652.  
  1653.          EXEC SQL
  1654.             INCLUDE SQLCA
  1655.          END-EXEC.
  1656.  
  1657.          procedure division.
  1658.          start-para.
  1659.  
  1660.         *    DEFINE ADDRESSES OF HOST VARIABLES
  1661.  
  1662.              set ptr-1 to address of item-1
  1663.              set address of temp-1 to ptr-1
  1664.              set ptr-2 to address of item-2
  1665.              set address of temp-2 to ptr-2
  1666.  
  1667.         *     PERFORM SQL OPERATIONS WITH TEMP VARIABLES
  1668.  
  1669.              EXEC SQL
  1670.                 SELECT COL1, COL2
  1671.                 INTO :temp-1, :temp-2
  1672.                 FROM MYTAB
  1673.              END-EXEC
  1674.  
  1675.              display item-1, item-2
  1676.              stop run.
  1677.  
  1678.  
  1679. ΓòÉΓòÉΓòÉ 4.5.5. Concatenating Columns in Select Statements. ΓòÉΓòÉΓòÉ
  1680.  
  1681.  TIP# 0004                          ENTERED BY: Pettes, Michell H. 
  1682.  FILENAME: DBMC0004.IPF             SOURCE: OS2SQL FORUMS 
  1683.  DATE: 03/04/91                     RELEASE LEVEL: 1.2 
  1684.  TIME: 12:37pm                      CSD LEVEL: GA 
  1685.  
  1686.  However, it is part of SAA Level II SQL, so you can expect it be be available 
  1687.  within the next two years.  In the meantime, workarounds will depend on your 
  1688.  application. For example: 
  1689.  
  1690.     FOR:                  USE:
  1691.  
  1692.     SELECT AΓöéΓöéB                 SELECT A,B
  1693.     INTO :x...                  INTO :x1, :x2...
  1694.  
  1695.                                 x = concat(x1,x2);
  1696.  
  1697.     WHERE AΓöéΓöéB = C              WHERE A = SUBSTR(C,1,LENGTH(A))
  1698.                                 AND   B = SUBSTR(C,LENGTH(A)+1,LENGTH(B))
  1699.  
  1700.                                 /* this will be problematic if C */
  1701.                                 /* is not at least as long as A. */
  1702.  
  1703.     UPDATE ...                  loop;
  1704.     SET X = AΓöéΓöéB                   FETCH INTO :a, :b;
  1705.                                    x = concat(a,b);
  1706.                                    UPDATE WHERE CURRENT SET X = :x;
  1707.                                 end;
  1708.  I can't think of an example where there is not some sort of workaround, but 
  1709.  the workarounds will almost always involve extra SQL or jumping out into an 
  1710.  application program. 
  1711.  
  1712.  
  1713. ΓòÉΓòÉΓòÉ 4.5.6. Using REXX for Database Manager Reporting. ΓòÉΓòÉΓòÉ
  1714.  
  1715.  TIP# 0005                          ENTERED BY: Pettes, Michell H. 
  1716.  FILENAME: DBMC0005.IPF             SOURCE: OS2SQL FORUMS 
  1717.  DATE: 03/04/91                     RELEASE LEVEL: 1.2 
  1718.  TIME: 12:59pm                      CSD LEVEL: GA 
  1719.  
  1720.  The answer to any kind of report that QM won't handle is REXX. Here is a 
  1721.  sample of how you could list columns of a table vertically: 
  1722.  
  1723.      nullind = ">none<"
  1724.  
  1725.      stmt = "SELECT   DEPTNUMB, DEPTNAME, DIVISION, LOCATION,",
  1726.             "         ID, NAME, JOB, YEARS, SALARY, COMM",
  1727.             "FROM     ORG, STAFF",
  1728.             "WHERE    DEPTNUMB = DEPT",
  1729.             "ORDER BY DEPTNUMB, ID"
  1730.  
  1731.      call sqlexec "DECLARE C1 CURSOR FOR S1"
  1732.  
  1733.      call sqlexec "PREPARE S1 FROM :stmt"
  1734.  
  1735.      call sqlexec "OPEN C1"
  1736.  
  1737.      call sqlexec "FETCH C1 INTO ",
  1738.         ":DEPTNUMB:i1, :DEPTNAME:i2, :DIVISION:i3, :LOCATION:i4,",
  1739.         ":ID:i5, :NAME:i6, :JOB:i7, :YEARS:i8, :SALARY:i9, :COMM:i10"
  1740.  
  1741.      do while SQLCA.SQLCODE = 0
  1742.  
  1743.         /* Check for nulls */
  1744.         if i1  < 0 then DEPTNUMB = nullind
  1745.         if i2  < 0 then DEPTNAME = nullind
  1746.         if i3  < 0 then DIVISION = nullind
  1747.         if i4  < 0 then LOCATION = nullind
  1748.         if i5  < 0 then ID       = nullind
  1749.         if i6  < 0 then NAME     = nullind
  1750.         if i7  < 0 then JOB      = nullind
  1751.         if i8  < 0 then YEARS    = nullind
  1752.         if i9  < 0 then SALARY   = nullind
  1753.         if i10 < 0 then COMM     = nullind
  1754.  
  1755.         say "Employee Id:  "ID"   Name: "NAME
  1756.         say "Job: "JOB"   Years: "YEARS
  1757.         say "Salary:  "SALARY"  Commission:  "COMM
  1758.         say
  1759.  
  1760.         /* Get next row */
  1761.         call sqlexec "FETCH C1 INTO ",
  1762.             ":DEPTNUMB:i1, :DEPTNAME:i2, :DIVISION:i3, :LOCATION:i4,",
  1763.             ":ID:i5, :NAME:i6, :JOB:i7, :YEARS:i8, :SALARY:i9, :COMM:i10"
  1764.      end
  1765.  
  1766.      call sqlexec "CLOSE C1"
  1767.  
  1768.  This just gives the idea.  You will have to provide such things as database 
  1769.  starting and stopping, error handling, page checking, and so on.  But even if 
  1770.  you don't know REXX, it's pretty simple. 
  1771.  
  1772.  If you need more REXX sample code, take a look at the Summer '90 PS Developer, 
  1773.  which has an article called "Accessing the Database from Five Different 
  1774.  Languages".  (One of them is REXX). MIGRATION 
  1775.  
  1776.  
  1777. ΓòÉΓòÉΓòÉ 4.6. MIGRATION ΓòÉΓòÉΓòÉ
  1778.  
  1779.  
  1780. ΓòÉΓòÉΓòÉ 4.6.1. Converting an OS/2 1.1 Database to 1.2 or 1.3. ΓòÉΓòÉΓòÉ
  1781.  
  1782.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  1783.  FILENAME: DBMG0000.IPF             SOURCE: OS2 FORUMS 
  1784.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 + 
  1785.  TIME: 12:53pm                      CSD LEVEL: GA 
  1786.  
  1787.  The documented way is: 
  1788.  
  1789.   1. Take the production machine off-line. 
  1790.   2. Create a backup of the database on the 1.1 machine via QM's BACKUP. 
  1791.   3. Install Version 1.2 or 1.3. 
  1792.   4. RESTORE the database on the 1.2 or 1.3 machine.  It will be migrated 
  1793.      automatically. 
  1794.   5. Put the machine back on-line. 
  1795.  
  1796.  Existing applications should run as is.  Or you can upgrade the existing 
  1797.  applications as described in the Programming Reference Appendix H. 
  1798.  
  1799.  
  1800. ΓòÉΓòÉΓòÉ 5. LOCAL AREA NETWORK (LAN) ΓòÉΓòÉΓòÉ
  1801.  
  1802. INSTALL/REINSTALL 
  1803.  
  1804.  
  1805. ΓòÉΓòÉΓòÉ 5.1. INSTALL REINSTALL ΓòÉΓòÉΓòÉ
  1806.  
  1807.  
  1808. ΓòÉΓòÉΓòÉ 5.1.1. How to install LAN Requester using REINST ΓòÉΓòÉΓòÉ
  1809.  
  1810.  TIP# 0000                          ENTERED BY: Pav, Eric M. 
  1811.  FILENAME: LANI0000.IPF             SOURCE: OS2 FORUMS 
  1812.  DATE: 02/05/91                     RELEASE LEVEL: 1.1+ 
  1813.  TIME: 10:53am                      CSD LEVEL: GA 
  1814.  
  1815.   Problems with reinstalling Lan Requester using REINST. 
  1816.  
  1817.  You must have a Communication Manager config file configured for LAN. During 
  1818.  REINST ask CM to install that config file, then the LAN requester will be 
  1819.  selectable. 
  1820.  
  1821.  Note:  While you are doing REINST, the rest of your OS/2 operations are still 
  1822.  operational, so you can continue doing other things while REINST is 
  1823.  installing. 
  1824.  
  1825.  Note:  Make sure you stop all network processes ( NET STOP ...) before 
  1826.  beginning REINST. 
  1827.  
  1828.  Warning: When the REINST finishes and you press the PF3 key to "complete the 
  1829.  installation", it forces a re-boot, so be sure to save whatever files you are 
  1830.  editing before completing REINST. 
  1831.  
  1832.  
  1833. ΓòÉΓòÉΓòÉ 5.1.2. First time USERID and Password. ΓòÉΓòÉΓòÉ
  1834.  
  1835.  TIP# 0001                          ENTERED BY: O'Reilly, Kathleen M. 
  1836.  FILENAME: LANI0001.IPF             SOURCE: OS2 FORUMS 
  1837.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1838.  TIME: 1:25pm                       CSD LEVEL: GA 
  1839.  
  1840.  The first time you logon to the network after install, a default NET.ACC file 
  1841.  is used to provide a user id and password.  These are: 
  1842.  
  1843.  Admin Account Name:      USERID 
  1844.  Admin Password:          PASSWORD 
  1845.  Guest Account Name:      GUEST 
  1846.  Guest Password:          (no password) 
  1847.  Role:                    STANDALONE 
  1848.  
  1849.  
  1850. ΓòÉΓòÉΓòÉ 5.1.3. Can't Start Messenger. ΓòÉΓòÉΓòÉ
  1851.  
  1852.  TIP# 0002                          ENTERED BY: O'Reilly, Kathleen M. 
  1853.  FILENAME: LANI0002.IPF             SOURCE: OS2 FORUMS 
  1854.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1855.  TIME: 1:27pm                       CSD LEVEL: GA 
  1856.  
  1857.  If you experience problems starting the MESSENGER  (ERROR NET:3062) make sure 
  1858.  there is a directory C:\IBMLAN\LOGS. If it doesn't exist, do:
  1859.  
  1860.       MD C:\IBMLAN\LOGS 
  1861.  
  1862.  
  1863. ΓòÉΓòÉΓòÉ 5.1.4. Install of LAN Server. ΓòÉΓòÉΓòÉ
  1864.  
  1865.  TIP# 0003                          ENTERED BY: O'Reilly, Kathleen M. 
  1866.  FILENAME: LANI0003.IPF             SOURCE: OS2 FORUMS 
  1867.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1868.  TIME: 1:29pm                       CSD LEVEL: GA 
  1869.  
  1870.  If you need to install the Lan Server, but have not yet installed the Lan 
  1871.  Requester from Extended Edition, SRVINST, the installation program from Lan 
  1872.  Server, will not let you install because you are missing the Requester from 
  1873.  the Communications Manager. Also, REINST will only let you install what you 
  1874.  already have installed. However,  there is a utility in OS2\SYSTEM called 
  1875.  EECFG that will allow you to change your configuration. You will need to run 
  1876.  this, select CHANGE to modify your current .CFG file and add Lan Requester to 
  1877.  your configuration. Then go back to REINST and  reinstall the Communications 
  1878.  Manager. The Lan Requester piece will be installed accordingly. 
  1879.  
  1880.  
  1881. ΓòÉΓòÉΓòÉ 5.1.5. Reinst 1.3 System Error ΓòÉΓòÉΓòÉ
  1882.  
  1883.  TIP# 0004                          ENTERED BY: O'Reilly, Kathleen 
  1884.  FILENAME: LANI0004.IPF             SOURCE: OS2 FORUMS 
  1885.  DATE: 02/05/91                     RELEASE LEVEL: 1.3 
  1886.  TIME: 5:06pm                       CSD LEVEL: GA 
  1887.  
  1888.  If you ever had an aborted install or REINST under 1.2 and a subdirectory 
  1889.  (with LAN DLL's usually) called DDITEMP is under OS2\INSTALL then the EE 1.3 
  1890.  Install diskette will fail (on a version check).  The remedy is to erase the 
  1891.  files and remove the subdirectory.  Normally, use of the 1.2 install diskette 
  1892.  after the aborted install (or REINST) would clear these files and subdirectory 
  1893.  out and there would be no problem;however, this does not seem to be the case 
  1894.  in all instances. 
  1895.  
  1896.  
  1897. ΓòÉΓòÉΓòÉ 5.1.6. Duplication of Domain Controllers ΓòÉΓòÉΓòÉ
  1898.  
  1899.  TIP# 0005                          ENTERED BY: JGABAY @ ADTSUPP 
  1900.  FILENAME: LANI0005.IPF             SOURCE: OS2LAN12 Forum 
  1901.  DATE: 02/21/91                     RELEASE LEVEL: 1.2+ 
  1902.  TIME: 9:26am                       CSD LEVEL: GA 
  1903.  
  1904.  Here is a procedure to clone the user ids from one domain to another under 
  1905.  1.2. 
  1906.  
  1907.  D1 is the domain controller with the userids, D2 is the new domain controller. 
  1908.  (Both D1 and D2 represent the SERVER name on the DC). 
  1909.  
  1910.   1. On D1, add D2 as an additional server (Definitions / Machine Parameters). 
  1911.  
  1912.   2. On D2: 
  1913.  
  1914.     NET STOP REQ /Y 
  1915.  
  1916.     NET ACCOUNTS /ROLE:MEMBER 
  1917.  
  1918.     NET START REQ /DOMAIN:D1 
  1919.  
  1920.     NET START SRV 
  1921.  
  1922.     If SRV doesn't start, use procedure in README file on server diskette to 
  1923.     resynch password between D2 and D1. 
  1924.  
  1925.   3. Once NETLOGON is started, wait for NET.ACC to replicate.  This will take 
  1926.      several minutes. 
  1927.  
  1928.   4. On D2: 
  1929.  
  1930.     NET STOP REQ /Y 
  1931.  
  1932.     NET ACCOUNTS /ROLE:PRIMARY 
  1933.  
  1934.     NET START SRV 
  1935.  
  1936.   5. On D1, delete the machine definition for D2. PERFORMANCE 
  1937.  
  1938.  
  1939. ΓòÉΓòÉΓòÉ 5.2. PERFORMANCE ΓòÉΓòÉΓòÉ
  1940.  
  1941.  
  1942. ΓòÉΓòÉΓòÉ 5.2.1. Synchronizing Time ΓòÉΓòÉΓòÉ
  1943.  
  1944.  TIP# 0000                          ENTERED BY: O'Reilly, Kathleen 
  1945.  FILENAME: LANP0000.IPF             SOURCE: OS2 FORUMS 
  1946.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  1947.  TIME: 10:29am                      CSD LEVEL: GA 
  1948.  
  1949.   In order to synchronize the time on the domain with that of the time on 
  1950.  another domain or server, use the following: 
  1951.  
  1952.  To synch DOMAINA with DOMAINB: 
  1953.  (On DOMAINA) 
  1954.    NET TIME /DOMAIN:DOMAINB /SET /YES 
  1955.  
  1956.  To synch with any server: 
  1957.    NET TIME \\servname /SET /YES 
  1958.  
  1959.  
  1960. ΓòÉΓòÉΓòÉ 5.2.2. LAN Tuning Notes ΓòÉΓòÉΓòÉ
  1961.  
  1962.  TIP# 0001                          ENTERED BY: JGABAY @ ADTSUPP 
  1963.  FILENAME: LANP0001.IPF             SOURCE: LANDOC FORUM 
  1964.  DATE: 02/14/91                     RELEASE LEVEL: 1.2+ 
  1965.  TIME: 11:22am                      CSD LEVEL: GA 
  1966.  
  1967.  The following is some tuning information compiled as a result of some testing 
  1968.  and questions of LAN performance. 
  1969.  
  1970.  RULES OF THUMB 
  1971.  
  1972.  
  1973.   SERVER                                  Default  Tuned    Tuned
  1974.                                                    4 Sta    24 Sta
  1975.  
  1976.        -    cache size(see CONFIG.SYS)     64K     1560K    2M or more
  1977.        -    numreqbufs(see IBMLAN.INI)     15       40       60-90
  1978.        -    numbigbufs        "             3       12       30
  1979.        -    numfiletasks      "             4        7        8
  1980.  
  1981.   WORKSTATION
  1982.  
  1983.        -    maxwrkcache       "            64        64
  1984.        -    numworkbufs       "            15        15
  1985.        -    sizeworkbufs      "           4096K     4096K
  1986.  
  1987.  HEURISTICS 
  1988.  
  1989.  This description is intended to be an aid in using Appendix A. IBMLAN.INI 
  1990.  File, in the OS/2 LAN Server Network Administrator's Reference and should be 
  1991.  read in conjunction with the corresponding Requester and Server sections. 
  1992.  Recommended changes from default values in OS/2 LAN Server 1.1 are emphasized 
  1993.  with capital letters. 
  1994.  
  1995.  REQUESTER 
  1996.  
  1997.  wrkheuristics= in IBMLAN.INI 
  1998.  
  1999.  BIT  ADDITIONAL DESCRIPTION 
  2000.  
  2001.   0  When active, allows a file opened in "deny none" sharing mode to be locked 
  2002.       by the Server, as long as there are no other requests for access, so that 
  2003.       buffering can be used to enhance performance.  The Server service assumes 
  2004.       it is the only process active and so, can safely prevent the second 
  2005.       requester from accessing the file until buffer data has been flushed 
  2006.       (written to disk).  See also srvheuristics bits 1 and 15. 
  2007.  
  2008.   1  When active, a batch file on the Server being executed on the requester 
  2009.       will be kept in the requester's buffer to prevent a request across the 
  2010.       LAN for each line of the batch file.  The batch file is "opened" and 
  2011.       "closed" with each line executed; the "close" causes buffer data to be 
  2012.       flushed. 
  2013.  
  2014.   2  This means that files in the requester buffer will be "unlocked" in the 
  2015.       buffer and processing will continue without waiting(asynchronous) for 
  2016.       confirmation from the Server.  If an error should occur at the Server, it 
  2017.       will be reported later.  Generally, the only errors which might occur 
  2018.       later are hard media errors such as disk full or a loss of power to the 
  2019.       Server. A "virtual circuit" is a NETBIOS session connection to another 
  2020.       machine via a LAN.  A "2" for this bit should be stated in Appendix A as 
  2021.       "Only on an OS/2 LAN Server virtual circuit" which excludes the DOS LAN 
  2022.       products . 
  2023.  
  2024.   3  Same as for bit 2 for the "close" file operation. Default should be 
  2025.       changed from "0" to "1" to optimize writing of files (large and small) to 
  2026.       the server. 
  2027.  
  2028.   4  Direct named pipes and communication devices through the requester's 
  2029.       buffers. 
  2030.  
  2031.   5  Same as for bit 2 for "lock read" and "write unlock" operations. 
  2032.  
  2033.   6  When active, a request to "open" a file will also perform a "read" of size 
  2034.       "sizeworkbuf" from the beginning of the file to the requester's work 
  2035.       buffer.  This is in anticipation that the data will be subsequently read 
  2036.       saving an additional request across the LAN. 
  2037.  
  2038.   7  When active, a request to read less than 512 bytes or a request resulting 
  2039.       in a partial sector being read will perform read-ahead to the end of the 
  2040.       sector.  This bit has no significance in the OS/2 LAN Server environment. 
  2041.  
  2042.   8  When active, data packets larger than the LAN's transmit buffer size will 
  2043.       be chained together eliminating some unnecessary acknowledgements across 
  2044.       the LAN. THE DEFAULT SHOULD BE CHANGED FROM "2" to "1" to optimize record 
  2045.       transfer in the OS/2 (tm) IBM LAN environment. 
  2046.  
  2047.   9  When active and the file access mode allows, requests to read or write 
  2048.       data smaller than "sizeworkbuf", will be performed locally, in the 
  2049.       requester's buffer, avoiding a number of additional trips across the LAN. 
  2050.       The buffer will be flushed when the file is closed or the buffer is 
  2051.       needed to satisfy other requests.  This is a very big performance 
  2052.       enhancer for applications which read, modify and write back small 
  2053.       records. 
  2054.  
  2055.  10  Shared access means that the file was opened in sharing mode. These 
  2056.       options allow selective tuning of the buffer mode in case some 
  2057.       applications may handle data in a manner which conflicts with buffering. 
  2058.       The OS/2 LAN Server can determine dynamically when sequential reading or 
  2059.       writing is occurring. THE DEFAULT SHOULD BE CHANGED FROM "3" to "1" to 
  2060.       optimize random read of records less than 4K bytes. 
  2061.  
  2062.  11  Appendix A erroneously identifies SMB as "System Message Block"; it should 
  2063.       read "Server Message Block."  The "raw" read and write SMB protocols mean 
  2064.       that data is transferred across the LAN without SMB headers. This 
  2065.       methodology is used to transfer large files directly between a "big 
  2066.       buffer" in the Server and "work cache" in the requester.  When this 
  2067.       protocol is initiated by a large file transfer, the NETBIOS session 
  2068.       involved has exclusive use of the LAN until completion.  Polling is used 
  2069.       to assure that the large buffers are available prior to commencement. 
  2070.       This is a significant performance enhancer for large file transfers 
  2071.       across the LAN. 
  2072.  
  2073.  12  This bit and bit 13 provide independent control over the use of "raw" SMB 
  2074.       protocol for read-ahead and write-behind, respectively.  Both are active 
  2075.       with default values but may be turned off should it better suit a 
  2076.       particular environment. 
  2077.  
  2078.  13  See bits 11 and 12 above. 
  2079.  
  2080.  14  This Server Message Block(SMB) protocol is used for large "reads" if the 
  2081.       large buffers described in 11 above are not available or "raw" is 
  2082.       inactive.  It breaks transfers up into buffer size chunks (usually 4K) 
  2083.       and chains them together to satisfy the request.  Exclusive use of the 
  2084.       LAN does not occur . 
  2085.  
  2086.  15  Same as for bit 14 but for large "write" requests. 
  2087.  
  2088.  16  This bit has no significance in an OS/2 LAN environment. 
  2089.  
  2090.  17  When active, requests to read small data records will cause read-ahead in 
  2091.       multiples of the data record size such that a full buffer will be read 
  2092.       and sent to the requester.  The last record in the buffer may not be 
  2093.       complete due to multiple records not fitting evenly in the buffer. No 
  2094.       data will be lost.  This bit is only significant if bit 9 is made 
  2095.       inactive; this scenario will be detected by the Server forcing this 
  2096.       read-ahead where small data records of the same size are being read 
  2097.       sequentially. 
  2098.  
  2099.  18  When active, requests to write small data records will cause write-behind 
  2100.       in multiples of the data record size such that a full buffer will be 
  2101.       written to the Server.  The last record written may not be complete due 
  2102.       to multiple records not fitting evenly in the buffer.  No data will be 
  2103.       lost. This bit is only significant if bit 9 is made inactive; this 
  2104.       scenario will be detected by the Server forcing this write-behind where 
  2105.       small data records of the same size are being written sequentially. 
  2106.  
  2107.  19  Should not be made active in LAN Server or PCLP. 
  2108.  
  2109.  20  This provides flexibility to the requester application as to which files, 
  2110.       pipes, or devices are flushed(written to disk) from buffers when 
  2111.       DosBufReset or DosClose is done. The Appendix A description states "use 
  2112.       only" which is better stated "only those".  "Spin until flushed" means 
  2113.       wait until confirmation before proceeding with other tasks. 
  2114.  
  2115.  21  Encryption is not supported on OS/2 LAN Server Version 1.1. 
  2116.  
  2117.  22  No additional comment. 
  2118.  
  2119.  23  Appendix A is confusing.  When active, the Server will buffer all files 
  2120.       opened with sharing mode "deny write". This bit provides ability to 
  2121.       de-activate should some application not provide "read only" access. 
  2122.  
  2123.  24  Essentially the same as bit 23 but looking at the file access mode "read 
  2124.       only" instead of the sharing mode "deny write".  This bit provides 
  2125.       ability to de-activate buffering should some application not provide 
  2126.       "deny write" access. 
  2127.  
  2128.  25  THIS DIGIT SHOULD BE CHANGED TO "1" FOR MANY EXECUTABLE FILES LOADED 
  2129.       ACROSS THE LAN.  For example DW4/2 load time decreases by more than 50 
  2130.       percent.  Experiment with your particular program to determine which 
  2131.       option is better. Default should be changed from "0" to "1" to improve 
  2132.       load time for executable files across LAN. 
  2133.  
  2134.  26  No additional comment. 
  2135.  
  2136.  27  Core Server means a DOS based LAN Server such as PCLP.  OS/2 LAN Server 
  2137.       does not allow DOS based servers except as external resources. 
  2138.  
  2139.  28  The Appendix A information has errors in the description of the options 
  2140.       for this bit.  It should read: 
  2141.  
  2142.                             Value     Meaning
  2143.                             0         NoAck is never used
  2144.                             1         NoAck on send only
  2145.       The default is 1. OS/2 LAN Server 1.1 will only use NoAck mode with 
  2146.       "send." 
  2147.  
  2148.  29  When active, the requester will send a requester buffer of data to the 
  2149.       Server along with its request for "big buffers" to use for large file 
  2150.       transfers.  This may save time if the Server has a limited number of 
  2151.       "numbigbufs" in relation to the number of requesters trying to send large 
  2152.       files. 
  2153.  
  2154.  30  Values other than "1" are normally used only for debug purposes. 
  2155.  
  2156.  31  No comment. 
  2157.  
  2158.  SERVER 
  2159.  
  2160.  srvheuristics= in IBM.LAN.INI 
  2161.  
  2162.  BIT  ADDITIONAL DESCRIPTION 
  2163.  
  2164.   0  This bit must be active here and in the requester (bit 0) for 
  2165.       opportunistic locking to take effect.  See description given there. 
  2166.  
  2167.        1  "Client" is equivalent to requester.  This bit pertains to "reading 
  2168.       ahead" to the Server's buffers (big buffers and requester buffers) from 
  2169.       the file system and cache. 
  2170.  
  2171.   2  "Client" is equivalent to requester.  This bit pertains to "writing 
  2172.       behind" from Server's buffers (big buffers and requester buffers) to the 
  2173.       file system and cache. 
  2174.  
  2175.   3  This bit must be active here and in the requester(bit 8) for the "chain 
  2176.       send" NETBIOS command to work. 
  2177.  
  2178.   4  THE DEFAULT FOR THIS DIGIT SHOULD BE CHANGED FROM 1 TO 0 (DEACTIVATED) to 
  2179.       prevent wasted CPU cycles in an OS/2 LAN Server environment. 
  2180.  
  2181.   5  Not significant in the OS/2 LAN Server environment; only for old DOS 
  2182.       applications on DOS Server. 
  2183.  
  2184.   6  Server priority is set to allow other applications to have CPU access 
  2185.       also, if required. 
  2186.  
  2187.   7  This bit pertains to directory searches(DosFindFirst) and provides for 
  2188.       additional memory to be allocated dynamically instead of locking it up 
  2189.       when it may not be needed. 
  2190.  
  2191.   8  The scavenger is a high priority Server thread which monitors the network 
  2192.       for errors, writes to the error log and audit trail, sends alerts, etc. 
  2193.  
  2194.   9  This bit provides capability to disable read-ahead/write- behind buffering 
  2195.       in case some application breaks with this significant performance 
  2196.       enhancer. 
  2197.  
  2198.  10  No additional comment. 
  2199.  
  2200.  11  This is important to DOS requesters attempting to share programs on the 
  2201.       Server.  The DOS program loader opens ".exe" and ".com" files in 
  2202.       compatibility mode which would otherwise prevent sharing of that program 
  2203.       file. 
  2204.  
  2205.  12  No additional comment. 
  2206.  
  2207.  13  Appendix A has an error; it should read "If this is set to a value larger 
  2208.       than numbigbuf=, then it is reset to the value numbigbuf-1."  The use of 
  2209.       64KB(big buffers) for read-ahead involves a trade-off between large file 
  2210.       transfer and small record reads and writes.  As long as you have two 64KB 
  2211.       buffers remaining in the Server for each requester doing concurrent large 
  2212.       file transfers, then you should be able to use the remaining 64KB buffers 
  2213.       for read-ahead without a penalty. 
  2214.  
  2215.  14  If active, this bit will also convert "/" to "\" in path specifications. 
  2216.  
  2217.  15  A file opened in "deny none" sharing mode can be locked by the Server, as 
  2218.       long as there are no other requests for access to that file, so that 
  2219.       buffering can be used to enhance performance.  The Server assumes 
  2220.       exclusive usage of the file, and so, will prevent the second requester 
  2221.       from accessing the file until buffer data has been flushed(written to 
  2222.       disk). This bit sets the time at which the Server will break the lock and 
  2223.       grant access to the second request. 
  2224.  
  2225.  16  No additional comment. 
  2226.  
  2227.             GENERAL TUNING CONSIDERATIONS 
  2228.  
  2229.  o HEAVY RANDOM I/O USERS NEED LARGE CACHE IN SERVER 
  2230.  
  2231.  o HEAVY FILE TRANSFER USERS NEED LOTS OF "numbigbufs" IN SERVER 
  2232.  
  2233.  o IF MANY CONCURRENT USERS, USE LOTS OF "numreqbufs" AND "numfiletasks" IN 
  2234.    SERVER 
  2235.  
  2236.  o UNIQUE LAN ENVIRONMENT REQUIRES EXAMINATION/EXPERIMENTATION OF 
  2237.    WORKSTATION/SERVER HEURISTICS OPTIONS 
  2238.  
  2239.                  SUMMARY 
  2240.  
  2241.  o IMPROVED PERFORMANCE OVER DOS/PCLP. 
  2242.  
  2243.  o DEFAULT SERVER DISK CACHE IS IS INSUFFICIENT IN MOST CASES. 
  2244.  
  2245.  o DISK CACHE DOES NOT CACHE SEQUENTIAL FILES - USE VDISK IF LARGE SHARED FILES 
  2246.    ARE REGULARLY RETRIEVED FROM SERVER. 
  2247.  
  2248.  o FILE I/O OPEN/CLOSE OVERHEAD IS HIGHER IN OS/2 THAN DOS - USE FILE SHARING 
  2249.    MODES, OPENING/CLOSING FILES INFREQUENTLY (NORMALLY THIS IS THE CASE). 
  2250.  
  2251.  o MAKE USE OF IBMLAN.INI PARAMETER OPTIONS USING THE ABOVE REFERENCED 
  2252.    DOCUMENTS. LAN SERVER 
  2253.  
  2254.  
  2255. ΓòÉΓòÉΓòÉ 5.3. LAN SERVER ΓòÉΓòÉΓòÉ
  2256.  
  2257.  
  2258. ΓòÉΓòÉΓòÉ 5.3.1. Apply ΓòÉΓòÉΓòÉ
  2259.  
  2260.  TIP# 0000                          ENTERED BY: O'Reilly, Kathleen 
  2261.  FILENAME: LANL0000.IPF             SOURCE: OS2 FORUMS 
  2262.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  2263.  TIME: 10:03am                      CSD LEVEL: GA 
  2264.  
  2265.   Granting permission to use a subdirectory does NOT grant permission to use 
  2266.  any lower subdirectory.  For example, suppose you have an application ABC in 
  2267.  directory C:\APPS\ABCAPP.  You create a file alias ALLAPS which is C:\\APPS, 
  2268.  with universal Read and Execute permissions.  You create an application 
  2269.  definition for ABC which uses ALLAPPS as its root, with the Remaining Path To 
  2270.  Program = \ABCAPP to get you to the application itself.  In this case the user 
  2271.  will get an access control violation.  You have granted access to C:\APPS, but 
  2272.  not to C:\APPS\ABCAPP.
  2273.  
  2274.   However,LanServer does provide a quick way to grant access to "child" subdirectories.
  2275.  
  2276.   APPLY:Located in the Full Screen Interface, under Definitions-Access 
  2277.  Controls-Access.  APPLY provides a tool to propagate permissions for a given 
  2278.  alias. There are some cautions associated with this command. 
  2279.  
  2280.   1. There is no function to directly undo an APPLY. Suppose you APPLY the 
  2281.      profile for D: to all of the D: drive.  This action will traverse all the 
  2282.      subdirectories of D:, creating individual, independent access profiles for 
  2283.      each subdirectory, where all the new profiles are copies of the starting 
  2284.      profile.  There is no function to automatically delete these profiles, 
  2285.      though it can be done manually via Definitions- Access Control-Servers. 
  2286.  
  2287.   2.  APPLY can have unintended results.  Suppose you attempt to undo an APPLY 
  2288.      by setting the universal profile of C: to `N' (no access) and APPLYing 
  2289.      that.  Users will now be unable to logon because they now have no access 
  2290.      of any of the C: drive (e.g. LAN Server code and files ).  This is to say 
  2291.      that their Access Control Profiles have been replaced. 
  2292.  
  2293.   3.  If you perform an APPLY, you will REPLACE all Access Control Profiles for 
  2294.      all lower level subdirectories, and access control work that was 
  2295.      previously performed will be overwritten. 
  2296.  
  2297.  
  2298. ΓòÉΓòÉΓòÉ 5.3.2. Auditing on the Server. ΓòÉΓòÉΓòÉ
  2299.  
  2300.  TIP# 0001                          ENTERED BY: O'Reilly, Kathleen 
  2301.  FILENAME: LANL0001.IPF             SOURCE: OS2 FORUMS 
  2302.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  2303.  TIME: 10:24am                      CSD LEVEL: GA 
  2304.  
  2305.   You may wish to turn on the server's auditing facility to track accesses to 
  2306.  various resources (Actions, Statistics and Logs, Audit trails...). Note that 
  2307.  auditing does not take place unless IBMLAN.INI has been updated to enable it, 
  2308.  by setting the parameter AUDITING=YES, and the AUDIT TRAIL parameter on the 
  2309.  `Create An Access Control Profile' screen has been set accordingly. 
  2310.  
  2311.  
  2312. ΓòÉΓòÉΓòÉ 5.3.3. Access Rights ΓòÉΓòÉΓòÉ
  2313.  
  2314.  TIP# 0002                          ENTERED BY: O'Reilly, Kathleen 
  2315.  FILENAME: LANL0002.IPF             SOURCE: OS2 FORUMS 
  2316.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  2317.  TIME: 10:26am                      CSD LEVEL: GA 
  2318.  
  2319.  Validation processing for any access request proceeds as follows:
  2320.  
  2321.   1. The user gains access to a resource using an appropriate alias.  No access 
  2322.      validation is done at the time of this implicit NET USE. 
  2323.  
  2324.   2. The user attempts to open the resource, requesting the ability to perform 
  2325.      certain types of operations (say Read and Write). 
  2326.  
  2327.   3. LAN Server maps the name of the resource, as specified by the user, back 
  2328.      to the name of the real resource as stored on the server.  For example, 
  2329.      depending on the alias used, the user may open F:\GAZORT.TXT, which is 
  2330.      really the server's C:\ASUB\BSUB\CSUB\GAZORT.TXT.  Validation is performed 
  2331.      using the server's name for the file.  The specified ALIAS used to gain 
  2332.      access to the file plays no role in access validation. 
  2333.  
  2334.   4. LAN Server attempts to find an access profile for the specified resource 
  2335.      (filename) being opened. If none is found, LAN Server attempts to find an 
  2336.      access profile for the subdirectory containing that resource (the file), 
  2337.      i.e. the "parent" subdirectory.  If none is found for this "parent" 
  2338.      subdirectory in which the resource resides, the LAN Server attempts to 
  2339.      find an access profile for the root of the drive containing the resource. 
  2340.      Unlike PCLP and LAN Server 1.0, intervening subdirectories are not 
  2341.      checked. (Pipes and printers have an artificial "root directory"). 
  2342.  
  2343.   5. If no access profile can be found (filename, immediate "parent" directory, 
  2344.      or drive root directory), then access is denied.
  2345.  
  2346.       If an access profile is found: 
  2347.  
  2348.   6. Is the userid named in that access profile ? If so, the permissions listed 
  2349.      there govern what he can do.  No further checking is needed or performed. 
  2350.      If the userid is not named, then:
  2351.  
  2352.   7. Is the userid's GROUP named in that access profile?  If so, the 
  2353.      permissions listed there are added (union) to the universal permissions 
  2354.      (next step). 
  2355.  
  2356.   8. The universal permissions in that access profile (together with the 
  2357.      GROUP's permissions, if any) determine what the user can do. 
  2358.  
  2359.  
  2360. ΓòÉΓòÉΓòÉ 5.3.4. Separator Page On LAN Attached Printer ΓòÉΓòÉΓòÉ
  2361.  
  2362.  TIP# 0003                          ENTERED BY: JGABAY @ ADTSUPP 
  2363.  FILENAME: LANL0003.IPF             SOURCE: OS2LAN12 Forum 
  2364.  DATE: 02/20/91                     RELEASE LEVEL: 1.2 
  2365.  TIME: 1:23pm                       CSD LEVEL: GA 
  2366.  
  2367.  MODIFIED BY: JGABAY @ ADTSUPP                     DATE: 02/20/91  TIME: 1:31pm 
  2368.  
  2369.  To create a separator page for a LAN printer you first have to modify the 
  2370.  Print Manager parameters for the queue to which the printer is attached. 
  2371.  
  2372.  In Print Manager: 
  2373.  
  2374.  o Select Setup+Queues then select the shared printer queue (usually LPT1Q) and 
  2375.    select Change. 
  2376.  
  2377.  o In the Network options field enter SEPARATOR="SeparatorFileName" where 
  2378.    SeparatorFileName is the fully qualified name of a separator page file on 
  2379.    the servers local disk, and the quotes must be present. If a DRIVER= 
  2380.    statement is already present in that field, put the SEPARATOR= statement 
  2381.    immediately after it.  A space should be used as separator between the 
  2382.    DRIVE= and SEPARATOR= parameters. 
  2383.  
  2384.  o Save the changes. 
  2385.  
  2386.  It is not necessary to re-boot the system after adding,changing or deleting a 
  2387.  separator page. 
  2388.  
  2389.  The separator page file has the following format: 
  2390.  
  2391.    @ (the 'at' character) shows the start of a special command. 
  2392.  
  2393.  These commands are: 
  2394.  
  2395.      @L     - character literal (all bytes until next @)
  2396.      @H     - hexadecimal literal (one byte, i.e two hex digits)
  2397.      @B@S   - print next literal in block mode
  2398.      @U     - end block mode
  2399.      @N     - User name
  2400.      @D     - Date
  2401.      @T     - Time
  2402.      @I     - Job ID
  2403.      @0     - (NB zero) end of line (newline)
  2404.      @n     - where n=number, n blank lines
  2405.      @E     - End separator page definition
  2406.  
  2407.  A sample banner page follows.... 
  2408.  
  2409.      @
  2410.      @H18
  2411.      @L                           Local Area Network@0
  2412.      @0
  2413.      @L                             Page Separator@0
  2414.      @0
  2415.      @L                         in the Following Document@0
  2416.      @0
  2417.      @B@S@L LAN@U@0
  2418.      @0
  2419.      @L  Token Ring LAN  /  OS/2 EE V1.2@0
  2420.      @1@L  Domain  : @H1B@H45@L******@H1B@H46@0
  2421.      @0@L  Server  : @H1B@H45@L******@H1B@H46@0
  2422.      @0@L  Printer : @H1B@H45@LIBM PROPRINTER@H1B@H46@0
  2423.      @1@L  Date    : @H1B@H45@D@H1B@H46@0
  2424.      @0@L  Time    : @H1B@H45@T@H1B@H46@0
  2425.      @0@L  Job-ID  : @H1B@H45@I@H1B@H46@0
  2426.      @0@L  Userid  : @H1B@H45@N@H1B@H46@0
  2427.      @0@L*******************************************************************@0
  2428.      @0@H1B@H45@0
  2429.      @B@S@L@N@U@0
  2430.      @0@H1B@H46@0
  2431.      @0@L*******************************************************************@0
  2432.      @E
  2433.  DOS LAN REQUESTER 
  2434.  
  2435.  
  2436. ΓòÉΓòÉΓòÉ 5.4. DOS LAN REQUESTER ΓòÉΓòÉΓòÉ
  2437.  
  2438.  
  2439. ΓòÉΓòÉΓòÉ 5.4.1. Support of DOS LAN Requesters and AS/400 together. ΓòÉΓòÉΓòÉ
  2440.  
  2441.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  2442.  FILENAME: LANN0000.IPF             SOURCE: OS2 FORUMS 
  2443.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  2444.  TIME: 1:36pm                       CSD LEVEL: GA 
  2445.  
  2446.  IBM does officially support use of the DOS LAN Requesters and AS/ 400 PC 
  2447.  Support together;  documentation for how to set up the products to share the 
  2448.  LAN card is included in an appendix of the PC Support Operations Reference 
  2449.  Manual.  There will not be enough memory if you attempt to use all the 
  2450.  functions in both products, but there are reasonable working configurations 
  2451.  using subsets of each product. 
  2452.  
  2453.   If memory does turn out to be a problem, the combination of a 3rd party 
  2454.  product called Carousel and an IBM PRPQ called WCMME (Workstation Connectivity 
  2455.  Memory Management Enhancement) allows the two products to be loaded in 
  2456.  separate partitions and swapped in and out with a hot key. 
  2457.  
  2458.   If the customer is looking for "OFFICIAL" support, you may want to note that 
  2459.  PC Support is not yet officially certified for Novell coexistence (although 
  2460.  there is Novell support for the configuration, and IBM may add support in the 
  2461.  future)... 
  2462.  
  2463.  
  2464. ΓòÉΓòÉΓòÉ 5.4.2. New DLR Function call to get USERID and LOGON STATUS. ΓòÉΓòÉΓòÉ
  2465.  
  2466.  TIP# 0001                          ENTERED BY: Romano, John M. 
  2467.  FILENAME: LANN0001.IPF             SOURCE: OS2 FORUMS 
  2468.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  2469.  TIME: 1:39pm                       CSD LEVEL: GA 
  2470.  
  2471.  A DLR Requester can get USERID and LOGON Status information by issuing the INT 
  2472.  2A function call 7802.  This replaces the INT 21 function call 5E00 that was 
  2473.  used for PCLP requesters. 
  2474.  
  2475.  
  2476. ΓòÉΓòÉΓòÉ 5.4.3. Applying CSD's to DOS LAN Requester ΓòÉΓòÉΓòÉ
  2477.  
  2478.  TIP# 0002                          ENTERED BY: JGABAY @ ADTSUPP 
  2479.  FILENAME: LANN0002.IPF             SOURCE: 
  2480.  DATE: 02/13/91                     RELEASE LEVEL: 1.2/1.3 
  2481.  TIME: 3:59pm                       CSD LEVEL: GA 
  2482.  
  2483.  Applying OS/2 CSD updates to DOS LAN Requesters (LSP 1.2/1.3) can often be a 
  2484.  tedious and time-consuming task, especially if you have to reload frequently 
  2485.  or manage a large network.  The following instructions should help in 
  2486.  simplifying and speeding-up the process: 
  2487.  
  2488.   1. Install DOS LAN Requester on an OS/2 machine (it doesn't have to be your 
  2489.      server). 
  2490.  
  2491.   2. Create a file with the following entries: 
  2492.  
  2493.      \os2 
  2494.  
  2495.      \cmlib 
  2496.  
  2497.      \ibmlan 
  2498.  
  2499.      \sqllib 
  2500.  
  2501.      \dbdrqlib 
  2502.  
  2503.      \muglib 
  2504.  
  2505.      These are the root directories that the CSD install program looks for. 
  2506.      When it asks for a list of directories to be skipped, enter the name of 
  2507.      file you just created. The program is still going to make you go through 
  2508.      all the disks in set, but it goes much faster because it is not looking at 
  2509.      every file in every directory in the set. 
  2510.  
  2511.   3. After you have finished applying the CSD get a couple of blank diskettes 
  2512.      and use XCOPY with the /S and /M options to backup up your work. /S and /M 
  2513.      are used when there is a need to use XCOPY to copy several directories or 
  2514.      an entire disk to diskettes with insufficient space.  When the target 
  2515.      diskette is full, insert another diskette and execute the same XCOPY 
  2516.      command as previously entered.  Repeat this procedure until the 
  2517.      "Insufficient disk space" message doesn't appear and all files and 
  2518.      subdirectories have been copied.  Using XCOPY in this manner avoids the 
  2519.      drive/directory hassle of backup and allows you to copy these files the 
  2520.      drive/directory combination of your choice. 
  2521.  
  2522.      Warning: 
  2523.  
  2524.   4. Before reloading/upgrading a DOS LAN Requester be sure to check the 
  2525.      DOSLAN.INI file on both the system to be reloaded/upgraded and the 
  2526.      diskettes you are using.  DOSLAN.INI on the diskettes will overwrite any 
  2527.      customization you may have applied to the file on the target system. 
  2528.  
  2529.  
  2530. ΓòÉΓòÉΓòÉ 5.4.4. DLR & Novell Netware Coexistence ΓòÉΓòÉΓòÉ
  2531.  
  2532.  TIP# 0003                          ENTERED BY: JGABAY @ ADTSUPP 
  2533.  FILENAME: LANN0003.IPF             SOURCE: 
  2534.  DATE: 02/15/91                     RELEASE LEVEL: 1.2+ 
  2535.  TIME: 3:04pm                       CSD LEVEL: GA 
  2536.  
  2537.  MODIFIED BY: Gabay, J. T.                         DATE: 02/25/91  TIME: 
  2538.                                                    10:23am 
  2539.  
  2540.       IBM DOS Lan Requester and Novell Netware Shell Coexistence 
  2541.  
  2542.  INTRODUCTION 
  2543.  
  2544.  This document will briefly describe what is necessary to set up a DOS machine 
  2545.  such that it can be a client to both an IBM OS/2 LAN Server and a Novell 
  2546.  Netware Server.  This configuration currently applies only to the IBM 
  2547.  Token-Ring LAN.  For more information please see, "IBM Personal Systems 
  2548.  Technical Solutions", Issue 1, 1991 (G325-5010-00), page 17.  IBM DOS Lan 
  2549.  Requester (DLR) and Novell's Netware shell can be configured to coexist in the 
  2550.  same DOS client machine.  This document describes this environment and is 
  2551.  divided into the following sections: 
  2552.  
  2553.  o Modifying the "config.sys" File 
  2554.  
  2555.  o Modifying the "autoexec.bat" File 
  2556.  
  2557.  o Understanding the Coexistence Restrictions 
  2558.  
  2559.  MODIFYING THE "CONFIG.SYS" FILE 
  2560.  
  2561.  The client machine can be configured to support the coexistence environment by 
  2562.  modifying the "config.sys" file.  The modifications will control which logical 
  2563.  drive letters are available for use by the DLR and the Netware shell.  In 
  2564.  addition, the Token-Ring adapter will be instructed to initialize an 
  2565.  additional Service Access Point (SAP). 
  2566.  
  2567.  o Logical Drive Letters The LASTDRIVE parameter in "config.sys" is used to 
  2568.    control which logical drive letters are available for DLR and Netware to 
  2569.    use.  The IBM DOS Lan Requester looks at LASTDRIVE as the "final" logical 
  2570.    drive to assign while Netware uses LASTDRIVE as a "starting" point to assign 
  2571.    logical drives.  If the default CONFIG.SYS is taken (LASTDRIVE=Z), it does 
  2572.    not allow for Netware drive mappings. 
  2573.  
  2574.    This drive assignment varies according to how many drives are desired for 
  2575.    each server.  To split the number of available logical drives letters 
  2576.    approximately in half, put the following statement in config.sys: 
  2577.           LASTDRIVE=P This statement will divide the client machine's available 
  2578.    drive letters as follows: 
  2579.  
  2580.           A - F:  Six drives for local use; A and B for floppy's, C and D for 
  2581.                   hard disks, E and F for a RAM disks, CD ROMs, etc.. 
  2582.  
  2583.           G - P:  Ten drives for DLR redirection (i.e., NET USE) 
  2584.  
  2585.           Q - Z:  Ten drives for Novell redirection (i.e., MAP) 
  2586.  
  2587.  o Additional Service Access Point The concurrent connection to IBM and Netware 
  2588.    is handled through a single Token-Ring adapter card.  The config.sys change 
  2589.    is needed so that the IBM and Netware requestors each have their own SAP. 
  2590.    The device drivers that talk to the Token-Ring adapter are found in the LAN 
  2591.    Support Program (LSP).  During normal  LSP installation, several "DEVICE=" 
  2592.    statements where added to config.sys. The following parameters must be 
  2593.    appended to the existing "DEVICE=DXMT0MOD.SYS" statement which was added to 
  2594.    the config.sys during LSP installation: 
  2595.  
  2596.           O=YES ES=1 
  2597.  
  2598.      For example: 
  2599.  
  2600.           DEVICE=DXTM0MOD.SYS S=12 C=12 ST=12 O=YES ES=1 
  2601.  
  2602.  MODIFYING THE "AUTOEXEC.BAT" FILE 
  2603.  
  2604.  The sequence in which the client machine logs into the respective servers and 
  2605.  performs logical drive redirections is critical in the coexistence 
  2606.  environment.  The "autoexec.bat" file can be used to make sure that the proper 
  2607.  sequence is followed.  In summary, the following statements should be added to 
  2608.  autoexec.bat to force the proper sequence: 
  2609.  
  2610.        NET START
  2611.        NET USE ...
  2612.        NET USE ...
  2613.        .
  2614.        .
  2615.        .
  2616.        IPX
  2617.        NET4      (assuming DOS 4.0 shell)
  2618.        Q:\login
  2619.        MAP ...
  2620.        MAP ...
  2621.        .
  2622.        .
  2623.        .
  2624.  
  2625.  The statements above force the IBM DOS Lan Requester to be started and all IBM 
  2626.  drive letter aliases to be assigned before Netware is loaded. When the DLR is 
  2627.  operational and all aliases have been assigned, the Netware shell (for DOS 
  2628.  4.0) is loaded.  After the Netware shell is loaded, the "login" command is 
  2629.  visible on drive "Q:" (because LASTDRIVE=P). Finally, the autoexec.bat file 
  2630.  then performs Novell drive letter MAPpings. 
  2631.  
  2632.  UNDERSTANDING THE COEXISTENCE RESTRICTIONS 
  2633.  
  2634.  IBM DOS Lan Requester (DLR) and Novell's Netware shell can peacefully coexist 
  2635.  in the same DOS client machine.  The config.sys and autoexec.bat changes show 
  2636.  how this can be done with existing software and hardware products.  However, 
  2637.  some restrictions apply to this environment that must be understood.  These 
  2638.  restrictions are: 
  2639.  
  2640.  o The DOS LAN Requester must be loaded and the user must logon to the IBM 
  2641.    Server before the Netware requester is started. 
  2642.  
  2643.  o After logging off the IBM Server, further logons to the IBM network are not 
  2644.    possible when the Netware shell is loaded. 
  2645.  
  2646.  o NET USEs done after the Netware shell is loaded must contain a NULL password 
  2647.    override.  For example: This will NOT work: NET USE P: \\IBMSERVER\netname 
  2648.      This will work   : NET USE P: \\IBMSERVER\netname "" 
  2649.  
  2650.  o For PCLP-ES users, all of the above restrictions apply with the addition 
  2651.    that logging out of the IBM Server will cancel ALL redirected drives, 
  2652.    including Netware drives.  Although these restrictions do not prohibit use 
  2653.    of the coexistence environment, they are somewhat inconvenient.  Included in 
  2654.    this package is a small "terminate and stay ready" (TSR) program that will 
  2655.    solve the login/logout restriction for DLR users (not PCLP users).  While 
  2656.    the TSR (coexist.com) has not been rigorously tested by IBM, it has been 
  2657.    shown to successfully allow DLR users to login and logout of IBM Servers 
  2658.    while the Netware shell is loaded.  The TSR has also been shown to enable 
  2659.    IBM's OfficeVision/2 LAN, OS/2 Office DOS Requester Feature to work in the 
  2660.    coexistence environment.  To use "coexist.com", it must be loaded before and 
  2661.    after the "NETx" shell. For example, the following modifications to 
  2662.    "autoexec.bat" are necessary: 
  2663.  
  2664.            NET START
  2665.            NET USE ...
  2666.            NET USE ...
  2667.            .
  2668.            .
  2669.            .
  2670.            IPX
  2671.            COEXIST   <------ run before NETx
  2672.            NET4
  2673.            COEXIST   <------ run after NETx
  2674.            Q:\login
  2675.            MAP ...
  2676.            MAP ...
  2677.            .
  2678.            .
  2679.            .
  2680.  
  2681.  Warning: 
  2682.  
  2683.      Please note that "COEXIST.COM" is not an IBM Licensed Program Product and 
  2684.      is provided "AS-IS".  It can be obtained from your IBM SE.  The SE will 
  2685.      insure that the accompanying "AS-IS" licensing agreement is signed and 
  2686.      mailed to the indicated address. 
  2687.  
  2688.  
  2689. ΓòÉΓòÉΓòÉ 5.4.5. DLR/Windows 3.0 Installation/Operation ΓòÉΓòÉΓòÉ
  2690.  
  2691.  TIP# 0004                          ENTERED BY: Gabay, J. T. 
  2692.  FILENAME: LANN0004.IPF             SOURCE: Doc Nr S33F-9436-00 
  2693.  DATE: 03/11/91                     RELEASE LEVEL: 1.3 
  2694.  TIME: 2:02pm                       CSD LEVEL: GA 
  2695.  
  2696.  MODIFIED BY: Gabay, J. T.                         DATE: 03/12/91  TIME: 2:24pm 
  2697.  
  2698.  DOS LAN Requester 1.3/Windows 3.0 
  2699.  
  2700.  Installation and Configuration Guidelines: 
  2701.  
  2702.  o Windows Support Modules 
  2703.  o Installing Windows 
  2704.  o Using Windows / DLR 
  2705.  o Remote IPL 
  2706.  
  2707.  In addition to this reference, you may need to consult the following 
  2708.  publications: 
  2709.  
  2710.  o IBM Operating System2 Local Area Network Server Version 1.3 DOS LAN 
  2711.    Requester User's Guide 
  2712.  o IBM Operating System/2 Local Area Network Server Version 1.3 Getting Started 
  2713.  o Operating System2 Local Area Network Server Version 1.3 Network 
  2714.    Administrator's Guide 
  2715.  o The documentation that came with Windows. 
  2716.    CUSTOMIZATION 
  2717.  
  2718.  
  2719. ΓòÉΓòÉΓòÉ 5.5. CUSTOMIZATION ΓòÉΓòÉΓòÉ
  2720.  
  2721.  
  2722. ΓòÉΓòÉΓòÉ 5.5.1. Fullname, Comment fields in NET WHO ΓòÉΓòÉΓòÉ
  2723.  
  2724.  TIP# 0000                          ENTERED BY: O'Reilly, Kathleen 
  2725.  FILENAME: LANC0000.IPF             SOURCE: OS2 FORUMS 
  2726.  DATE: 02/05/91                     RELEASE LEVEL: 1.2+ 
  2727.  TIME: 10:31am                      CSD LEVEL: GA 
  2728.  
  2729.   How to get data into the FULLNAME and COMMENT fields displayed in the NET WHO 
  2730.  command: 
  2731.  
  2732.  FROM the SERVER: 
  2733.  
  2734.     NET WHO userid /FULLNAME:"This is the FULLNAME field" 
  2735.     NET WHO userid /COMMENT:"This is the COMMENT field" 
  2736.  
  2737.  FROM a WORKSTATION: 
  2738.  
  2739.     NET ADMIN \\servername /C NET USER userid /FULLNAME:"FULLNAME" 
  2740.      or 
  2741.     NET ADMIN \\servername /C NET USER userid /FULLNAME:\"FULLNAME WITH SPACES\"
  2742.  
  2743.     Note:  the use of backslashes is necessary when using embedded blanks. 
  2744.      or 
  2745.     NET ADMIN \\servername /C 
  2746.     NET USER userid /FULLNAME:"FULLNAME WITH SPACES" 
  2747.     EXIT 
  2748.  
  2749.  Note:  No backslashes are necessary when continuing commands on next line. 
  2750.  
  2751.  
  2752. ΓòÉΓòÉΓòÉ 5.5.2. Access of CDROM across Network ΓòÉΓòÉΓòÉ
  2753.  
  2754.  TIP# 0001                          ENTERED BY: O'Reilly, Kathleen 
  2755.  FILENAME: LANC0001.IPF             SOURCE: OS2 FORUMS 
  2756.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  2757.  TIME: 10:42am                      CSD LEVEL: GA 
  2758.  
  2759.   There is a way to access removable drives (i.e. CDROM) across the network:
  2760.  
  2761.   ON THE SERVER: 
  2762.  
  2763.    NET SHARE cdrom=D:\ 
  2764.    NET ACCESS D:\ ADD userid:R: 
  2765.  
  2766.  ON THE REQUESTER: 
  2767.  
  2768.    NET USE D: \\servname\cdrom
  2769.  
  2770.  
  2771. ΓòÉΓòÉΓòÉ 5.5.3. PROFILE.CMD for all Users. ΓòÉΓòÉΓòÉ
  2772.  
  2773.  TIP# 0002                          ENTERED BY: O'Reilly, Kathleen 
  2774.  FILENAME: LANC0002.IPF             SOURCE: OS2 FORUMS 
  2775.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  2776.  TIME: 10:47am                      CSD LEVEL: GA 
  2777.  
  2778.   If you would like to use a PROFILE.CMD that gets executed identically for 
  2779.  every user, and still give the user the option to customize his own, the 
  2780.  following procedure will work: 
  2781.  
  2782.   1. Assign each user a common drive (Ex: R:) 
  2783.  
  2784.   2. Assign each user a private drive at logon (Ex: S:) 
  2785.  
  2786.   3. Create a PROFILE.CMD of:
  2787.  
  2788.         START /WIN R:PROFILE.CMD
  2789.  
  2790.         EXIT 
  2791.  
  2792.   4. Copy this PROFILE.CMD to each user's directory. 
  2793.  
  2794.   5. Create a PROFILE.CMD on R: that executes the repetitive tasks, and also 
  2795.      add: 
  2796.  
  2797.         IF EXIST S:PROFILE.CMD CALL S:PROFILE.CMD 
  2798.  
  2799.  
  2800. ΓòÉΓòÉΓòÉ 5.5.4. Access Control for Files and Directories ΓòÉΓòÉΓòÉ
  2801.  
  2802.  TIP# 0003                          ENTERED BY: JGABAY @ ADTSUPP 
  2803.  FILENAME: LANC0003.IPF             SOURCE: OS2LAN12 FORUM 
  2804.  DATE: 02/14/91                     RELEASE LEVEL: 1.2+ 
  2805.  TIME: 1:32pm                       CSD LEVEL: GA 
  2806.  
  2807.  Some basic rules for building access control profiles: 
  2808.  
  2809.   1. The basic entity upon which the access control system is built is the 
  2810.      "file".  In this sense, directories can also be considered to be "files". 
  2811.      Inheritance of access profiles does NOT automatically propagate down the 
  2812.      subdirectory tree!  Each entity may or may not have an access control 
  2813.      profile.  If it does not, then a simple set of rules determines where a 
  2814.      default access control profile is located. 
  2815.  
  2816.   2. When a new entity is created it automatically gets an access control 
  2817.      profile which is a copy of the profile in effect in the parent directory. 
  2818.      This means that access control does propagate down subtrees as they are 
  2819.      created, but via generation of explicit access control profiles. 
  2820.  
  2821.   3. For existing subdirectory trees it is possible to force propagation of the 
  2822.      access control profile of the root of the tree down the tree via an 
  2823.      explicit operation by a network administrator using one of the access 
  2824.      control operators from the pulldown menus.  This creates or updates all 
  2825.      access control profiles below the subtree root at the instant it is 
  2826.      performed only.  It does not cause any permanent change in the rules for 
  2827.      new entities created after it is done. 
  2828.  
  2829.   4. The default access control profile rules are a bit strange.  If a user 
  2830.      wants to access a file which has a profile then the profile is checked for 
  2831.      the user first, then any group the user is in, then the universal access 
  2832.      level.  The user gets the first access level found in this profile.  If 
  2833.      the file has no profile then the same process is applied to the directory 
  2834.      the file is in (which may or may not have a profile).  If the directory 
  2835.      does not have a profile, then a default profile for the entire physical 
  2836.      drive (not the alias drive) is consulted.  This profile is identified by 
  2837.      the access control entity name "C:", for instance, without the backslash 
  2838.      which would make it an ALIAS for the C: root directory, which is a 
  2839.      different animal entirely. 
  2840.  MISCELLANEOUS 
  2841.  
  2842.  
  2843. ΓòÉΓòÉΓòÉ 5.6. MISCELLANEOUS ΓòÉΓòÉΓòÉ
  2844.  
  2845.  
  2846. ΓòÉΓòÉΓòÉ 5.6.1. Error Codes in UPMS ΓòÉΓòÉΓòÉ
  2847.  
  2848.  TIP# 0000                          ENTERED BY: O'Reilly, Kathleen 
  2849.  FILENAME: LANM0000.IPF             SOURCE: OS2 FORUMS 
  2850.  DATE: 02/05/91                     RELEASE LEVEL: 1.1+ 
  2851.  TIME: 10:35am                      CSD LEVEL: GA 
  2852.  
  2853.   If you are running User Profile Management Services (UPMS)  out of the 
  2854.  Desktop Manager and receive an error, you will be referred to a 'reasoncode'. 
  2855.  These are network  error codes or OS/2 error codes , so to discover which 
  2856.  error occurred, use: 
  2857.  
  2858.  (If over 2000)    HELP NETxxxx 
  2859.  
  2860.  (If under 2000)    HELP xxxx 
  2861.  
  2862.  where: xxxx = reason code number 
  2863.  
  2864.  
  2865. ΓòÉΓòÉΓòÉ 5.6.2. Check For Domain Controller From Additional Server ΓòÉΓòÉΓòÉ
  2866.  
  2867.  TIP# 0001                          ENTERED BY: O'Reilly, Kathleen 
  2868.  FILENAME: LANM0001.IPF             SOURCE: OS2 FORUMS 
  2869.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  2870.  TIME: 2:13pm                       CSD LEVEL: GA 
  2871.  
  2872.   To Check for domain controller before starting the additional server: 
  2873.  
  2874.  Add the following statements to the STARTUP.CMD on the additional server: 
  2875.  
  2876.  :LOOP 
  2877.  NET START SRV 
  2878.  IF ERRORLEVEL 1 GOTO LOOP 
  2879.  
  2880.  
  2881. ΓòÉΓòÉΓòÉ 5.6.3. How to get a Print Server to allow Separator Pages between Print Jobs ΓòÉΓòÉΓòÉ
  2882.  
  2883.  TIP# 0002                          ENTERED BY: Pettes, Michell H. 
  2884.  FILENAME: LANM0002.IPF             SOURCE: OS2 FORUMS 
  2885.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  2886.  TIME: 2:20pm                       CSD LEVEL: GA 
  2887.  
  2888.   Once you've designed your separator page, you need to tell the print server's 
  2889.  queue to use it. 
  2890.  
  2891.   1. Hot key to Print Manager 
  2892.  
  2893.   2. Select "Setup" from the Action Bar. 
  2894.  
  2895.   3. Select "Queues" from the Pull-down. 
  2896.  
  2897.   4. Select a shared queue and press "Change". 
  2898.  
  2899.   5. In the "Network Options" field add SEPARATOR="d:\dir\sepname.ext" and 
  2900.      press "Change". 
  2901.  
  2902.      Note:  You may need to reboot the server with all LAN goodies disabled for 
  2903.      the changes to be saved. 
  2904.  
  2905.   6. Repeat for any other shared printers. 
  2906.  
  2907.  
  2908. ΓòÉΓòÉΓòÉ 5.6.4. Quick Way To Get Adapter Address ΓòÉΓòÉΓòÉ
  2909.  
  2910.  TIP# 0003                          ENTERED BY: O'Reilly, Kathleen 
  2911.  FILENAME: LANM0003.IPF             SOURCE: OS2 FORUMS 
  2912.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  2913.  TIME: 4:34pm                       CSD LEVEL: GA 
  2914.  
  2915.   A quick way to locate an adapter address is: 
  2916.  
  2917.      TYPE C:\CMLIB\ACSLAN.LOG 
  2918.  
  2919.  This file is created each time the driver is started. 
  2920.  
  2921.  
  2922. ΓòÉΓòÉΓòÉ 5.6.5. Back Up of NET.ACC ΓòÉΓòÉΓòÉ
  2923.  
  2924.  TIP# 0004                          ENTERED BY: O'Reilly, Kathleen 
  2925.  FILENAME: LANM0004.IPF             SOURCE: OS2 FORUMS 
  2926.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  2927.  TIME: 4:36pm                       CSD LEVEL: GA 
  2928.  
  2929.   The instructions for backing up the NET.ACC file before starting the LAN 
  2930.  Requester given in the "Network Administrator's Guide" , page 3-6, will result 
  2931.  in backing up the corrupt copy of the file before you detect that it's 
  2932.  corrupt.  To avoid the problem, multi-level backups are needed.  Rather than a 
  2933.  single COPY command shown in the manual, use something like:
  2934.  
  2935.   First Startup After Install:
  2936.  
  2937.       COPY C:\IBMLAN\ACCOUNTS\NET.ACC C:\IBMLAN\DCDB\DATA\NETBK.AC1
  2938.  
  2939.   Second Startup After Install:
  2940.  
  2941.       COPY C:\IBMLAN\DCDB\DATA\NETBK.AC1 C:\IBMLAN\DCDB\DATA\NETBK.AC2
  2942.  
  2943.       COPY C:\IBMLAN\ACCOUNTS\NET.ACC C:\IBMLAN\DCDB\DATA\NETBK.AC1
  2944.  
  2945.   All Times Afterwards:
  2946.  
  2947.       COPY C:\IBMLAN\DCDB\DATA\NETBK.AC2 C:\IBMLAN\DCDB\DATA\NETBK.AC3
  2948.  
  2949.       COPY C:\IBMLAN\DCDB\DATA\NETBK.AC1 C:\IBMLAN\DCDB\DATA\NETBK.AC2
  2950.  
  2951.       COPY C:\IBMLAN\ACCOUNTS\NET.ACC C:\IBMLAN\DCDB\DATA\NETBK.AC1
  2952.  
  2953.   In this way, there is a backup of the three previous startup versions of 
  2954.  NET.ACC. 
  2955.  
  2956.  
  2957. ΓòÉΓòÉΓòÉ 5.6.6. Rebuilding A Corrupted NET.ACC ΓòÉΓòÉΓòÉ
  2958.  
  2959.  TIP# 0005                          ENTERED BY: O'Reilly, Kathleen 
  2960.  FILENAME: LANM0005.IPF             SOURCE: OS2 FORUMS 
  2961.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  2962.  TIME: 4:41pm                       CSD LEVEL: GA 
  2963.  
  2964.   If your NET.ACC file on the Domain Controller gets corrupted and you have no 
  2965.  backup available, you can recopy the default file from the Extended Edition 
  2966.  Diskette.  It is on the diskette in packed format (use unpack in \install). 
  2967.  The format of unpack is:
  2968.  
  2969.       UNPACK <drive><path>fn.ft <drive><path>
  2970.  
  2971.   (i.e.  UNPACK A:NET.AC@ C:\IBMLAN\ACCOUNTS ) 
  2972.  
  2973.  You will need to add the SERVERNAME as a user and add it to group SERVERS. 
  2974.  You can do this manually, through UPM or from the command line, but it is 
  2975.  better to use the executable that install uses to do this because it will set 
  2976.  things such as account disabled and account already expired for security 
  2977.  purposes.  The executable is ADDSVRIN.EXE, which exists in packed form on the 
  2978.  LAN SERVER diskette. The format of ADDSVRIN is:
  2979.  
  2980.       ADDSVRIN  machineid (1 or 2) lanroot 
  2981.  
  2982.    where:
  2983.  
  2984.       machineid = servername 
  2985.  
  2986.       1 or 2   = 1 - member, 2 - domain controller 
  2987.  
  2988.       lanroot  = c:\ibmlan or d:\ibmlan
  2989.  
  2990.   The next step is only necessary for a domain controller. Unpack RSD1.EXE from 
  2991.  the LAN SERVER diskette. Run:
  2992.  
  2993.       RSD1  lanroot  machineid 
  2994.  
  2995.   This will create an initialized DCDB and will destroy all existing DCDB definitions.
  2996.  
  2997.   If you lose an Additional Server's NET.ACC, you only have to recreate the 
  2998.  Access Control List for server resources on that server. The USER and GROUP 
  2999.  definitions will be rebuilt from the Domain Controller the next time NETLOGON 
  3000.  starts up. 
  3001.  
  3002.  
  3003. ΓòÉΓòÉΓòÉ 5.6.7. Can't Start NETLOGON - Error 3056 ΓòÉΓòÉΓòÉ
  3004.  
  3005.  TIP# 0006                          ENTERED BY: O'Reilly, Kathleen 
  3006.  FILENAME: LANM0006.IPF             SOURCE: OS2 FORUMS 
  3007.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  3008.  TIME: 4:54pm                       CSD LEVEL: GA 
  3009.  
  3010.  If you experience the following errors starting NETLOGON: 
  3011.  
  3012.  ERROR:NET3056 System Error 
  3013.  OS/2 Error 5 has occurred 
  3014.  Access Denied 
  3015.  
  3016.  
  3017.  It most likely indicates your Additional Server and Domain Controller are out 
  3018.  of synch. To synch back up, use the following procedure: 
  3019.  
  3020.  Make sure server is started (NET START SERVER) 
  3021.  Login as Administrator 
  3022.  Make sure NETLOGON is not started (NET STOP NETLOGON) 
  3023.  NET ADMIN \\DOMCONTNAME /C NET USER ADDTLSVRNAME PASSWORD 
  3024.  
  3025.   (PASSWORD = dummy password) 
  3026.  NET ACCOUNTS /ROLE:STANDALONE 
  3027.  NET USER ADDTLSVRNAME PASSWORD 
  3028.  NET ACCOUNTS /ROLE:MEMBER 
  3029.  NET START NETLOGON 
  3030.  
  3031.  
  3032. ΓòÉΓòÉΓòÉ 5.6.8. Error NET3195 ΓòÉΓòÉΓòÉ
  3033.  
  3034.  TIP# 0007                          ENTERED BY: O'Reilly, Kathleen M. 
  3035.  FILENAME: LANM0007.IPF             SOURCE: OS2LAN12 FORUM 
  3036.  DATE: 02/08/91                     RELEASE LEVEL: 1.0+ 
  3037.  TIME: 11:32am                      CSD LEVEL: GA 
  3038.  
  3039.  MODIFIED BY: O'Reilly, Kathleen M.                DATE: 02/11/91  TIME: 8:55am 
  3040.  
  3041.   NET3195: The following error occurs when there is a problem with a  NET BIOS 
  3042.  call.  A data structure will be displayed. This is the  Network Control Block 
  3043.  structure used in the Net Bios function calls. The items of interest are : 
  3044.  
  3045.      1st byte     command name   this is the function that failed 
  3046.      2nd byte    return code     this is the return code from the failing 
  3047.  function. 
  3048.  
  3049.  In the example below the function is 0xB6 
  3050.      NB_ADD_GROUP_NAME 
  3051.  And the return code if 0x4F 
  3052.      NB_PERM_RING_STATUS 
  3053.  
  3054.     NET3195:  An NCB error occurred (NET1).
  3055.     The NCB is the data.
  3056.       B6 4F 00 00 00 00 00 00 00 00 00 00 00 00 00 00  .O..............
  3057.       00 00 00 00 00 00 00 00 00 00 53 52 56 31 33 20  ..........SRV13
  3058.       20 20 20 20 20 20 20 20 20 00 00 00 36 DD B4 09           ...6...
  3059.       00 4F 00 00 00 00 40 08 00 00 00 00 00 00 07 00  .O....@.........
  3060.  
  3061.  If you have the API data structures installed with the Communication Manager, 
  3062.  these codes are documented in NETB_1_C.H. 
  3063.  
  3064.  
  3065. ΓòÉΓòÉΓòÉ 5.6.9. Ethernet Thin Cable Lengths ΓòÉΓòÉΓòÉ
  3066.  
  3067.  TIP# 0008                          ENTERED BY: JGABAY @ ADTSUPP 
  3068.  FILENAME: LANM0008.IPF             SOURCE: Ethernet Forum 
  3069.  DATE: 02/18/91                     RELEASE LEVEL: 1.2 
  3070.  TIME: 10:26am                      CSD LEVEL: GA 
  3071.  
  3072.  A few general guidelines for Ethernet "Thin" Cabling: 
  3073.  
  3074.  * Maximum 185 meters per segment. 
  3075.  
  3076.  * Max 30 stations (each T connector counts as a station, as does any other 
  3077.    junction (like a wall face plate). 
  3078.  
  3079.  * There must be 0.5m (19 inches) between T connectors. 
  3080.  
  3081.  * No loops. 
  3082.  
  3083.  * No branch segments (don't stick another wire out of a T connector). 
  3084.  
  3085.  * 50 ohm wire (RG58 -- *NOT* the coax used for 327x) and 50 ohm terminators. 
  3086.  
  3087.  
  3088. ΓòÉΓòÉΓòÉ 5.6.10. Initiating Ethernet's Promiscuous Mode ΓòÉΓòÉΓòÉ
  3089.  
  3090.  TIP# 0009                          ENTERED BY: JGABAY @ ADTSUPP 
  3091.  FILENAME: LANM0009.IPF             SOURCE: Ethernet Forum 
  3092.  DATE: 02/18/91                     RELEASE LEVEL: 1.2+ 
  3093.  TIME: 10:37am                      CSD LEVEL: GA 
  3094.  
  3095.  If an Ethernet adapter's "MAC (device) driver" supports Microsoft/3Com's NDIS 
  3096.  ("Network Driver Interface Specification") interface, then one can put an 
  3097.  adapter into promiscuous mode by writing an NDIS "Protocol (i.e., non-MAC 
  3098.  device) driver" that issues an NDIS "SetPacketFilter" primitive (with the 
  3099.  "FilterMask" set to 2 ("promiscuous")) to the MAC driver. 
  3100.  
  3101.  
  3102. ΓòÉΓòÉΓòÉ 5.6.11. Configure Ethernet Adapters ΓòÉΓòÉΓòÉ
  3103.  
  3104.  TIP# 0010                          ENTERED BY: JGABAY @ ADTSUPP 
  3105.  FILENAME: LANM0010.IPF             SOURCE: 
  3106.  DATE: 02/18/91                     RELEASE LEVEL: 1.2+ 
  3107.  TIME: 1:00pm                       CSD LEVEL: GA 
  3108.  
  3109.    CONFIGURING IBM, 3COM OR WESTERN DIGITAL 802.3/ETHERNET ADAPTERS 
  3110.  
  3111.  This is not as straightforward as for Token-Ring; please read this document 
  3112.  carefully.  In most respects, it applies to the use of LAN Support Program 1.2 
  3113.  for either DOS LAN Requester or PC LAN Program 1.3.  Personal 
  3114.  Communications/3270, AS/400 PC Support and the 8209 LAN Bridge are also 
  3115.  mentioned. 
  3116.  
  3117.  The term 'Ethernet', as used in this document, implies both Ethernet v2 and 
  3118.  802.3 unless otherwise stated.  Ethernet is no longer a trademark of Xerox 
  3119.  Corporation and can therefore legitimately be used generically. 
  3120.  
  3121.  ADAPTERS SUPPORTED 
  3122.  
  3123.  The LAN Support Program provides support for Ethernet/DIX v2 and IEEE 802.3 
  3124.  protocols under DOS with the following adapters: 
  3125.  
  3126.    IBM PS/2 Adapter/A for Ethernet Networks 
  3127.  
  3128.    3Com Etherlink/MC 3C523 Micro Channel adapter 
  3129.  
  3130.    3Com Etherlink II 3C503 PC-bus adapter 
  3131.  
  3132.    Western Digital Ethercard PLUS/A (WDLAN-EP/A-F001) 
  3133.  
  3134.    Western Digital Ethercard PLUS (WDLAN-ERP-F001) 
  3135.  
  3136.  NOTE.  LSP 1.2 does not support the Ungermann Bass adapters which are 
  3137.  supported by OS/2 EE. 
  3138.  
  3139.  REQUIREMENTS 
  3140.  
  3141.  To install LSP 1.2 for Ethernet, you will need: 
  3142.  
  3143.    Lan Support Program v1.2; 
  3144.  
  3145.    A printed copy of DXMINFO.001 (or .DOC) from the LSP diskette; 
  3146.  
  3147.    A printed copy of PROTOCOL.INI from the LSP diskette; 
  3148.  
  3149.    MACETH.DOS - NDIS driver for the IBM adapter; 
  3150.  
  3151.    MACETH2.DOS - NDIS driver for a second IBM adapter; 
  3152.  
  3153.    ELNKMC.DOS - NDIS driver for the 3Com 3C523 Micro Channel adapter; 
  3154.  
  3155.    ELNKII.DOS - NDIS driver for the 3Com 3C503 PC-bus adapter; 
  3156.  
  3157.    MACWD.DOS  - NDIS driver for either Western Digital adapter. 
  3158.  
  3159.  NOTE.  ELNKMC.DOS is not supplied with the adapter.  Later in the year, it 
  3160.  will be. In the meantime, it can probably be obtained from 3Com. The driver IS 
  3161.  supplied with the IBM adapter, with the 3Com PC-bus adapter and with the 
  3162.  Western Digital adapters. 
  3163.  
  3164.  PHYSICAL ATTACHMENT 
  3165.  
  3166.  All the adapters allow two types of connection to the LAN - via a BNC 
  3167.  connector to a thin-wire LAN or via a D-shell connector and AUI (Attachment 
  3168.  Unit Interface) cable to a thick-wire LAN.  The adapters provide an on-board 
  3169.  transceiver for the BNC connection but require an external transceiver for the 
  3170.  D-shell connection.  You have to select which type of connection to use; the 
  3171.  methods are described below.  The default in all cases is BNC (on-board 
  3172.  transceiver). 
  3173.  
  3174.  CONFIGURING A PS/2 MACHINE (Reference diskette) 
  3175.  
  3176.   1. Install the adapter and run Automatic Configuration or Set Configuration 
  3177.      as usual.  The ADF for the card is supplied with it. 
  3178.  
  3179.   2. For DOS LAN Requester and PC LAN Program, the adapter you want to use must 
  3180.      be the primary.  Therefore, if you have both Ethernet and Token-Ring 
  3181.      adapters and want to use the Ethernet for DLR or PCLP, you must make the 
  3182.      Token-Ring card 'alternate'; the Ethernet card will then be primary by 
  3183.      default. 
  3184.  
  3185.   3. IBM Adapter 
  3186.  
  3187.      a. The Interrupt Level, Adapter I/O Range  and RAM Address Range 
  3188.         definitions override those in PROTOCOL.INI. 
  3189.  
  3190.      b. Physical Connection.  This must be set by jumpers on the adapter (even 
  3191.         though this is a Micro Channel adapter). 
  3192.  
  3193.   4. 3Com Adapters 
  3194.  
  3195.      a. Interrupt Level.  The configuration panels will show that the 3Com card 
  3196.         uses Channel 3; this is IRQ (interrupt level) 3. 
  3197.  
  3198.      b. Physical Connection.  This is set by means of the Reference Diskette. 
  3199.  
  3200.   5. Western Digital Adapters 
  3201.  
  3202.      a. Adapter IO Space Definition. This specifies the start of the IO range 
  3203.         used by the adapter; the default is 0x280.  This definition and those 
  3204.         for RAM Address and Interrupt Level override the definitions in 
  3205.         PROTOCOL.INI. 
  3206.  
  3207.      b. Physical Connection.  This must be set by jumpers on the adapter (even 
  3208.         on the Micro Channel adapter). 
  3209.  
  3210.  INSTALLING LAN SUPPORT PROGRAM 
  3211.  
  3212.   1. In this example, we shall assume that you want to use an IBM adapter and 
  3213.      to install LSP 1.2 in a directory called LSP12 on the C: drive. 
  3214.  
  3215.      Make the directory (md lsp12) and make it current (cd lsp12), then make A: 
  3216.      the current drive.  (During installation, you can select the drive on 
  3217.      which to install LSP  - but you cannot specify a subdirectory). 
  3218.  
  3219.   2. Run DXMAID from the A drive; this will do several things: 
  3220.  
  3221.      a. Create a CONFIG.SYS or alter the existing one (and make a backup copy 
  3222.         of it). 
  3223.  
  3224.      b. Create a LANMAN directory and copy 3 files into it C. Add a NETBIND 
  3225.         command to autoexec.bat and copy NETBIND.EXE to the root of drive C: 
  3226.         (but see the note in section 9). 
  3227.  
  3228.      c. Copy into the LSP12 directory the files necessary for the configuration 
  3229.         that you specify via the panels. 
  3230.  
  3231.   3. NDIS driver. 
  3232.  
  3233.      You must copy this into the LSP12 directory.  The CONFIG.SYS will include 
  3234.      a line:  device=\lsp12\XX.dos.  You must change XX to the name of the NDIS 
  3235.      driver for your adapter; these names are given in the PROTOCOL.INI file, 
  3236.      which you should print and in the Requirements section of this document. 
  3237.  
  3238.      NOTE.  If you have two 3Com adapters in the same machine, create the NDIS 
  3239.      driver for the second adapter by copying ELNKxx.DOS to ELNKxx2.DOS and 
  3240.      adding the appropriate line to CONFIG.SYS immediately after the first NDIS 
  3241.      driver line. 
  3242.  
  3243.   4. CONFIG.SYS 
  3244.  
  3245.      The relevant lines of a typical CONFIG.SYS will look like this: 
  3246.  
  3247.              device=\LANMAN\PROTMAN.EXE (/I:(d:)\LANMAN) **see note 3.
  3248.              device=\LSP12\MACETH.DOS (device=\LSP12\MACETH2.DOS)
  3249.              device=\LSP12\DXMA0MOD.SYS
  3250.              device=\LSP12\DXME0MOD.SYS 400000100101
  3251.              device=\LSP12\DXMT0MOD.SYS S=12 C=12 ST=12 O=N  **see notes 1 & 2
  3252.  
  3253.      NOTE 1.  The O=N parameter is essential; if it is omitted or is O=Y, the 
  3254.      LSP will try to open the adapter but will fail and you will get the 
  3255.      message:  DXMT0 32E - Initialization or open error on adapter n.  The 
  3256.      reason for this is that the NETBIND command (see section 9) must have been 
  3257.      issued before the adapter is opened.  The DOS Lan Requester or PC LAN 
  3258.      Program will open the adapter when they are started. 
  3259.  
  3260.      NOTE 2.  The DLR installation process puts O=Y.  Depending on how  you are 
  3261.      installing the DLR, you may get the chance to change this parameter during 
  3262.      the installation process; if not, you must change it manually. 
  3263.  
  3264.      NOTE 3.  If you install LSP 1.2 on a drive other than the boot drive, the 
  3265.      LANMAN directory will be created on that drive, not on the boot drive.  In 
  3266.      this case, you must add the /I:path parameter shown in the example above, 
  3267.      so that PROTMAN knows where to find PROTOCOL.INI; by default, it looks for 
  3268.      it in the LANMAN directory on the boot drive.  If you do not do this, you 
  3269.      will get the messages: 
  3270.  
  3271.              PRO0003 PROTOCOL.INI open failure
  3272.              MAC0001 Initialization failure
  3273.              PRO0023 Cannot find Protocol Manager
  3274.  
  3275.   5. LANMAN Directory 
  3276.  
  3277.      DXMAID will create a LANMAN directory, into which it will put 3 files 
  3278.  
  3279.       PROTMAN.EXE  - the protocol manager 
  3280.  
  3281.       PROTOCOL.INI - the protocol manager's parameter file 
  3282.  
  3283.       PRO.MSG    - a message file (this is created from the PROMSG.nnn 
  3284.     file for your language). 
  3285.  
  3286.   6. PROTOCOL.INI 
  3287.  
  3288.      This is a text file which provides parameters for PROTMAN.EXE.  It is a 
  3289.      good idea to print this because you may need to alter it and because 
  3290.      reading it helps in understanding how the Ethernet systems work. 
  3291.  
  3292.      You must set the BINDINGS= statement in this file to match the type(s) of 
  3293.      adapter(s) you have; the default is for the 3Com MC adapter.  Note that 
  3294.      you can define an Ethernet adapter as alternate (secondary) by putting a 
  3295.      comma before the entry in the Bindings field - eg. BINDINGS = ,WDMAC. 
  3296.  
  3297.   7. ADDING THE IBM ADAPTER DEFINITIONS TO PROTOCOL.INI 
  3298.  
  3299.      The simplest way to do this is to copy the Western Digital section, twice, 
  3300.      onto the root of PROTOCOL.INI and then modify it as follows: 
  3301.  
  3302.      a. Change the heading to 'IBM PS/2 Adapter/A for Ethernet Networks' 
  3303.  
  3304.      b. Change the BINDINGS module name from WDMAC to IBMAC (primary) and 
  3305.         IBMAC2 (alternate). 
  3306.  
  3307.      c. Change the DriverName to MACETH$ (pri), MACETH2$ (alt)** 
  3308.  
  3309.      d. Change the RamAddress defaults to 0xC800 
  3310.  
  3311.      e. Remove the remark about the IOBase parameter (invalid) 
  3312.  
  3313.      f. Change the IOBase defaults to 0x200 
  3314.  
  3315.      g. Remove the ; (semicolon) before the IOBase parameter (if you do not, 
  3316.         the driver will not load - see section 3 of 'Configuring a PS/2 
  3317.         machine') 
  3318.  
  3319.         The IBM primary adapter section should look like this: 
  3320.  
  3321.                 ; -----------  IBM PS/2 Adapter/A for Ethernet Networks  ------------
  3322.  
  3323.                   [IBMAC]
  3324.                     DriverName = MACETH$
  3325.                     IRQ = 3
  3326.                     RamAddress = 0xC800
  3327.                     IOBase = 0x200
  3328.                     ReceiveBuffers = 16
  3329.                     ReceiveChains = 16
  3330.                     MaxRequests  = 10
  3331.                     MaxTransmits = 10
  3332.                     ReceiveBufSize = 256
  3333.  
  3334.   8. USING TWO LAN ADAPTERS 
  3335.  
  3336.      a. Token-Ring or PC Network with Ethernet 
  3337.  
  3338.         1. If you use a PC Network adapter with either a Token-Ring or an 
  3339.            Ethernet adapter, the PCN adapter must be primary.  To configure the 
  3340.            Ethernet adapter as alternate, put a comma before the module name in 
  3341.            the BINDINGS = definition of PROTOCOL.INI, for example: ,IBMAC. 
  3342.  
  3343.         2. Bear in mind that the DLR and PCLP  can use only the primary adapter 
  3344.            if two of any kind are installed.  PC/3270 can use either or both. 
  3345.  
  3346.      b. TWO ETHERNET ADAPTERS 
  3347.  
  3348.         1. You can use two IBM or 3Com adapters in the same machine but only 
  3349.            one Western Digital (there is no secondary NDIS driver and a renamed 
  3350.            copy of the driver is not valid).  You can also use two Ethernet 
  3351.            adapters of different makes. 
  3352.  
  3353.         2. You need a command in CONFIG.SYS for the NDIS driver for each 
  3354.            adapter. These commands must be consecutive, primary first. 
  3355.  
  3356.         3. A driver for the second IBM adapter is provided (MACETH2.DOS).  For 
  3357.            the 3Com adapter, you must create a driver by copying the primary 
  3358.            driver and adding 2 to the name, eg. ELNKMC2.DOS. 
  3359.  
  3360.      c. BINDINGS =.  The PROTOCOL.INI file gives examples of how to specify 
  3361.         this command when you are using two adapters.  The sequence of the 
  3362.         values in the BINDINGS = command determines the assignment (pri/alt). 
  3363.  
  3364.   9. NETBIND Command 
  3365.  
  3366.      DXMAID will put the command "NETBIND" as the first command in AUTOEXEC.BAT 
  3367.      (but will not create autoexec.bat if this does not already exist) and will 
  3368.      copy NETBIND.EXE to the root directory of the boot drive.  NETBIND will be 
  3369.      in the LSP directory anyway; you can change its path if you like and 
  3370.      delete the copy from the root. 
  3371.  
  3372.      NOTE.  If you install LSP 12 on a drive other than the boot drive, the 
  3373.      NETBIND command will not be put into autoexec.bat, nor will it be copied 
  3374.      to the root of the boot drive. 
  3375.  
  3376.  10. PERSONAL COMMUNICATIONS/3270 
  3377.  
  3378.      If you want to run PC/3270 at the same time as the DLR or PCLP, you must 
  3379.      add ES=1 EST=n (where n = the number of gateways the machine must use) to 
  3380.      the DXMT0MOD line.  If you have only these two parameters here, they will 
  3381.      cause LSP to open the adapter, so you must add O=N. 
  3382.  
  3383.      NOTE 1.  The maximum PIU size allowed for PC/3270 on Ethernet is 1490; if 
  3384.      it is set higher, you will get MACH682 in the OIA. 
  3385.  
  3386.      NOTE 2.  Only the network station configuration is supported with 
  3387.      Ethernet; the gateway is not supported (though tests have shown that it 
  3388.      works perfectly well). 
  3389.  
  3390.  11. AS/400 PC SUPPORT 
  3391.  
  3392.      The default frame size in PCS is 1994; if you use this, you will get 
  3393.      internal router errors (5123).  You must change the TRMF frame-size entry 
  3394.      to 1496 or less. 
  3395.  
  3396.  12. EXTENDED/EXPANDED MEMORY 
  3397.  
  3398.      The use of high memory is supported with Ethernet for the DOS LAN 
  3399.      Requester and most other applications that can use high memory.  Note, 
  3400.      however, that Personal Communications/3270 is not supported in this 
  3401.      environment. 
  3402.  
  3403.      HIMEM.SYS, which allows applications to use the first 64kb of memory above 
  3404.      1Mb (as exTENded memory) is supplied with the DLR.  This version, 2.04, 
  3405.      has been superseded by v2.6, which is supplied with OS/2 EE  CSD WRx4064. 
  3406.      Also supplied with the CSD is EMM386, which is an exPANded memory manager 
  3407.      (LIM EMS v4) and works with HIMEM. 
  3408.  
  3409.      The DLR is supposed to be able to use either extended or expanded memory 
  3410.      (/HIM or /EMS) but we have found that /EMS sometimes hangs the machine and 
  3411.      that it is better to use /HIM.  The memory saving is the same. 
  3412.  
  3413.      NOTE. The version of EMM386 supplied on the CSD is faulty and a 
  3414.      replacement is now available; the file sizes are 60964 and 61040 
  3415.      respectively. The versions of HIMEM and EMM386 supplied with Microsoft 
  3416.      Windows 3 can also be used. 
  3417.  
  3418.  13. 8209 LAN Bridge 
  3419.  
  3420.      The DLR, PCLP and PC/3270 work well across an 8209 to a server.  You must 
  3421.      ensure that the 8209 is configured to support the correct protocol: 
  3422.  
  3423.       Mode Priority 1 = Ethernet, 2 = 802.3) 
  3424.  
  3425.       NETBIOS support is enabled (Forward LLC traffic, mode 1 = Y). 
  3426.  
  3427.     NOTE.  Ethernet systems generally allow a maximum frame size of 1514 bytes. 
  3428.     It is necessary to limit the transmit buffer size of Token-Ring devices to 
  3429.     less than 1500 bytes if they are to communicate with Ethernet devices 
  3430.     through an 8209; if you do not, applications may fail to load and files to 
  3431.     copy etc. 
  3432.  
  3433.     The default transmit buffer size on an OS/2 system is 1944 bytes when 
  3434.     configured for Token-Ring; we suggest that you reduce it to 1496, which is 
  3435.     the default used by OS/2 when configured for Ethernet. 
  3436.  
  3437.  14. PROTOCOL to be used - 802.3 or Ethernet 
  3438.  
  3439.      The default protocol for all the supported adapters is 802.3; this is also 
  3440.      the default for LSP 1.2.  If you want to change to Ethernet on a DOS 
  3441.      machine, you must add a parameter, thus: 
  3442.  
  3443.            device=\lsp12\DXME0MOD.SYS 400000000001,,1 
  3444.  
  3445.      The final figure, 1, indicates that Ethernet/DIX is to be used. 
  3446.  
  3447.      Note the extra comma, which indicates the omission of the workarea 
  3448.      parameter (adapter buffer space), ie. that the default will be used. If 
  3449.      you want to increase the workarea, add a figure from 8 - 64 between the 
  3450.      two commas (see DXMINFO section 10-5). 
  3451.  
  3452.      NOTE 1.  All the Ethernet devices that must communicate with each other 
  3453.      must be using the same protocol - either Ethernet/DIX or 802.3.  The 
  3454.      defaults are as follows: 
  3455.  
  3456.        LAN Support Program     802.3 
  3457.  
  3458.        OS/2 EE Comms Manager   Ethernet/DIX 
  3459.  
  3460.        8209 LAN Bridge        Ethernet/DIX 
  3461.  
  3462.     So you will probably have to change something.  In the case of the DLR, if 
  3463.     one of the systems is set for the wrong protocol, the DLR will start but, 
  3464.     when you try to log on, you will get the message: 
  3465.  
  3466.       NET248 Cannot contact the domain controller (which is not documented) 
  3467.  
  3468.     NOTE 2.  In OS/2 EE CM, you can select the protocol in the IEEE 802.2 
  3469.     profile of LAN Feature Profiles. 
  3470.  
  3471.  15. SUMMARY of things to be careful about 
  3472.  
  3473.      a. Obtaining and configuring the NDIS driver - see 3 
  3474.  
  3475.      b. Adding O=N to DXMT0MOD .SYS - see 4, note 1 
  3476.  
  3477.      c. The parameter for PROTMAN.EXE - see 4, note 3 
  3478.  
  3479.      d. The BINDINGS= statement in PROTOCOL.INI - see 6, 8 
  3480.  
  3481.      e. The IOBase definition for the IBM adapter - see 7 
  3482.  
  3483.      f. The NETBIND program and command - see 9 
  3484.  
  3485.      g. PC/3270's PIU size - see 10 
  3486.  
  3487.      h. AS/400 PCS frame size - see 11 
  3488.  
  3489.      i. The OS/2 CM transmit buffer size - see 13 
  3490.  
  3491.      j. Configuring the correct protocol - see 13, 14 
  3492.  
  3493.  
  3494. ΓòÉΓòÉΓòÉ 5.6.12. Message Name Not Added Error ΓòÉΓòÉΓòÉ
  3495.  
  3496.  TIP# 0011                          ENTERED BY: JGABAY @ ADTSUPP 
  3497.  FILENAME: LANM0011.IPF             SOURCE: OS2LAN12 Forum 
  3498.  DATE: 02/20/91                     RELEASE LEVEL: 1.2+ 
  3499.  TIME: 12:22pm                      CSD LEVEL: GA 
  3500.  
  3501.  Problem: Logon results in the following message: 
  3502.  
  3503.  The user ID was not added as a message name. 
  3504.  
  3505.  Causes: 
  3506.  
  3507.  o Both the machine name defined in IBMLAN.INI, and the userid defined in UPM 
  3508.    are the same. 
  3509.  
  3510.  o Occasionally the duplicate name may be on a separate LAN which is connected 
  3511.    to yours by a bridge and/or backbone. 
  3512.  
  3513.  Solutions: 
  3514.  
  3515.  o Change UPM userid. 
  3516.  
  3517.  o Change machine name defined in IBMLAN.INI (DOSLAN.INI for DLR). 
  3518.  
  3519.  
  3520. ΓòÉΓòÉΓòÉ 6. OS/2 BASE OPERATING SYSTEM ΓòÉΓòÉΓòÉ
  3521.  
  3522. INSTALL/REINSTALL 
  3523.  
  3524.  
  3525. ΓòÉΓòÉΓòÉ 6.1. INSTALL/REINSTALL ΓòÉΓòÉΓòÉ
  3526.  
  3527.  
  3528. ΓòÉΓòÉΓòÉ 6.1.1. Installing dual boot feature after OS/2 is already installed. ΓòÉΓòÉΓòÉ
  3529.  
  3530.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  3531.  FILENAME: OS2I0000.IPF             SOURCE: OS2 FORUMS 
  3532.  DATE: 02/04/91                     RELEASE LEVEL: 1.2 
  3533.  TIME: 6:23pm                       CSD LEVEL: GA 
  3534.  
  3535.  You do not need to reinstall OS/2 in order to get the dual boot feature. If 
  3536.  you already have 1.2 installed, and you can get a copy of BOOT.COM (from the 
  3537.  install diskettes) and BOOT.DOS, (from someone that has dual boot installed), 
  3538.  the following will work: 
  3539.  
  3540.   1. Copy BOOT.COM to C:\OS2:  UNPACK A:BOOT.CO@ C:\OS2 
  3541.  
  3542.   2. Copy BOOT.DOS to C:\OS2\SYSTEM 
  3543.  
  3544.   3. Create CONFIG.DOS and AUTOEXEC.DOS in C:\OS2\SYSTEM, containing the 
  3545.      CONFIG.SYS and AUTOEXEC.BAT you want to use when booting DOS. 
  3546.  
  3547.   4. Get the DOS system files (IBMBIO.COM and IBMDOS. COM) into the correct 
  3548.      place.  The simplest way to do this is to boot DOS, copy them from the DOS 
  3549.      boot diskette, and run DVOO (from the PCTOOLS archive) if you have a DOS 
  3550.      3.3-compatible partition, or VOODOO (available by REQUEST NONAME FROM 
  3551.      RF17GDLE AT RALVM5) to put the files in place. 
  3552.  
  3553.  ALTERNATIVE:  An alternate way to get the files in place is to use FILEMAN (or 
  3554.                whatever you're comfortable with that can copy hidden files) to 
  3555.                copy them from the DOS boot disk after clearing out the first 
  3556.                two directory entries.  (Don't forget that the volume label is a 
  3557.                directory entry, which does not show up in the FILEMAN or File 
  3558.                Manager lists.  The LABEL command can be used to delete the 
  3559.                volume label, and later recreate it.) 
  3560.  
  3561.  It is strongly recommended that you use DVOO or VOODOO; it makes it much 
  3562.  easier to get the DOS boot files in the right place. Just be sure you follow 
  3563.  the directions exactly (run CHKDSK first, etc.).
  3564.  
  3565.   Now, you can do a BOOT /DOS to start DOS running.  If the boot record you 
  3566.  copied in step 2 is not from the same DOS level as the one you want to use 
  3567.  from the dual boot, have the correct level diskette in the A drive when you do 
  3568.  the BOOT /DOS, and when DOS comes up, do a SYS C:. 
  3569.  
  3570.  If you don't have access to a BOOT.DOS, you can create one by copying the 
  3571.  first sector from a bootable DOS diskette.  (Use Norton Utilities, Disk 
  3572.  Repair, DEBUG, or whatever.) 
  3573.  
  3574.  Note:  This will make OS/2 happy as far as letting you execute BOOT /DOS, but 
  3575.  will not create the right boot sector for a fixed disk. Do BOOT /DOS with the 
  3576.  DOS boot diskette in the A drive, and once DOS is up, do a SYS C: to create a 
  3577.  valid boot record. 
  3578.  
  3579.  
  3580. ΓòÉΓòÉΓòÉ 6.1.2. Reinstalling CONFIG.SYS ΓòÉΓòÉΓòÉ
  3581.  
  3582.  TIP# 0001                          ENTERED BY: Pav, Eric M. 
  3583.  FILENAME: OS2I0001.IPF             SOURCE: OS2 FORUMS 
  3584.  DATE: 02/04/91                     RELEASE LEVEL: 1.2 
  3585.  TIME: 6:38pm                       CSD LEVEL: GA 
  3586.  
  3587.  Since the config.sys file IS NOT updated by the reinstallation, you MUST 
  3588.  complete the following steps to insure that all devices, paths, etc. are set 
  3589.  accordingly. 
  3590.  
  3591.   1. Make a backup of your current config.sys. 
  3592.  
  3593.   2. Reinstall. 
  3594.  
  3595.   3. Compare the new config.sys with the backup. 
  3596.  
  3597.   4. Add any statements from the backup that are not in the new config.sys 
  3598.      (i.e. path and device statements). 
  3599.  
  3600.   5. Save config.sys. 
  3601.  
  3602.   6. Reboot. 
  3603.  
  3604.  
  3605. ΓòÉΓòÉΓòÉ 6.1.3. Enabling COMx Ports ΓòÉΓòÉΓòÉ
  3606.  
  3607.  TIP# 0002                          ENTERED BY: Pav, Eric M. 
  3608.  FILENAME: OS2I0002.IPF             SOURCE: OS2 FORUMS 
  3609.  DATE: 02/04/91                     RELEASE LEVEL: 1.2 
  3610.  TIME: 6:41pm                       CSD LEVEL: GA 
  3611.  
  3612.  During an OS/2 standard install, all COMxx.SYS files have been copied onto 
  3613.  disk, but the DEVICE=COMxx.SYS statements have NOT been written into the 
  3614.  config.sys file. You must type these statements in manually in order for the 
  3615.  ports to become active. 
  3616.  
  3617.  Note:  During a selective install, and by choosing serial device support, the 
  3618.  files have been copied onto disk, and the DEVICE=COMxx.SYS statements have 
  3619.  been added to the config.sys file. 
  3620.  
  3621.  
  3622. ΓòÉΓòÉΓòÉ 6.1.4. Undocumented FDISK parameters. ΓòÉΓòÉΓòÉ
  3623.  
  3624.  TIP# 0003                          ENTERED BY: Pav, Eric M. 
  3625.  FILENAME: OS2I0003.IPF             SOURCE: OS2 FORUMS 
  3626.  DATE: 02/04/91                     RELEASE LEVEL: 1.2 
  3627.  TIME: 6:45pm                       CSD LEVEL: GA 
  3628.  
  3629.  Below are the undocumented parameters discovered in the FDISK command on the 
  3630.  OS/2 1.2 installation diskette: 
  3631.  
  3632.  Parameter                  Description 
  3633.  
  3634.  /d                         Delete all partitions on first drive. 
  3635.  
  3636.  /D                         Same as /d. 
  3637.  
  3638.  /SiStiMInStaOlChECk        Checks a drive to see if it is already partitioned. 
  3639.  
  3640.  /SiStiMInStaOlChECk:nn     This will check the primary partition size against 
  3641.                             the specified size (nn) in megabytes. Results are 
  3642.                             returned via ERRORLEVEL. 
  3643.  
  3644.  /SiStiMInStaOlMaKE         Partitions the drive. 
  3645.  
  3646.  /SiStiMInStaOlMaKE:nn      Create a primary partition on size nn. 
  3647.  
  3648.  
  3649. ΓòÉΓòÉΓòÉ 6.1.5. OS/2 1.3 Installation diskette failure - SYS1045 ΓòÉΓòÉΓòÉ
  3650.  
  3651.  TIP# 0004                          ENTERED BY: Pettes, Michell H. 
  3652.  FILENAME: OS2I0004.IPF             SOURCE: OS2 FORUMS 
  3653.  DATE: 02/04/91                     RELEASE LEVEL: 1.3 
  3654.  TIME: 7:09pm                       CSD LEVEL: GA 
  3655.  
  3656.  If you ever had an aborted install, REINST or whatever under 1.2 and a 
  3657.  Subdirectory (with LAN DLL's usually) called DDITEMP is under OS2\INSTALL then 
  3658.  the EE1.3 Install diskette will fail (on a version check).  The remedy is to 
  3659.  erase the files and remove the subdirectory.  Normally, use of the 1.2 install 
  3660.  diskette after the aborted install (or REINST) would clear these files and 
  3661.  subdirectory out and there would be no problem. For whatever reason, we have 
  3662.  found several machines where the files remained...and that causes the 1.3 
  3663.  install error. 
  3664.  
  3665.  
  3666. ΓòÉΓòÉΓòÉ 6.1.6. Installing OS/2 on the D: drive ΓòÉΓòÉΓòÉ
  3667.  
  3668.  TIP# 0005                          ENTERED BY: Pav, Eric M. 
  3669.  FILENAME: OS2I0005.IPF             SOURCE: OS2 FORUMS 
  3670.  DATE: 02/04/91                     RELEASE LEVEL: 1.2 
  3671.  TIME: 7:24pm                       CSD LEVEL: GA 
  3672.  
  3673.  Can you put OS/2 on the D: drive? 
  3674.  
  3675.  The base OS/2 code MUST be on the C: drive.  You may put any of the Extended 
  3676.  Edition components on any of the other drives. 
  3677.  
  3678.  Once you install the system, you have the ability to move most of the OS/2 
  3679.  code to D: drive, but you have to change the paths in CONFIG.SYS. 
  3680.  
  3681.  Note:  When a CSD is applied, it assumes that all of the base code is on the 
  3682.  C: drive. 
  3683.  
  3684.  
  3685. ΓòÉΓòÉΓòÉ 6.1.7. Redefining a Primary Partition when Installing OS/2 EE 1.2 ΓòÉΓòÉΓòÉ
  3686.  
  3687.  TIP# 0006                          ENTERED BY: Pav, Eric M. 
  3688.  FILENAME: OS2I0006.IPF             SOURCE: OS2 FORUMS 
  3689.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3690.  TIME: 8:23am                       CSD LEVEL: GA 
  3691.  
  3692.  This is documented in the Getting Started section `Options Before Installing.' 
  3693.  
  3694.   1. Backup all partitions on the disk drive. 
  3695.   2. Boot the installation diskette from drive A:. 
  3696.   3. When the IBM logo screen is displayed, press the ESC key. 
  3697.   4. Delete all partitions on the fixed disk by typing the instruction FDISK 
  3698.      /D. 
  3699.   5. Reboot the installation diskette (CTL-ALT-DEL). 
  3700.   6. Follow the instructions on your screen to complete installation of OS/2. 
  3701.  
  3702.    This will create and format a primary partition, and install OS/2 on it. 
  3703.  
  3704.    You can create other partitions with the FDISKPM command in OS/2. 
  3705.  
  3706.  
  3707. ΓòÉΓòÉΓòÉ 6.1.8. Updating your OS/2 Boot Diskette ΓòÉΓòÉΓòÉ
  3708.  
  3709.  TIP# 0007                          ENTERED BY: Pav, Eric M. 
  3710.  FILENAME: OS2I0007.IPF             SOURCE: OS2 FORUMS 
  3711.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3712.  TIME: 8:27am                       CSD LEVEL: GA 
  3713.  
  3714.  Below is a short .CMD file you can use after installing each CSD to bring your 
  3715.  OS/2 boot diskette up to the current level. Since your STARTUP.CMD and 
  3716.  CONFIG.SYS on the diskette will be different from that on your hardfile, they 
  3717.  should be read only on the diskette. 
  3718.  
  3719.  BOOTUPDT.CMD 
  3720.  
  3721.   @echo off
  3722.   sysinstx a:
  3723.   replace c:\*.* a: /u
  3724.   replace c:\os2\*.* a: /u
  3725.   replace c:\os2\dll\*.* a: /u
  3726.   replace c:\os2\system\*.* a: /u
  3727.  PERFORMANCE 
  3728.  
  3729.  
  3730. ΓòÉΓòÉΓòÉ 6.2. PERFORMANCE ΓòÉΓòÉΓòÉ
  3731.  
  3732.  
  3733. ΓòÉΓòÉΓòÉ 6.2.1. Optimizing OS/2 1.2 Memory Usage ΓòÉΓòÉΓòÉ
  3734.  
  3735.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  3736.  FILENAME: OS2P0000.IPF             SOURCE: OS/2 FORUMS 
  3737.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3738.  TIME: 8:37am                       CSD LEVEL: GA 
  3739.  
  3740.  Some swapping is normal for OS/2.  The Information and Planning Guide states 
  3741.  that 2.5 MB swapper.dat is a typical average and still gives good performance. 
  3742.  Use the worksheets in the Information and Planning Guide to establish your 
  3743.  recommended memory requirements. 
  3744.  
  3745.  Trade-off of application-area RAM to disk-cache RAM is a hard problem since we 
  3746.  do not give any tools to help in this area.  The size of swapper.dat is NOT a 
  3747.  good indicator for OS/2 1.2. Right now, Swapper preallocates disk space that 
  3748.  usually ends up never being used. 
  3749.  
  3750.  A tool on OS2TOOLS called THESEUS can help answer the question of how much 
  3751.  memory is needed on a system for good performance by measuring the system's 
  3752.  working-set memory usage. This is the tool used to develop the I&PG memory 
  3753.  numbers. Beware, this tool is for the "technically inclined". 
  3754.  
  3755.  Many users can control the amount of memory their system requires and thus the 
  3756.  level of performance. OS2TOOLS is Real Goodness. However, people also need to 
  3757.  understand that things like PMLOGO (just for example - not being picked on) 
  3758.  take up a relatively large amount of memory for the function they provide. 
  3759.  Folks with relatively small system memory and concerns about the performance 
  3760.  should consider all the things they have active on their system, make a list 
  3761.  of relative priority, and not automatically start the less important programs. 
  3762.  On the other hand, some programs take a Long Time to start, and it is better 
  3763.  to start those in startup.cmd and let them swap in-and-out as usage demands. 
  3764.  Anybody with limited RAM and also using DOS Box should get the OS/2 SE 1.2 
  3765.  refresh (or EE 1.2) and use memman=move,swap,SWAPDOS. This is almost like 
  3766.  adding a half-megabyte of memory to your system. 
  3767.  
  3768.  If you don't (or seldom) print large documents, and if you don't print two 
  3769.  things at once, another way to save a couple hundred K is to disable 
  3770.  print-spooling (in 1.2, one does this from a pull-down on the spooler panel). 
  3771.  
  3772.  
  3773. ΓòÉΓòÉΓòÉ 6.2.2. Obtaining maximal memory by changing MEMMAN= and THREADS= parameters ΓòÉΓòÉΓòÉ
  3774.  
  3775.  TIP# 0001                          ENTERED BY: Pettes, Michell H. 
  3776.  FILENAME: OS2P0001.IPF             SOURCE: OS2 FORUMS 
  3777.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3778.  TIME: 8:42am                       CSD LEVEL: GA 
  3779.  
  3780.  Beginning with SE 1.2 refresh and EE 1.2, you can obtain maximal memory by 
  3781.  making two  changes to your CONFIG.SYS file. The configuration statement 
  3782.  MEMMAN can be specified  as SWAPDOS.  This allows the DOS mode memory 
  3783.  (approximately 500 KB) to be used by OS/2 applications when the DOS mode is 
  3784.  not actively running in the foreground. 
  3785.  
  3786.  (Syntax: MEMMAN=MOVE,SWAP,SWAPDOS) 
  3787.  
  3788.  Also, OS/2 puts a limit on the number of threads that can be active in the 
  3789.  system at any given time and sets aside 2k of RAM for each active thread. 
  3790.  While changing THREADS= does not change number of active threads, it does put 
  3791.  a cap on the maximum number of active threads.  The static requirements for 
  3792.  THREADS= is about 92 bytes of low-fixed per THREAD.  Since it is low-fixed, 
  3793.  reducing THREADS= can increase the size of the DOS BOX.  Without DOS BOX, 
  3794.  changing THREADS=128 to THREADS=64 gives approximately 6K more free memory. 
  3795.  
  3796.  
  3797. ΓòÉΓòÉΓòÉ 6.2.3. Putting .; in the LIBPATH in CONFIG.SYS ΓòÉΓòÉΓòÉ
  3798.  
  3799.  TIP# 0002                          ENTERED BY: Pav, Eric M. 
  3800.  FILENAME: OS2P0002.IPF             SOURCE: OS2 FORUMS 
  3801.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3802.  TIME: 8:44am                       CSD LEVEL: GA 
  3803.  
  3804.  Put .;(period semicolon) at the beginning of the LIBPATH in CONFIG.SYS. 
  3805.  
  3806.  This way, the .DLL's can be kept in the directory where the rest of a package 
  3807.  is kept, and the system will find them.  For some reason, OS/2 doesn't search 
  3808.  the current directory for .DLL's before searching the LIBPATH.  Adding the 
  3809.  current directory to the beginning of the LIBPATH rectifies the inconsistency. 
  3810.  
  3811.  
  3812. ΓòÉΓòÉΓòÉ 6.2.4. Causes for Swapping ΓòÉΓòÉΓòÉ
  3813.  
  3814.  TIP# 0003                          ENTERED BY: Pav, Eric M. 
  3815.  FILENAME: OS2P0003.IPF             SOURCE: OS2 FORUMS 
  3816.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3817.  TIME: 8:47am                       CSD LEVEL: GA 
  3818.  
  3819.  Swapping occurs when: 
  3820.  
  3821.   1. there is a request to allocate memory AND 
  3822.   2. there is not enough contiguous free space to satisfy the request AND 
  3823.   3. the system can not find enough movable/free blocks which can be moved 
  3824.      around to create one single contiguous block which is large enough for the 
  3825.      request. 
  3826.  
  3827.  
  3828. ΓòÉΓòÉΓòÉ 6.2.5. How to get more memory for DOS Box ΓòÉΓòÉΓòÉ
  3829.  
  3830.  TIP# 0004                          ENTERED BY: Akers, Jim L. 
  3831.  FILENAME: OS2P0004.IPF             SOURCE: 
  3832.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3833.  TIME: 8:51am                       CSD LEVEL: GA 
  3834.  
  3835.  |*** UPDATED FOR V1.2 *** 
  3836.  
  3837.  Compatibility Box Memory Tip #1 
  3838.  
  3839.  Don't load device drivers that you are not using! For example, many people 
  3840.  have COM02.SYS loaded even though they never use it. 
  3841.  
  3842.  Compatibility box memory tip #2 
  3843.  
  3844.  To gain an extra 4K of DOS-box memory, remove or REMark out the TRACE=OFF 
  3845.  statement in your CONFIG.SYS. Any TRACE statement will automatically allocate 
  3846.  a 4K RAS Trace buffer. TRACE was the default in V1.1. In V1.2, this line was 
  3847.  removed from default config.sys. Folks who migrated from 1.1 may still have 
  3848.  this line. 
  3849.  
  3850.  Compatibility box memory tip #3 
  3851.  
  3852.  Part of the standard AUTOEXEC.BAT is the APPEND terminate-stay-resident 
  3853.  program.  Many folks don't use APPEND, however it is indirectly used by a few 
  3854.  DOS commands, for example, MORE. If you don't need APPEND, then remark or 
  3855.  remove this line from your autoexec and save 5K. If you later get a SYS0318 
  3856.  message, that means you should replace it. 
  3857.  
  3858.  Compatibility box memory tip #4 
  3859.  
  3860.  This tip is primarily useful for Extended Edition (especially LAN) 
  3861.  configurations. The technique is to experiment with different ordering of 
  3862.  device drivers. Sometimes this can gain/lose a couple K of memory. Beware, the 
  3863.  ordering of some inter-dependent device drivers cannot be altered (POINTDD 
  3864.  before MOUSE, etc). 
  3865.  
  3866.  Compatibility box memory tip #5 
  3867.  
  3868.  EGA.SYS provides "DosBox EGA Register Interface". This means it *may* provide 
  3869.  a greater level of compatibility for EGA programs which run in the DosBox. If 
  3870.  you find you don't need it, you can REMark out the EGA.SYS statement in your 
  3871.  CONFIG.SYS and add 2K to your DosBox. 
  3872.  
  3873.  Compatibility box memory tip #6 
  3874.  
  3875.  For systems with mouse, here is a tip to save 1K (every K adds up!). Add the 
  3876.  parameter QSIZE=3 to your mouse driver (MOUSE0X.SYS for V1.1 -or- MOUSE.SYS 
  3877.  for V1.2). QSIZE defaults to 10 if it is not specified. 
  3878.  
  3879.  Compatibility box memory tip #7 
  3880.  
  3881.  The CONFIG.SYS statement THREADS= controls how many execution threads an OS/2 
  3882.  system can concurrently run. The OS/2 SE default is 64. The OS/2 EE default is 
  3883.  255. Every 12 or 13 threads cost 1K of DosBox. I recommend that you *not* 
  3884.  reduce SE threads below 64 or EE threads less than 128. THREADS=128 is 
  3885.  adequate for many simpler EE environments. Changing to THREADS=128 will add 
  3886.  about 10K to your EE DosBox size . *Warning* The message you receive when you 
  3887.  run out of threads is not intuitive -  it is the infamous return code 8, "out 
  3888.  of memory" message. 
  3889.  
  3890.  Compatibility box memory tip #8 
  3891.  
  3892.  OS/2 EE V1.2 has a device driver called R0CSDD.SYS. This is the 'EE Common 
  3893.  Services' device driver. Someday in the future it really may be common and 
  3894.  needed by all. However, I have found that it can be removed from most systems 
  3895.  (it appears to now only be required with SDLC and Multifunction adapter). It 
  3896.  is very small, but remark out R0CSDD and save a half K. 
  3897.  
  3898.  Compatibility box memory tip #9 
  3899.  
  3900.  OS/2 SE V1.2 has a device driver called DOS.SYS. This driver allows Dual Boot 
  3901.  and also allows DOS Programs to be 'launched' from the OS/2 menus. If you use 
  3902.  neither of these features then remove DOS.SYS and add a little more to the 
  3903.  dosbox. 
  3904.  
  3905.  Compatibility box memory tip #10 
  3906.  
  3907.  Upgrade. The Dos Box in OS/2 V1.2 is larger than V1.1. For LAN users, the EE 
  3908.  V1.2 CSD '4064' or later NETBDD.SYS should be used to gain back another 16K of 
  3909.  DOSbox. 
  3910.  
  3911.  
  3912. ΓòÉΓòÉΓòÉ 6.2.6. Optimizing CONFIG.SYS ΓòÉΓòÉΓòÉ
  3913.  
  3914.  TIP# 0005                          ENTERED BY: O'Reilly, Kathleen M. 
  3915.  FILENAME: OS2P0005.IPF             SOURCE: OS2 FORUMS 
  3916.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  3917.  TIME: 8:53am                       CSD LEVEL: GA 
  3918.  
  3919.  Some things to change in your CONFIG.SYS to optimize performance: 
  3920.  
  3921.  Change BUFFERS to 30-40. OS\2 default is 60. 
  3922.  Change your SWAPPATH to your least frequently used drive. 
  3923.  Put least used subdirectories at end of path. (this includes \CMDLIB and 
  3924.  \SQLLIB for Extended Edition) 
  3925.  Change PROTECTONLY to YES if you do NOT need the Dos Box. 
  3926.  CUSTOMIZATION 
  3927.  
  3928.  
  3929. ΓòÉΓòÉΓòÉ 6.3. CUSTOMIZATION ΓòÉΓòÉΓòÉ
  3930.  
  3931.  
  3932. ΓòÉΓòÉΓòÉ 6.3.1. The first physical group in the desktop window. ΓòÉΓòÉΓòÉ
  3933.  
  3934.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  3935.  FILENAME: OS2C0000.IPF             SOURCE: OS2 FORUMS 
  3936.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3937.  TIME: 9:53am                       CSD LEVEL: GA 
  3938.  
  3939.  Under OS/2 1.2, the FIRST physical group in the desktop window is the one that 
  3940.  is opened at startup time.  To get your group to be the first, point with 
  3941.  mouse, press button 1, press and hold button 2, drag item to new location, 
  3942.  release button 2. 
  3943.  
  3944.  
  3945. ΓòÉΓòÉΓòÉ 6.3.2. Defining Window Size ΓòÉΓòÉΓòÉ
  3946.  
  3947.  TIP# 0001                          ENTERED BY: Pav, Eric M. 
  3948.  FILENAME: OS2C0001.IPF             SOURCE: OS2 FORUMS 
  3949.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3950.  TIME: 9:56am                       CSD LEVEL: GA 
  3951.  
  3952.  Press and hold the Shift key. While doing that, use the mouse to select the 
  3953.  lower right corner and drag it to the desired point.  Release the mouse button 
  3954.  and the shift key. Now, look at the drive access light flicker - That is 
  3955.  OS2.INI being updated.  Future windows are now set to the new size. 
  3956.  
  3957.  
  3958. ΓòÉΓòÉΓòÉ 6.3.3. Increasing lines in the OS/2 Window. ΓòÉΓòÉΓòÉ
  3959.  
  3960.  TIP# 0002                          ENTERED BY: Pav, Eric M. 
  3961.  FILENAME: OS2C0002.IPF             SOURCE: OS2 FORUMS 
  3962.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3963.  TIME: 10:00am                      CSD LEVEL: GA 
  3964.  
  3965.   There is a simple command you can use to allocate more lines in an OS/2 
  3966.  Window.  Just type: 
  3967.  
  3968.  MODE co80,N 
  3969.  
  3970.  Where N is the number of lines(1 to 102).  The default is 25. 
  3971.  
  3972.  
  3973. ΓòÉΓòÉΓòÉ 6.3.4. Starting Groups without a STARTUP.CMD. ΓòÉΓòÉΓòÉ
  3974.  
  3975.  TIP# 0003                          ENTERED BY: Pav. Eric M. 
  3976.  FILENAME: OS2C0003.IPF             SOURCE: OS2 FORUMS 
  3977.  DATE: 02/05/91                     RELEASE LEVEL: 1.3 
  3978.  TIME: 10:04am                      CSD LEVEL: GA 
  3979.  
  3980.  This is how to start different GROUPS without using a STARTUP.CMD for OS/2 SE 
  3981.  1.3. 
  3982.  
  3983.  Warning: This only works for OS/2 1.3. 
  3984.  
  3985.   1. Go to Desktop Manager. 
  3986.  
  3987.   2. Press PF10, and select Group. 
  3988.  
  3989.   3. Select Properties. The Properties dialog box will let you specify which 
  3990.      group is to be opened when the system is started.  It will also ask you if 
  3991.      you want it opened minimized. 
  3992.  
  3993.  
  3994. ΓòÉΓòÉΓòÉ 6.3.5. Loading customized Desktop Managers onto other machines. ΓòÉΓòÉΓòÉ
  3995.  
  3996.  TIP# 0004                          ENTERED BY: Pav, Eric M. 
  3997.  FILENAME: OS2C0004.IPF             SOURCE: OS2 FORUMS 
  3998.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  3999.  TIME: 10:23am                      CSD LEVEL: GA 
  4000.  
  4001.  How to copy identical Desktop Managers and Printer setups from one machine to 
  4002.  another without having to manually set it up on each machine. 
  4003.  
  4004.   1. Boot with a DOS diskette. 
  4005.  
  4006.   2. Copy files OS2.INI and OS2SYS.INI into the C:/OS2 directory. 
  4007.  
  4008.   3. Reboot OS/2. 
  4009.  
  4010.  
  4011. ΓòÉΓòÉΓòÉ 6.3.6. Larger Fonts for the OS/2 Full-Screen. ΓòÉΓòÉΓòÉ
  4012.  
  4013.  TIP# 0005                          ENTERED BY: Pav, Eric M. 
  4014.  FILENAME: OS2C0005.IPF             SOURCE: OS2 FORUMS 
  4015.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4016.  TIME: 10:26am                      CSD LEVEL: GA 
  4017.  
  4018.  To get a larger font in an OS/2 full screen session, type the following 
  4019.  command at an OS/2 full screen prompt: MODE xxNN,rows 
  4020.  
  4021.   where 
  4022.  
  4023.  xx        Display mode. CO is for color, BW is for without color, and MONO is 
  4024.            for monochrome. 
  4025.  
  4026.  NN        Characters per line(cpl).  Both CO and BW have either 40 or 80 cpl 
  4027.            and monochrome always has 80 cpl. 
  4028.  
  4029.  rows      Number of rows. Valid row options are 12, 25, 43, or 50, depending 
  4030.            on which display adapter is attached. 
  4031.  
  4032.  EXAMPLE: 
  4033.  
  4034.     MODE CO40,12
  4035.  
  4036.  
  4037. ΓòÉΓòÉΓòÉ 6.3.7. Setting up OS/2 for Dual Screens. ΓòÉΓòÉΓòÉ
  4038.  
  4039.  TIP# 0006                          ENTERED BY: Pav, Eric M. 
  4040.  FILENAME: OS2C0006.IPF             SOURCE: OS2 FORUMS 
  4041.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4042.  TIME: 10:29am                      CSD LEVEL: GA 
  4043.  
  4044.  The support for dual displays is dependent on an 8514/A adapter card, 
  4045.  connected to an 8514 monitor and another monitor connected to the VGA 
  4046.  connector. The lines required in the CONFIG.SYS file are: 
  4047.  
  4048.   SET VIDEO_DEVICES=VIO_IBMVGA, VIO_IBM8514A 
  4049.  
  4050.   SET VIO_IBMVGA=DEVICE(BVHVGA) 
  4051.  
  4052.   SET VIO_IBM8514A=DEVICE(BVH8514A) 
  4053.  
  4054.  Then COPY or UNPACK (or check and see if they are already there) the files to 
  4055.  the /OS2/DLL directory using the following: 
  4056.  
  4057.   UNPACK A:IBMBGA.DL@ C:/OS2/DLL 
  4058.  
  4059.   UNPACK A:BVHVGA.DL@ C:/OS2/DLL 
  4060.  
  4061.   UNPACK A:BVH8514A.DL@ C:/OS2/DLL 
  4062.  
  4063.  The last step is to:    COPY C:/OS2/DLL/IBMBGA.DLL C:/OS2/DLL/DISPLAY.DLL 
  4064.  
  4065.  Now reboot. 
  4066.  
  4067.  
  4068. ΓòÉΓòÉΓòÉ 6.3.8. Printer Setup for 1.2 ΓòÉΓòÉΓòÉ
  4069.  
  4070.  TIP# 0007                          ENTERED BY: Pettes, Michell H. 
  4071.  FILENAME: OS2C0007.IPF             SOURCE: Communications Manager System Test 
  4072.                                     Division. 
  4073.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4074.  TIME: 10:33am                      CSD LEVEL: GA 
  4075.  
  4076.  o 1.0 INSTALLING PRINTER DRIVERS 
  4077.  
  4078.     - 1.1 Parallel Printers 
  4079.  
  4080.         1. From the OS/2 full-screen prompt, copy the printer driver from 
  4081.            diskette onto the root. 
  4082.  
  4083.         2. Select "Desktop Manager" from the Task List. 
  4084.  
  4085.         3. Select "Utilities" from the Desktop Manager Panel. 
  4086.  
  4087.         4. Select "Control Panel" from the Utilities Panel. 
  4088.  
  4089.         5. F10 to get to the Action Bar. 
  4090.  
  4091.         6. Select "Installation" from the menu. 
  4092.  
  4093.         7. Select "Add a Printer Driver" from the Pull-down. 
  4094.  
  4095.         8. Change the Drive (A:\) to (C:\). 
  4096.  
  4097.         9. Select option to "Add". 
  4098.  
  4099.        10. Verify that the "Add Printer Driver" panel has been updated and 
  4100.            lists the added printer drivers. 
  4101.  
  4102.        11. Select the Printer Driver just added. 
  4103.  
  4104.        12. Select the option to "Add". 
  4105.  
  4106.     - 1.2 Serial Printers 
  4107.  
  4108.       Note:  When dealing with Serial Printers, you must set up a second 
  4109.       printer in Print Manager (i.e. a DUMMY PRINTER) 
  4110.  
  4111.       See the section on "Setting Up Printers and Queues". 
  4112.  
  4113.       ASIDE:  YOU CANNOT USE A SERIAL PRINTER AND SDLC ON AN AT MACHINE BECAUSE 
  4114.       THEY USE THE SAME INTERRUPT LEVEL. 
  4115.  
  4116.         1. From an OS/2 full-screen prompt, edit the "Config.sys" file. 
  4117.  
  4118.         2. Enter the following statements: 
  4119.  
  4120.           DEVICE=C:\OS2\COM01.SYS (for an AT) 
  4121.           DEVICE=C:\OS2\COM02.SYS (for a PS/2) 
  4122.  
  4123.         3. From an OS/2 full-screen prompt, copy the printer driver from 
  4124.            diskette onto the root. 
  4125.  
  4126.         4. Select "Desktop Manager" from the Task List. 
  4127.  
  4128.         5. Select "Utilities" from the Desktop Manager Panel. 
  4129.  
  4130.         6. Select "Control Panel" from the Utilities Panel. 
  4131.  
  4132.         7. F10 to get to the Action Bar. 
  4133.  
  4134.         8. Select "Installation" from the menu. 
  4135.  
  4136.         9. Select "Add a Printer Driver" from the Pull-down. 
  4137.  
  4138.        10. Change the Drive (A:\) to (C:\). 
  4139.  
  4140.        11. Select option to "Add". 
  4141.  
  4142.        12. Verify that the "Add Printer Driver" panel has been updated and 
  4143.            lists the added printer drivers. 
  4144.  
  4145.        13. Select the Printer Driver just added. 
  4146.  
  4147.        14. Select the option to "Add". 
  4148.  
  4149.        15. From the "Control Panel", F10 to "Options" 
  4150.  
  4151.        16. Select "Communications Port" from the Pull-down. 
  4152.  
  4153.        17. Select the appropriate communications settings. 
  4154.  
  4155.        18. From an OS/2 full-screen prompt, enter the following commands. 
  4156.  
  4157.           o CD C:\SPOOL 
  4158.           o SPOOL /D:device_name O:com_port 
  4159.  
  4160.              where: 
  4161.  
  4162.              device_name = the device selected in the "Add Printer" panel of 
  4163.              Print Manager. 
  4164.              com_port = the communications port selected in the "Communications 
  4165.              Port" panel of Desktop Manager. 
  4166.  
  4167.              This command redirects the data from the dummy printer to the 
  4168.              serial printer. 
  4169.  
  4170.           o MODE com_port baud,parity,word_length,stop_bits 
  4171.  
  4172.             where: 
  4173.  
  4174.              com_port = the communications port selected in the "Communications 
  4175.              Port" panel of Desktop Manager. 
  4176.              baud = the baud rate selected in the "Communications Port" panel 
  4177.              of Desktop Manager. 
  4178.              parity = the parity selected in the "Communications Port" panel of 
  4179.              Desktop Manager. 
  4180.              word_length = the word length selected in the "Communications 
  4181.              Port" panel of Desktop Manager. 
  4182.              stop_bits = the stop bits selected in the "Communications Port" 
  4183.              panel of Desktop Manager. 
  4184.  
  4185.              This command sets the mode for the Communications Port. 
  4186.  
  4187.  o 2.0 SETTING UP PRINTERS AND QUEUES 
  4188.  
  4189.     - 2.1 Setting up Printers in Print Manager 
  4190.  
  4191.        o 2.1.1 Change a Printer 
  4192.  
  4193.            1. Hot key to Print Manager. 
  4194.  
  4195.            2. F10 to get to the Action Bar. 
  4196.  
  4197.            3. Select "Setup" from the menu. 
  4198.  
  4199.            4. Select "Printers" from the Pull-down. 
  4200.  
  4201.            5. Select the option to "Change". 
  4202.  
  4203.            6. Enter the printer "Name". 
  4204.  
  4205.              PRINTERn (where  n = the number associated with the printer) 
  4206.  
  4207.            7. Enter the "Device". 
  4208.  
  4209.              LPT1, LPT2, LPT3, COM1, COM2, or COM3 (depending on the device and 
  4210.              the number of printers) 
  4211.  
  4212.            8. Select the "Printer Driver" to be used with the printer. 
  4213.  
  4214.            9. Verify that the default driver updates to match the printer 
  4215.               driver selected above. 
  4216.  
  4217.           10. Select the option to "Change". 
  4218.  
  4219.           11. Select OK from the "Printers" panel. 
  4220.  
  4221.           12. Then go to 2.2.1 (Change a Queue) and follow the instruction. 
  4222.  
  4223.        o 2.1.2 Add a Printer 
  4224.  
  4225.            1. Hot key to Print Manager. 
  4226.  
  4227.            2. F10 to get the Action Bar. 
  4228.  
  4229.            3. Select "Setup" from the menu. 
  4230.  
  4231.            4. Select "Printers" from the Pull-down. 
  4232.  
  4233.            5. Select the option to "Add". 
  4234.  
  4235.            6. Enter the printer "Name". 
  4236.  
  4237.              PRINTERn (where n = the number associated with the printer) 
  4238.  
  4239.            7. Enter the "Device". 
  4240.  
  4241.              LPT1, LPT2, LPT3, COM1, COM2, or COM3 (depending on the device and 
  4242.              the number of printers) 
  4243.  
  4244.            8. Select the "Printer Driver" to be used with the printer. 
  4245.  
  4246.            9. Verify that the default driver updates to match the printer 
  4247.               driver selected above. 
  4248.  
  4249.           10. Select the option to "Add". 
  4250.  
  4251.           11. Verify the list is updated. 
  4252.  
  4253.           12. Select OK from the "Printers" panel. 
  4254.  
  4255.           13. Then go to 2.2.1 (Change a Queue) and follow the instructions. 
  4256.  
  4257.        o 2.1.2 Delete a Printer 
  4258.  
  4259.            1. Hot key to Print Manager. 
  4260.  
  4261.            2. F10 to get to the Action Bar. 
  4262.  
  4263.            3. Select "Setup" from the menu. 
  4264.  
  4265.            4. Select "Printers" from the Pull-down. 
  4266.  
  4267.            5. Select the option to "Delete". 
  4268.  
  4269.            6. Select YES from the Confirmation Panel. 
  4270.  
  4271.            7. Verify the list is updated. 
  4272.  
  4273.            8. Select OK from the "Printers" panel. 
  4274.  
  4275.     - 2.2 Setting up Queues in Print Manager 
  4276.  
  4277.        o 2.2.1 Change a Queue 
  4278.  
  4279.            1. Hot key to Print Manager. 
  4280.  
  4281.            2. F10 to get to the Action Bar. 
  4282.  
  4283.            3. Select "Setup" from the menu. 
  4284.  
  4285.            4. Select "Queues" from the Pull-down. 
  4286.  
  4287.            5. Select the option to "Change". 
  4288.  
  4289.            6. Enter the queue "Name". 
  4290.  
  4291.              LPTnQ (where n = the number of associated with the queue) 
  4292.  
  4293.            7. Select the "Printer" to be used by this queue. 
  4294.  
  4295.            8. Select the option to "Change". 
  4296.  
  4297.            9. Select OK from the "Queues" panel. 
  4298.  
  4299.        o 2.2.2 Add a Queue 
  4300.  
  4301.            1. Hot key to Print Manager. 
  4302.  
  4303.            2. F10 to get to the Action Bar. 
  4304.  
  4305.            3. Select "Setup" from the menu. 
  4306.  
  4307.            4. Select "Queues" from the Pull-down. 
  4308.  
  4309.            5. Select the option to "Add" 
  4310.  
  4311.            6. Enter the queue "Name". 
  4312.  
  4313.              LPTnQ (where n = the number associated with the queue) 
  4314.  
  4315.            7. Select the "Printer" to be used by this queue. 
  4316.  
  4317.            8. Select the option to "Add". 
  4318.  
  4319.            9. Verify the list us updated. 
  4320.  
  4321.           10. Select OK from the "Queues" panel. 
  4322.  
  4323.        o 2.2.3 Delete a Queue 
  4324.  
  4325.            1. Hot key to Print Manager. 
  4326.  
  4327.            2. F10 to get to the Action Bar. 
  4328.  
  4329.            3. Select "Setup" from the menu. 
  4330.  
  4331.            4. Select "Queues" from the Pull-down. 
  4332.  
  4333.            5. Select the option to "Delete". 
  4334.  
  4335.            6. Select YES from the Confirmation Panel. 
  4336.  
  4337.            7. Verify the list is updated. 
  4338.  
  4339.            8. Select OK from the "Printers" panel. 
  4340.  
  4341.  
  4342. ΓòÉΓòÉΓòÉ 6.3.9. What does the IOPL command in CONFIG.SYS do? ΓòÉΓòÉΓòÉ
  4343.  
  4344.  TIP# 0008                          ENTERED BY: Pav, Eric M. 
  4345.  FILENAME: OS2C0008.IPF             SOURCE: OS2 FORUMS 
  4346.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  4347.  TIME: 10:37am                      CSD LEVEL: GA 
  4348.  
  4349.  When IOPL authority is granted to an application, it enables that application 
  4350.  to perform I/O (e.g. INPUT and OUTPUT instructions) and directly controls I/O 
  4351.  devices. 
  4352.  
  4353.  Normally, applications do not need this authority. OS/2 1.0 only allowed an 
  4354.  IOPL=YES/NO statement in CONFIG.SYS, which basically said if you need IOPL 
  4355.  authority for any application, then you give it to all applications. 
  4356.  
  4357.  From OS/2 1.1 on, we can now specify specific modules which are authorized for 
  4358.  IOPL. 
  4359.  
  4360.  This command is useful, because it adds an extra layer of protection which may 
  4361.  help if an application runs amok and accidentally tries to perform some direct 
  4362.  I/O. 
  4363.  
  4364.  
  4365. ΓòÉΓòÉΓòÉ 6.3.10. Changing the Cursor Speed. ΓòÉΓòÉΓòÉ
  4366.  
  4367.  TIP# 0009                          ENTERED BY: Pav, Eric M. 
  4368.  FILENAME: OS2C0009.IPF             SOURCE: OS2 FORUMS 
  4369.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4370.  TIME: 10:41am                      CSD LEVEL: GA 
  4371.  
  4372.  Cursor speed too slow? 
  4373.  
  4374.  To change the cursor speed, just place the Reference disk in the A: drive, and 
  4375.  switch to the DOS box. Type A:SETRATE and you can set the cursor speed without 
  4376.  booting the reference diskette. 
  4377.  
  4378.  
  4379. ΓòÉΓòÉΓòÉ 6.3.11. Saving Windows under Desktop. ΓòÉΓòÉΓòÉ
  4380.  
  4381.  TIP# 0010                          ENTERED BY: Pav, Eric M. 
  4382.  FILENAME: OS2C0010.IPF             SOURCE: OS2 FORUMS 
  4383.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4384.  TIME: 10:45am                      CSD LEVEL: GA 
  4385.  
  4386.  To save the postions of the windows, put them where and how you like them, 
  4387.  then choose Save from the Desktop menu in the Desktop Manager. 
  4388.  
  4389.  Next time you start CM, the windows should come up in the saved positions. 
  4390.  
  4391.  
  4392. ΓòÉΓòÉΓòÉ 6.3.12. Creating an OS/2 Bootable Diskette. ΓòÉΓòÉΓòÉ
  4393.  
  4394.  TIP# 0011                          ENTERED BY: Pav, Eric M. 
  4395.  FILENAME: OS2C0011.IPF             SOURCE: OS2 FORUMS 
  4396.  DATE: 02/05/91                     RELEASE LEVEL: 1.1 1.2 
  4397.  TIME: 10:48am                      CSD LEVEL: GA 
  4398.  
  4399.  To create an OS/2 bootable diskette, do the following instuctions: 
  4400.  
  4401.  For OS/2 1.1: 
  4402.  
  4403.   1. Copy the Corrective Service diskette #1 to a second diskette. Do all 
  4404.      further work on the copy. 
  4405.  
  4406.   2. Clear the read only attributes on the following files: 
  4407.  
  4408.     /csf.exe 
  4409.     /fixos2.exe 
  4410.     /sysfix.com 
  4411.     /readme.txt 
  4412.     /readme.doc 
  4413.     /wr*.001 
  4414.     /config.sys 
  4415.  
  4416.   3. Delete the following files: 
  4417.  
  4418.     /csf.exe 
  4419.     /fixos2.exe 
  4420.     /sysfix.com 
  4421.     /readme.txt 
  4422.     /readme.doc 
  4423.     /wr*.001 
  4424.     /fix/os2/*.* 
  4425.  
  4426.   4. Remove the following directories: 
  4427.  
  4428.     /fix/os2 
  4429.     /fix 
  4430.  
  4431.   5. Change the PROTSHELL statement of the /CONFIG.SYS file to: 
  4432.  
  4433.         PROTSHELL=CMD.EXE 
  4434.  
  4435.   6. Create a /STARTUP.CMD if desired. 
  4436.  
  4437.    For OS/1.2: 
  4438.  
  4439.   1. Copy the OS/2 1.2 INSTALL diskette to a second diskette.  Do all further 
  4440.      work on the copy. 
  4441.  
  4442.   2. Delete the files: 
  4443.  
  4444.     *.RC@ 
  4445.     SYSINSTX.COM 
  4446.     SYSINST?.EXE 
  4447.     FDISK.COM 
  4448.     CPYRIGHT.DAT 
  4449.     INSTALL.LOG 
  4450.     VDISK.SYS 
  4451.  
  4452.   3. Edit the CONFIG.SYS and change to your specifications.  The following 
  4453.      changes are necessary: 
  4454.  
  4455.      PROTSHELL=A:/CMD.EXE 
  4456.      LIBPATH=.;A:/ 
  4457.      PATH=.;A:/ 
  4458.      DPATH=.;A:/ 
  4459.      PROTECTONLY=YES 
  4460.  
  4461.   4. Create a STARTUP.CMD, if desired. 
  4462.  
  4463.  
  4464. ΓòÉΓòÉΓòÉ 6.3.13. Closing the STARTUP.CMD window. ΓòÉΓòÉΓòÉ
  4465.  
  4466.  TIP# 0012                          ENTERED BY: Pav, Eric M. 
  4467.  FILENAME: OS2C0012.IPF             SOURCE: OS2 FORUMS 
  4468.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4469.  TIME: 10:51am                      CSD LEVEL: GA 
  4470.  
  4471.  To close and remove the STARTUP.CMD window after it has completed processing, 
  4472.  simply type exit at the end of your STARTUP.CMD file.  To remove the window 
  4473.  manually, bring the window into focus, and at the command prompt type exit. 
  4474.  
  4475.  
  4476. ΓòÉΓòÉΓòÉ 6.3.14. Removing the DOS Box. ΓòÉΓòÉΓòÉ
  4477.  
  4478.  TIP# 0013                          ENTERED BY: Pav, Eric M. 
  4479.  FILENAME: OS2C0013.IPF             SOURCE: OS2 FORUMS 
  4480.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4481.  TIME: 10:53am                      CSD LEVEL: GA 
  4482.  
  4483.  How to turn the DOS box off. 
  4484.  
  4485.  To deactivate the DOS box in OS/2 1.2, edit the PROTECTONLY=NO line in 
  4486.  config.sys to PROTECTONLY=YES, then reboot. 
  4487.  
  4488.  
  4489. ΓòÉΓòÉΓòÉ 6.3.15. Creating an icon for a Group Window. ΓòÉΓòÉΓòÉ
  4490.  
  4491.  TIP# 0014                          ENTERED BY: Pav, Eric M. 
  4492.  FILENAME: OS2C0014.IPF             SOURCE: OS2 FORUMS 
  4493.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4494.  TIME: 10:56am                      CSD LEVEL: GA 
  4495.  
  4496.  To add an icon to a GROUP line item in a GROUP window, do the following steps. 
  4497.  
  4498.   1. Create the .CMD file and add it to your GROUP. 
  4499.   2. Create the .ICO file for use with the .CMD file. 
  4500.   3. Put the .ICO and .CMD files in the same directory. 
  4501.   4. Name the .ICO file the same as the .CMD file. 
  4502.  
  4503.    Now, try it. 
  4504.  
  4505.  
  4506. ΓòÉΓòÉΓòÉ 6.3.16. Adding PASTE to an OS/2 Window Session. ΓòÉΓòÉΓòÉ
  4507.  
  4508.  TIP# 0015                          ENTERED BY: O'Reilly, Kathleen M. 
  4509.  FILENAME: OS2C0015.IPF             SOURCE: OS2 FORUMS 
  4510.  DATE: 02/05/91                     RELEASE LEVEL: 1.3 
  4511.  TIME: 10:58am                      CSD LEVEL: GA 
  4512.  
  4513.  In OS/2 vs. 1.3 you can enable PASTE to the CLIPBOARD from a text window. The 
  4514.  default is shipped with PASTE disabled. To add this feature: 
  4515.  
  4516.   1. Start an OS/2 Window session 
  4517.  
  4518.   2. Select the Menu Icon in left hand corner 
  4519.  
  4520.   3. Use the keyboard to cursor down to MARK 
  4521.  
  4522.   4. Press Shift-Enter 
  4523.  
  4524.   5. Close the window 
  4525.  
  4526.  All new sessions of OS/2 Windows will contain PASTE in their menu. MIGRATION 
  4527.  
  4528.  
  4529. ΓòÉΓòÉΓòÉ 6.4. MIGRATION ΓòÉΓòÉΓòÉ
  4530.  
  4531.  
  4532. ΓòÉΓòÉΓòÉ 6.4.1. Running DOS Applications on HPFS. ΓòÉΓòÉΓòÉ
  4533.  
  4534.  TIP# 0000                          ENTERED BY: Pav, Eric M. 
  4535.  FILENAME: OS2G0000.IPF             SOURCE: OS2 FORUMS 
  4536.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4537.  TIME: 11:06am                      CSD LEVEL: GA 
  4538.  
  4539.  Running DOS Applications with  the High Performance File System. 
  4540.  
  4541.  DOS applications running in the DOS compatibility session of OS/2 can access 
  4542.  files in HPFS (but cannot use long file names).  If you physically boot DOS, 
  4543.  it cannot access HPFS drives.  You need to keep your boot partition as a FAT 
  4544.  partition if you want to boot DOS using the dual boot feature. 
  4545.  
  4546.  If you currently have only one partition and it is a FAT partition. Your 
  4547.  choices are: 
  4548.  
  4549.   1. Stay the way you are.  You can boot DOS and OS/2, access all your files, 
  4550.      and won't have to reformat, but will not have HPFS. 
  4551.  
  4552.   2. Reformat your partition to HPFS.  You can only boot OS/2, and you will 
  4553.      have to backup and restore all your files you want to save. 
  4554.  
  4555.   3. Create two partitions:  the first one FAT, the second HPFS.  You can boot 
  4556.      OS/2 and DOS. DOS can access the FAT partition only, while OS/2 can access 
  4557.      both.  You will have to run FDISK and reformat both your partitions, so 
  4558.      you will have to backup and restore all the files you want to keep. 
  4559.  
  4560.  
  4561. ΓòÉΓòÉΓòÉ 6.4.2. How to setup Disk Partitions when wanting to Migrate from 1.1 to 1.2 and Add Dual Boot. ΓòÉΓòÉΓòÉ
  4562.  
  4563.  TIP# 0001                          ENTERED BY: Pettes, Michell H. 
  4564.  FILENAME: OS2G0001.IPF             SOURCE: OS2 FORUMS 
  4565.  DATE: 02/05/91                     RELEASE LEVEL: 1.1 1.2 
  4566.  TIME: 11:08am                      CSD LEVEL: GA 
  4567.  
  4568.  If you have 1.1 now you already have a DOS partition.  Before installing 1.2, 
  4569.  install DOS 4.0.  Then when you install 1.2, you'll get dual boot AS LONG AS 
  4570.  YOU DON'T FORMAT THE PARTITION.  So that DOS and OS/2 1.2 will work nicely 
  4571.  together, it is suggested that you put 1.2 on your C: (FAT) drive (40-50MB) 
  4572.  and a D: (HPFS) drive (3-8MB) for SWAPPER.DAT.  To do this, you'll probably 
  4573.  have to FDISK (boot DOS install diskette and ESC) first, then install DOS, 
  4574.  then 1.2.  Don't forget to save a copy of the important stuff from 1.1 like 
  4575.  OS2.INI, CONFIG.SYS, AUTOEXEC.BAT, etc. 
  4576.  
  4577.  
  4578. ΓòÉΓòÉΓòÉ 6.4.3. Installing EE 1.2 with Dual Boot over EE 1.1 ΓòÉΓòÉΓòÉ
  4579.  
  4580.  TIP# 0002                          ENTERED BY: Pav, Eric M. 
  4581.  FILENAME: OS2G0002.IPF             SOURCE: OS2 FORUMS 
  4582.  DATE: 02/05/91                     RELEASE LEVEL: 1.1 1.2 
  4583.  TIME: 11:14am                      CSD LEVEL: GA 
  4584.  
  4585.  Here are the steps to install Extended Edition 1.2 with Dual Boot when 
  4586.  Extended Edition 1.1 is already installed. 
  4587.  
  4588.  Note:  This only works if your hard disk is partitioned into C: and D: drives, 
  4589.  having only Extended Edition 1.1 on the C: drive. 
  4590.  
  4591.   1. Copy the following files from the C: drive to D: drive for safekeeping: 
  4592.  
  4593.      /AUTOEXEC.BAT 
  4594.      /CONFIG.SYS 
  4595.      /OS2INIT.CMD 
  4596.      /STARTUP.CMD 
  4597.      /OS2/OS2.INI 
  4598.  
  4599.   2. Boot a DOS 4.01 diskette. 
  4600.  
  4601.   3. FORMAT C: /S 
  4602.  
  4603.   4. Copy the DOS AUTOEXEC.BAT and the OS/2 CONFIG.SYS to C:/. 
  4604.  
  4605.   5. MKDIR C:/OS2 
  4606.  
  4607.   6. Copy the saved OS2.INI from D: to C:/OS2. This allows the install process 
  4608.      to migrate your personalizations from 1.1 to 1.2. 
  4609.  
  4610.   7. Install EE 1.2. 
  4611.  
  4612.   8. By hand, compare the backup CONFIG.SYS and AUTOEXEC.BAT files with the new 
  4613.      CONFIG.SYS and AUTOEXEC.BAT files, and make any necessary modifications in 
  4614.      the path and device statements. 
  4615.  
  4616.   9. Reboot and you're finished. 
  4617.  MISCELLANEOUS 
  4618.  
  4619.  
  4620. ΓòÉΓòÉΓòÉ 6.5. MISCELLANEOUS ΓòÉΓòÉΓòÉ
  4621.  
  4622.  
  4623. ΓòÉΓòÉΓòÉ 6.5.1. Create an OS/2 Bootable Diskette to provide an OS/2 Command Prompt. ΓòÉΓòÉΓòÉ
  4624.  
  4625.  TIP# 0000                          ENTERED BY: Pettes, Michell H. 
  4626.  FILENAME: OS2M0000.IPF             SOURCE: OS2 FORUMS 
  4627.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4628.  TIME: 11:19am                      CSD LEVEL: GA 
  4629.  
  4630.  The generic way (without using another disk as a master, i.e. the installation 
  4631.  disk) is as follows: 
  4632.  
  4633.  o Format a disk without system. 
  4634.  
  4635.  o Copy the program 'SYSINSTX.COM' from OS\2 installation disk. 
  4636.  
  4637.  o Make the C drive the current drive 
  4638.  
  4639.  o Type 'SYSINSTX a:' 
  4640.  
  4641.    where  a = the drive in which your formatted disk is inserted. 
  4642.  
  4643.  o You now need to copy cmd.exe, all required DLLs (check with CHK4DLLS form 
  4644.    OS2TOOLS), and appropriate CONFIG.SYS and STARTUP.CMD onto the disk. 
  4645.  
  4646.  To create a bootable diskette from an installation diskette: 
  4647.  
  4648.  Use the following commands (write protect installation: diskette): 
  4649.  
  4650.   1. diskcopy a: 
  4651.  
  4652.   2. erase a:*.*@ 
  4653.  
  4654.   3. erase a:sysinst*.* 
  4655.  
  4656.   4. e a:config.sys (EDLIN, or EPM, EOS2, etc.) 
  4657.  
  4658.    protshell=cmd.exe 
  4659.  
  4660.  To create a bootable diskette from CSD Diskette #1: 
  4661.  
  4662.  Use the following commands (write protect CSD diskette): 
  4663.  
  4664.   1.  diskcopy a: 
  4665.  
  4666.   2.  erase a:\fix\*.* 
  4667.  
  4668.   3.  rmdir a:\fix 
  4669.  
  4670.   4.  attrib -R a:*.*@ 
  4671.  
  4672.   5.  attrib -R a:csf.exe 
  4673.  
  4674.   6.  attrib -R a:config.sys 
  4675.  
  4676.   7.  erase a:*.*@ 
  4677.  
  4678.   8.  erase a:csf.exe 
  4679.  
  4680.   9.  e a:config.sys (EDLIN, or EPM, EOS2, etc.) 
  4681.  
  4682.    protshell=cmd.exe 
  4683.  
  4684.  
  4685. ΓòÉΓòÉΓòÉ 6.5.2. Icon Editor tips. ΓòÉΓòÉΓòÉ
  4686.  
  4687.  TIP# 0001                          ENTERED BY: Pettes, Michell H. 
  4688.  FILENAME: OS2M0001.IPF             SOURCE: OS2 FORUMS 
  4689.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4690.  TIME: 11:23am                      CSD LEVEL: GA 
  4691.  
  4692.   1. How to convert a pointer into a bitmap 
  4693.  
  4694.      Load the pointer into iconedit.  Select all of the image. Cut it into the 
  4695.      clipboard.  Create a blank bitmap.  Paste the image into the bitmap, and 
  4696.      save. 
  4697.  
  4698.   2. How to get characters into a bitmap 
  4699.  
  4700.      Run the font editor.  Select a character and cut it into the clipboard. Go 
  4701.      back to the icon editor and paste. 
  4702.  
  4703.      Note:  You can also get the magnify package which allows you to copy a 
  4704.      part of the screen in the clipboard. Then you can use CUADRAW or PMDRAW to 
  4705.      draw neat things, like fonts or metafiles, and cut that and paste it in 
  4706.      your bitmap! 
  4707.  
  4708.   3. How to delete CGA, VGA, or BGA images without losing any other images. 
  4709.  
  4710.      In 1.2 you can create icons images for many different devices. Suppose you 
  4711.      make a really great BGA icon and find that it looks terrible when shown on 
  4712.      a VGA screen.  The icon editor lets you edit just the VGA copy and fix it 
  4713.      up without changing the BGA version. 
  4714.  
  4715.  
  4716. ΓòÉΓòÉΓòÉ 6.5.3. Printer Spooler Problem - error message PVM5005 ΓòÉΓòÉΓòÉ
  4717.  
  4718.  TIP# 0002                          ENTERED BY: Pettes, Michell H. 
  4719.  FILENAME: OS2M0002.IPF             SOURCE: OS2 FORUMS 
  4720.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4721.  TIME: 11:26am                      CSD LEVEL: GA 
  4722.  
  4723.  While (presumably) the .INI file may be bad, check out these things first: 
  4724.  
  4725.   1. If you have added any RUN= statements to your CONFIG.SYS, REM them out and 
  4726.      reboot.  If the spooler starts okay now, delete the RUN statements from 
  4727.      the CONFIG.SYS and start the programs from STARTUP.CMD instead. 
  4728.  
  4729.   2. Run CHKDSK C: /F to see if there are any problems on the hard disk.  If 
  4730.      yes, run CHKDSK C: /F until no errors are reported.  Reboot and try to 
  4731.      start the spooler. 
  4732.  
  4733.   3. Backup all the files in C:\SPOOL to another directory, erase C:\SPOOL\*, 
  4734.      and try to start the spooler. 
  4735.  
  4736.   4. If all of the above fail, boot from the Install disk, backup OS2.INI and 
  4737.      OS2SYS.INI, and use MAKEINI to rebuild those two files.  Reboot and try to 
  4738.      start the spooler. 
  4739.  
  4740.  
  4741. ΓòÉΓòÉΓòÉ 6.5.4. How to switch between VGA and BGA on OS/2 EE 1.2. ΓòÉΓòÉΓòÉ
  4742.  
  4743.  TIP# 0003                          ENTERED BY: Pettes, Michell H. 
  4744.  FILENAME: OS2M0003.IPF             SOURCE: OS2 FORUMS 
  4745.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4746.  TIME: 11:28am                      CSD LEVEL: GA 
  4747.  
  4748.  If you have installed an 8514/a adapter and want OS/2 Presentation Manager to 
  4749.  use the full resolution of the screen, these are the steps you should follow. 
  4750.  
  4751.  o How to Switch between VGA and BGA on OS/2 EE 1.2 
  4752.  
  4753.    If you didn't have an 8514/a adapter in your machine when you installed 
  4754.    OS/2, your default configuration is currently VGA (640 x 480). 
  4755.  
  4756.    If you change your hardware so that your 8514 monitor is now connected to an 
  4757.    8514/a video adapter you can use the 8514's much higher resolution of 1024 x 
  4758.    768 (known as "BGA" (perhaps for "BIG Video Adapter"?)). 
  4759.  
  4760.    That works out to 307,000 pels for VGA versus 786,000 for BGA - an increase 
  4761.    of 156% 
  4762.  
  4763.    The main benefit of BGA resolution to the end-user of developer is a much 
  4764.    greater amount of visual information on the screen at once WITHOUT lessening 
  4765.    the clarity and readability of that information. 
  4766.  
  4767.    Note:  A BGA "desktop" is two and a half times as spacious as a VGA desktop. 
  4768.    Also, an 8514/a adapter as sold in the USA, requires an additional memory 
  4769.    kit in order to work as BGA.  You must move a jumper to activate the 
  4770.    additional memory.  If you do not have the additional memory installed, do 
  4771.    NOT read further! 
  4772.  
  4773.  o How to Make the Switch to BGA 
  4774.  
  4775.    Switching from VGA to BGA on OS/2 1.1 is a simple process (just follow 1b, 
  4776.    3, 4, 5 below). 
  4777.  
  4778.    In OS/2 1.2 the process is not quite as simple, since you'll also need to 
  4779.    edit your Config.Sys file.  Even so, the process is straightforward and can 
  4780.    be done in less than 5 minutes.  Later, if need be, you can as easily switch 
  4781.    back from BGA to VGA.) 
  4782.  
  4783.    The 5 steps in moving from VGA to BGA resolution are: 
  4784.  
  4785.      1. Place three files into your C:\OS2\DLL directory: 
  4786.  
  4787.        a. IBMVGA.DLL....... Driver for VGA resolution 
  4788.        b. IBMBGA.DLL ....... Driver for BGA resolution 
  4789.        c. BVH8514A.DLL ..... Something else needed for BGA resolution (?) 
  4790.  
  4791.        You can get these files from the original OS/2 1.2 installation 
  4792.        diskettes) ("Unpack" them using the Upack.Exe utility on the diskette) 
  4793.        -- or from anyone who's already using BGA on OS/2 1.2. 
  4794.  
  4795.      2. Edit your OS/2 1.2 CONFIG.SYS  file.  There will be 3 lines that look 
  4796.         (almost exactly) like this: 
  4797.  
  4798.        DevInfo=Scr,Vga,C:\OS2\VioTbl.Dcp 
  4799.        Set Video_Devices=VIO_IBMVga 
  4800.        Set VIO_IBMVga=Device(BVHVga) 
  4801.  
  4802.        (I freely use caps and lowercase for improved readability; OS/2 doesn't 
  4803.        mind.) These lines determine the type of video driver you'll be using. 
  4804.        Right now, they are set for VGA.  To switch to BGA, change them to read: 
  4805.  
  4806.        DevInfo=Scr,Bga,C:\OS2\VioTbl.Dcp 
  4807.  
  4808.        Set Video_Devices=VIO_IBM8514a 
  4809.  
  4810.        Set VIO_IBM8514a=Device(BVHVga,BVH8514a) 
  4811.  
  4812.        (For future ease-of-switching, you might just comment out the 3 original 
  4813.        lines (place "REM" in front of each line), and ADD in the 3 new lines.) 
  4814.  
  4815.      3. Reboot your system with DOS, so you can replace OS/2's current video 
  4816.         driver file with the new one you need.  (OS/2 won't let you fiddle with 
  4817.         its driver files WHILE IT'S RUNNING - not even from within the DOS 
  4818.         Compatibility Box.) 
  4819.  
  4820.         Note:  If your C: drive is HPFS you cannot boot with DOS. In this case 
  4821.         boot with the OS/2 1.2 INSTALL diskette and when you get the IBM Logo - 
  4822.         press escape.  You can now follow the rest of these instructions. 
  4823.  
  4824.      4. From DOS, change directory into C:\OS2\DLL and do: 
  4825.  
  4826.         copy IBMBGA.DLL DISPLAY.DLL 
  4827.  
  4828.      5. Reboot OS/2 (from disk) and see what happens. If all is well, OS/2 will 
  4829.         be using the newly- replaced Display.Dll file from \OS2\DLL as the main 
  4830.         video driver. You'll right off notice that the hourglass figure is 
  4831.         smaller and more precisely drawn.  A great many other differences will 
  4832.         be obvious as you run your usual PM programs... 
  4833.  
  4834.  o How to Switch Back to VGA 
  4835.  
  4836.    You may will want to switch BACK to VGA resolution some time (say, to see 
  4837.    how you program looks on a vanilla VGA monitor.).  To make this switch, 
  4838.    re-edit your CONFIG.SYS file to use the VGA lines.  Then reboot your system 
  4839.    with DOS, change directory into C:\OS2\DLL, and do: 
  4840.  
  4841.    copy  IBMVGA.DLL  DISPLAY.DLL 
  4842.  
  4843.    and reboot with OS/2. 
  4844.  
  4845.  
  4846. ΓòÉΓòÉΓòÉ 6.5.5. File Manager Directory Default to D: ΓòÉΓòÉΓòÉ
  4847.  
  4848.  TIP# 0004                          ENTERED BY: Pav, Eric M. 
  4849.  FILENAME: OS2M0004.IPF             SOURCE: OS2 FORUMS 
  4850.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4851.  TIME: 11:31am                      CSD LEVEL: GA 
  4852.  
  4853.  Defaulting the Directory Tree to the D: drive. 
  4854.  
  4855.  o If you invoke the File Manager from a command line: 
  4856.  
  4857.      1. Set the current directory to D: before invoking it. 
  4858.  
  4859.  o If you invoke the File Manager from Group-Main: 
  4860.  
  4861.      1. Select File Manager as the object. 
  4862.  
  4863.      2. Select Program from the action bar. 
  4864.  
  4865.      3. Select Properties... from the pull down menu. 
  4866.  
  4867.      4. Make the Working directory "D:\". 
  4868.  
  4869.      5. Select the Change pushbutton. 
  4870.  
  4871.  
  4872. ΓòÉΓòÉΓòÉ 6.5.6. Determining level of OS/2 fixes. ΓòÉΓòÉΓòÉ
  4873.  
  4874.  TIP# 0005                          ENTERED BY: Pav, Eric M. 
  4875.  FILENAME: OS2M0005.IPF             SOURCE: OS2 FORUMS 
  4876.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4877.  TIME: 11:35am                      CSD LEVEL: GA 
  4878.  
  4879.  To check a machine for the current and previous levels of all components of 
  4880.  OS/2, simply type SYSLEVEL at an OS/2 command prompt. 
  4881.  
  4882.  
  4883. ΓòÉΓòÉΓòÉ 6.5.7. Left-handed Mouse. ΓòÉΓòÉΓòÉ
  4884.  
  4885.  TIP# 0006                          ENTERED BY: Pav, Eric M. 
  4886.  FILENAME: OS2M0006.IPF             SOURCE: OS2 FORUMS 
  4887.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4888.  TIME: 11:37am                      CSD LEVEL: GA 
  4889.  
  4890.  Your left-hand can use the mouse while the right-hand uses keypad navigation, 
  4891.  special function keys, and the enter key.  With a right-handed mouse, you must 
  4892.  CONSTANTLY switch between the keypad, mouse, and the enter key.  Try it! You 
  4893.  will become more productive and create less errors moving back and forth from 
  4894.  the mouse to the keyboard. The left-handed mouse simply makes sense. 
  4895.  
  4896.  
  4897. ΓòÉΓòÉΓòÉ 6.5.8. Locking in an OS/2 Full-Screen. ΓòÉΓòÉΓòÉ
  4898.  
  4899.  TIP# 0007                          ENTERED BY: Pav, Eric M. 
  4900.  FILENAME: OS2M0007.IPF             SOURCE: OS2 FORUMS 
  4901.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4902.  TIME: 11:40am                      CSD LEVEL: GA 
  4903.  
  4904.  One way to get an OS/2 full screen application to lock in ( without 
  4905.  Presentation Manager ) is to change your PROTSHELL line in your CONFIG.SYS to 
  4906.  :  PROTSHELL=C:/OS2/CMD.EXE 
  4907.  
  4908.  
  4909. ΓòÉΓòÉΓòÉ 6.5.9. Erratic Mouse Pointer Movement with Stationary Mouse. ΓòÉΓòÉΓòÉ
  4910.  
  4911.  TIP# 0008                          ENTERED BY: Pav, Eric M. 
  4912.  FILENAME: OS2M0008.IPF             SOURCE: OS2 FORUMS 
  4913.  DATE: 02/05/91                     RELEASE LEVEL: 1.0+ 
  4914.  TIME: 11:42am                      CSD LEVEL: GA 
  4915.  
  4916.  Erratic movements by the mouse pointer when the mouse is stationary is not a 
  4917.  software problem. It's simply a sign that you need to clean your mouse. If you 
  4918.  remove the track ball, you'll notice that the rollers probably have 
  4919.  accumulated dirt or lint on them.  Cleaning the rollers should solve your 
  4920.  problem. 
  4921.  
  4922.  
  4923. ΓòÉΓòÉΓòÉ 6.5.10. Improving the IBM Mouse Performance. ΓòÉΓòÉΓòÉ
  4924.  
  4925.  TIP# 0009                          ENTERED BY: Pav, Eric M. 
  4926.  FILENAME: OS2M0009.IPF             SOURCE: OS2 FORUMS 
  4927.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4928.  TIME: 11:45am                      CSD LEVEL: GA 
  4929.  
  4930.  To improve the response time and performance of your IBM mouse, try this: 
  4931.  
  4932.  Get a hold of the Microsoft mouse driver and load it onto your machine. Then 
  4933.  edit your CONFIG.SYS by replacing the following lines: 
  4934.  
  4935.  
  4936.     DEVICE=C:/OS2/IBMMOU02.SYS
  4937.     DEVICE=C:/OS2/MOUSE.SYS TYPE=IBMMOU$
  4938.  
  4939.  with these lines: 
  4940.  
  4941.  
  4942.     DEVICE=C:/OS2/msps202.sys
  4943.     DEVICE=C:/OS2/MOUSE.SYS TYPE=msps2$
  4944.  
  4945.  Now reboot. 
  4946.  
  4947.  
  4948. ΓòÉΓòÉΓòÉ 6.5.11. How to Remove OS/2 from your machine. ΓòÉΓòÉΓòÉ
  4949.  
  4950.  TIP# 0010                          ENTERED BY: Pav, Eric M. 
  4951.  FILENAME: OS2M0010.IPF             SOURCE: OS2 FORUMS 
  4952.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4953.  TIME: 11:47am                      CSD LEVEL: GA 
  4954.  
  4955.  To remove OS/2 for your harddisk: 
  4956.  
  4957.   1. Boot with OS/2 install disk and Escape out of logo screen. This will give 
  4958.      you a full-screen OS/2 session. 
  4959.  
  4960.   2. Enter FDISK /D - this will remove all partitions. 
  4961.  
  4962.   3. Boot DOS from floppy and run FDISK as usual. 
  4963.  
  4964.  
  4965. ΓòÉΓòÉΓòÉ 6.5.12. The Function of the Printer Drivers in OS/2 1.2 ΓòÉΓòÉΓòÉ
  4966.  
  4967.  TIP# 0011                          ENTERED BY: Pav, Eric M. 
  4968.  FILENAME: OS2M0011.IPF             SOURCE: OS2 FORUMS 
  4969.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  4970.  TIME: 11:50am                      CSD LEVEL: GA 
  4971.  
  4972.  The job of the IBM4201 driver is to help transform a PM presentation space 
  4973.  into ProPrinter output.  You may have noticed that the PM versions of 
  4974.  applications no longer include printer device drivers.  They draw to the 
  4975.  presentation space and depend on OS/2 to provide the drivers. For example, the 
  4976.  Windows version of MICROGRAPHX DESIGNER had seven diskettes, while the PM 
  4977.  version only two (an EXE, a HELP file, and four DLLs). 
  4978.  
  4979.  
  4980. ΓòÉΓòÉΓòÉ 6.5.13. The Purpose of the file EADATA.SF in OS/2 1.3 ΓòÉΓòÉΓòÉ
  4981.  
  4982.  TIP# 0012                          ENTERED BY: Pav, Eric M. 
  4983.  FILENAME: OS2M0012.IPF             SOURCE: OS2 FORUMS 
  4984.  DATE: 02/05/91                     RELEASE LEVEL: 1.3 
  4985.  TIME: 11:57am                      CSD LEVEL: GA 
  4986.  
  4987.  This file contains the extended attributes for your files and was created when 
  4988.  you started using the traditional FAT (File Allocation Table) file system 
  4989.  under OS/2 1.2. 
  4990.  
  4991.  FAT directories cannot handle the extended attribute information so the system 
  4992.  creates the file for you in the directory where you put the file. 
  4993.  
  4994.  More and more programs are using the EA area to store information about their 
  4995.  files. These include the OS/2 System editor, REXX command files, the File 
  4996.  System, etc. 
  4997.  
  4998.  It is very strongly suggested that you leave this file alone. 
  4999.  
  5000.  If you access the same files from a non-OS/2 version of DOS, you may 
  5001.  occasionally run into problems in OS/2. The OS/2 command CHKDSK can be used to 
  5002.  recover from several kinds of problems related to this file. 
  5003.  
  5004.  
  5005. ΓòÉΓòÉΓòÉ 6.5.14. Changing Directories using HPFS. ΓòÉΓòÉΓòÉ
  5006.  
  5007.  TIP# 0013                          ENTERED BY: Pav, Eric M. 
  5008.  FILENAME: OS2M0013.IPF             SOURCE: OS2 FORUMS 
  5009.  DATE: 02/05/91                     RELEASE LEVEL: 1.2 
  5010.  TIME: 11:59am                      CSD LEVEL: GA 
  5011.  
  5012.  To issue the CD (change directory) command, when using HPFS, and the directory 
  5013.  name contains spaces, you must place quotation marks around the full name. For 
  5014.  example, to change to the directory named Bookmanager Library, you must type: 
  5015.  
  5016.    CD "Bookmanager Library" 
  5017.  
  5018.  Otherwise the CD command will treat the HPFS full name as two names and create 
  5019.  two different directories, Bookmanager and Library. 
  5020.  
  5021.  
  5022. ΓòÉΓòÉΓòÉ 6.5.15. Disabling Hard-Error Popup Messages ΓòÉΓòÉΓòÉ
  5023.  
  5024.  TIP# 0014                          ENTERED BY: O'Reilly, Kathleen M. 
  5025.  FILENAME: OS2M0014.IPF             SOURCE: OS2 FORUMS 
  5026.  DATE: 02/20/91                     RELEASE LEVEL: 1.1+ 
  5027.  TIME: 1:17pm                       CSD LEVEL: GA 
  5028.  
  5029.   If you do not like the pop-system error messages that occur when protection 
  5030.  violation occurs, or when a disk drive is not ready, etc...  There is a line 
  5031.  you can add to your CONFIG.SYS to disable this feature:
  5032.  
  5033.     AUTOFAIL=YES 
  5034.  
  5035.  Note:  This will not get rid of the protection violations; however, the 
  5036.  program will not display the screen dump, rather just end the program. 
  5037.  
  5038.  
  5039. ΓòÉΓòÉΓòÉ 7. PRESENTATION MANAGER ΓòÉΓòÉΓòÉ
  5040.  
  5041. WINDOWS 
  5042.  
  5043.  
  5044. ΓòÉΓòÉΓòÉ 7.1. WINDOWS ΓòÉΓòÉΓòÉ
  5045.  
  5046.  
  5047. ΓòÉΓòÉΓòÉ 7.1.1. Windows to PM/PM to Windows Conversion Reference ΓòÉΓòÉΓòÉ
  5048.  
  5049.  TIP# 0000                          ENTERED BY: Gabay, J. T. 
  5050.  FILENAME: PMPW0000.IPF             SOURCE: 
  5051.  DATE: 02/27/91                     RELEASE LEVEL: 1.2 
  5052.  TIME: 5:22pm                       CSD LEVEL: GA 
  5053.  
  5054.  MODIFIED BY: Gabay, J. T.                         DATE: 03/06/91  TIME: 4:45pm 
  5055.  
  5056.  The following is a list of Windows and Presentation Manager calls and 
  5057.  structures with brief descriptions.  Double-clicking on the function will 
  5058.  bring up a footnote window with the syntax for the call and a more detailed 
  5059.  definition. When applicable, the definition is follow by additional 
  5060.  references.  If an additional reference is highlighted, a more detailed 
  5061.  explanation can be found in a programmer's reference. 
  5062.  
  5063.  Due to the dynamic nature of Windows and Presentation Manager, it is next to 
  5064.  impossible to present all available function calls.  Check your programmer's 
  5065.  reference for complete listings. 
  5066.  
  5067.  Window Function                    Description 
  5068.  AccessResource                     Sets file pointer for read access 
  5069.  AddAtom                            Creates an atom for a character string 
  5070.  AddFontResource                    Adds a font resource 
  5071.  AdjustWindowRect                   Converts client rectangle to window 
  5072.                                     rectangle 
  5073.  AllocResource                      Allocates memory for a resource 
  5074.  AnsiLower                          Converts string to lower case 
  5075.  AnsiNext                           Returns pointer to next character in string 
  5076.  AnsiPrev                           Retreives a pointer to previous character 
  5077.  AnsiToOem                          Converts ANSI string to OEM string 
  5078.  AnsiUpper                          Convert string or character to uppercase 
  5079.  AnyPopup                           Indicates if popup style window is visible 
  5080.  Arc                                Draws an arc 
  5081.  BeginPaint                         Prepares window for painting 
  5082.  BitBlt                             Moves bitmap to destination device 
  5083.  BringWindowToTop                   Brings child window to the top 
  5084.  CallMsgFilter                      Passes message and code to filter 
  5085.  CallWindowProc                     Passes message information 
  5086.  Catch                              Copies execution environment to a buffer 
  5087.  ChangeClipboardChain               Removes window from viewer chain 
  5088.  ChangeMenu                         Changes a menu 
  5089.  CheckDlgButton                     Places or removes a check 
  5090.  CheckMenuItem                      Sets or removes a check from a menu 
  5091.  CheckRadioButton                   Checks and unchecks buttons 
  5092.  ChildWindowFromPoint               Determines window with point 
  5093.  ClientToScreen                     Converts client coordinates to screen 
  5094.  ClipCursor                         Restricts the cursor 
  5095.  CloseClipboard                     Closes the clipboard 
  5096.  CloseMetaFile                      Closes the metafile 
  5097.  CloseSound                         Closes play device 
  5098.  CloseWindow                        Closes a window 
  5099.  CombineRgn                         Combines two regions 
  5100.  CopyMetaFile                       Copies a metafile 
  5101.  CopyRect                           Copies an existing rectangle 
  5102.  CountClipboardFormats              Retrives number of formats in clipboard 
  5103.  CountVoiceNotes                    Count number of voices in queue 
  5104.  CreateBitmap                       Creates a bitmap 
  5105.  CreateBitmapIndirect               Creates a bitmap 
  5106.  CreateBrushIndirect                Creates a logical brush 
  5107.  CreateCaret                        Creates a caret 
  5108.  CreateCompatibleBitmap             Creates a compatable bitmap 
  5109.  CreateCompatibleDC                 Creates a display context 
  5110.  CreateDC                           Creates a display context 
  5111.  CreateDialog                       Creates a modeless dialog box 
  5112.  CreateDialogIndirect               Creates a modeless dialog box 
  5113.  CreateDiscardableBitmap            Creates a discardable bitmap 
  5114.  CreateEllipticRgn                  Creates an elliptical region 
  5115.  CreateFont                         Creates a logical font 
  5116.  CreateFontIndirect                 Creates a logical font 
  5117.  CreateHatchBrush                   Creates a hatch brush 
  5118.  CreateIC                           Creates an information context 
  5119.  CreateMenu                         Creates an empty menu 
  5120.  CreateMetaFile                     Creates a metafile display context 
  5121.  CreatePatternBrush                 Creates a pattern brush 
  5122.  CreatePen                          Creates a logical pen 
  5123.  CreatePenIndirect                  Creates a logical pen 
  5124.  CreatePolygonRgn                   Creates a polygon region 
  5125.  CreateRectRgn                      Creates a rectangular region 
  5126.  CreateSolidBrush                   Creates a solid brush 
  5127.  CreateWindow                       Creates a window 
  5128.  DefWindowProc                      Default message processing 
  5129.  DeleteAtom                         Deletes an atom 
  5130.  DeleteDC                           Deletes a display context 
  5131.  DeleteMetaFile                     Deletes a meta file 
  5132.  DeleteObject                       Deletes an object 
  5133.  DestroyCaret                       Destroys a caret 
  5134.  DestroyMenu                        Destroys a menu 
  5135.  DestroyWindow                      Destroys a window 
  5136.  DeviceModes                        Displays a dialog box for setting printer 
  5137.                                     modes 
  5138.  DialogBox                          Creates a modal dialog box 
  5139.  DialogBoxIndirect                  Creates a modal dialog box 
  5140.  DispatchMessage                    Dispatches a message 
  5141.  DlgDirList                         Fills list box with directory names 
  5142.  DlgDirSelect                       Copies selction from list box 
  5143.  DPtoLP                             Converts device points into logical points 
  5144.  DrawIcon                           Draws an icon 
  5145.  DrawMenuBar                        Draws a menu bar 
  5146.  DrawText                           Draws text 
  5147.  EmptyClipboard                     Empties the clipboard 
  5148.  EnableMenuItem                     Enables a menu item 
  5149.  EnableWindow                       Enables or disables input to window 
  5150.  EndDialog                          Ends a dialog 
  5151.  EndPaint                           Ends window repainting 
  5152.  EnumChildWindows                   Enumerates child windows 
  5153.  EnumClipboardFormats               Enumerate formats in clipboard 
  5154.  EnumFonts                          Enumerate Fonts 
  5155.  EnumObjects                        Enumerate pens or brushes 
  5156.  EnumProps                          Enumerates each property of hwnd 
  5157.  EnumWindows                        Enumerates windows 
  5158.  EqualRgn                           Compares two regions 
  5159.  Escape                             Accesses special device facilities 
  5160.  EscapeCommFunction                 Executes communication escape function 
  5161.  ExcludeClipRect                    Creates a new clipping region 
  5162.  FatalExit                          Halts windows 
  5163.  FillRect                           Fills a given rectangle 
  5164.  FillRgn                            Fills a region 
  5165.  FindAtom                           Retrieves an atom 
  5166.  FindResource                       Finds a resource 
  5167.  FindWindow                         Finds a window 
  5168.  FlashWindow                        Flashes a window 
  5169.  FloodFill                          Fills an area of display 
  5170.  FlushComm                          Flushes characters from device 
  5171.  FrameRect                          Draws a border for a rectangle 
  5172.  FrameRgn                           Draws a border for a region 
  5173.  FreeLibrary                        Removes a library module 
  5174.  FreeProcInstance                   Removes function instance entry 
  5175.  FreeResource                       Removes a resource 
  5176.  GetActiveWindow                    Retrieves handle of active window 
  5177.  GetAtomHandle                      Retrieves handle of atom string 
  5178.  GetAtomName                        Retrieves atom name 
  5179.  GetBitmapBits                      Copies bits into buffer 
  5180.  GetBitmapDimension                 Retrieves bitmap dimensions 
  5181.  GetBkColor                         Retrieves background color 
  5182.  GetBkMode                          Retrieves background mode 
  5183.  GetBrushOrg                        Retrieves the brush origin 
  5184.  GetBValue                          Retrieves the blue value 
  5185.  GetCaretBlinkTime                  Retrieves caret blink rate 
  5186.  GetClassLong                       Retrieves class information 
  5187.  GetClassName                       Retreives the class name 
  5188.  GetClassWord                       Retrieves window class information 
  5189.  GetClientRect                      Copies client coordinates 
  5190.  GetClipboardData                   Retrieves data from the clipboard 
  5191.  GetClipboardFormatName             Copies format name 
  5192.  GetClipboardOwner                  Retrieves handle of clipboard owner 
  5193.  GetClipboardViewer                 Retrieves handle of clipboard viewer 
  5194.  GetClipBox                         Copies rectangle from clip region 
  5195.  GetCodeHandle                      Retrieves the handle of a code segment 
  5196.  GetCurrentPosition                 Retrieves current position 
  5197.  GetCurrentTime                     Retrieves current time 
  5198.  GetCursorPos                       Retrieves cursor position 
  5199.  GetDC                              Retrieves a display context 
  5200.  GetDeviceCaps                      Retrieves device characteristics 
  5201.  GetDlgItem                         Retrieves handle of dialog item 
  5202.  GetDlgItemInt                      Translates text into integer 
  5203.  GetDlgItemText                     Retrieves dialog item's text 
  5204.  GetDoubleClickTime                 Retrieves double click time 
  5205.  GetEnvironment                     Retrieves environment 
  5206.  GetFocus                           Retrieves handle of window with focus 
  5207.  GetGValue                          Retreives the green value of given color 
  5208.  GetInstanceData                    Copies instance data 
  5209.  GetKeyState                        Retrieves state of virtual kay 
  5210.  GetMapMode                         Retrieves current mapping  mode 
  5211.  GetMenu                            Retrieves handle of menu 
  5212.  GetMenuString                      Retrieves menu text 
  5213.  GetMessage                         Retrieves a message 
  5214.  GetMessagePos                      Retrieves mouse position 
  5215.  GetMessageTime                     Retrieves message time 
  5216.  GetMetaFile                        Creates handle for a metafile 
  5217.  GetMetaFileBits                    Retrieves metafile as bits 
  5218.  GetModuleFileName                  Retrieves module filename 
  5219.  GetModuleHandle                    Retrieves module handle 
  5220.  GetModuleUsage                     Retrieves module reference count 
  5221.  GetNearestColor                    Retrieves nearest color 
  5222.  GetObject                          Retrieves object 
  5223.  GetParent                          Retrieves handle of parent window 
  5224.  GetPixel                           Retrieves RGB color of pixel 
  5225.  GetPolyFillMode                    Retrieves polygon-filling mode 
  5226.  GetProcAddress                     Retrieves function address 
  5227.  GetProfileInt                      Retrieves integer value from win.ini 
  5228.  GetProfileString                   Retrieves profile string 
  5229.  GetProp                            Retrieves data handle from property list 
  5230.  GetRelAbs                          Retreives the relabs flag 
  5231.  GetROP2                            Retrieves current drawing mode 
  5232.  GetRValue                          Retrieves the red value of a color 
  5233.  GetScrollPos                       Retrieves the elevator position 
  5234.  GetScrollRange                     Retrieves the scroll range 
  5235.  GetStockObject                     Retrieves handle to stock pen 
  5236.  GetStretchBltMode                  Retrieves stretching mode 
  5237.  GetSubMenu                         Retrieves handle of popup menu 
  5238.  GetSysColor                        Retrieves the system color 
  5239.  GetSysModalWindow                  Retrieves handle of system-modal window 
  5240.  GetSystemMenu                      Retrieves system menu handle 
  5241.  GetSystemMetrics                   Retrieves information about system metrics 
  5242.  GetTextColor                       Retrieves current text color 
  5243.  GetTextFace                        Retrieves font's facename 
  5244.  GetTextMetrics                     Retrieves font metrics 
  5245.  GetThresholdStatus                 Retrieves threshold event status 
  5246.  GetUpdateRect                      Retrieves update rectangle 
  5247.  GetVersion                         Retrieves version number 
  5248.  GetViewportExt                     Retrieves viewport extents 
  5249.  GetViewportOrg                     Retrieves viewport coordinates 
  5250.  GetWindowExt                       Retrieves window's coordinates 
  5251.  GetWindowLong                      Retrieves window information 
  5252.  GetWindowOrg                       Retrieves window origin 
  5253.  GetWindowRect                      Retrieves screen coordinates of window 
  5254.  GetWindowText                      Retrieves window text 
  5255.  GetWindowWord                      Retrieves information about the window 
  5256.  GlobalAlloc                        Allocates memory from global heap 
  5257.  GlobalCompact                      Compacts memory 
  5258.  GlobalDiscard                      Discards global memory 
  5259.  GlobalFlags                        Retrieves memory type 
  5260.  GlobalFree                         Frees global memory 
  5261.  GlobalHandle                       Retrieves handle of global memory 
  5262.  GlobalLock                         Locks global memory 
  5263.  GlobalReAlloc                      Reallocates global memory 
  5264.  GlobalSize                         Retrieves size of global memory block 
  5265.  GlobalUnlock                       Unlocks global memory 
  5266.  GrayString                         Writes grayed characters 
  5267.  HideCaret                          Hides the caret 
  5268.  HiliteMenuItem                     Highlights the menu item 
  5269.  InflateRect                        Expands or shrinks the rectangle 
  5270.  InitAtomTable                      Initializes atom hash table 
  5271.  InSendMessage                      Queries if window is processing a message 
  5272.  IntersectClipRect                  Forms a new clipping region 
  5273.  IntersectRect                      Finds rectangle intersection 
  5274.  InvalidateRect                     Invalidates a rectangle 
  5275.  InvalidateRgn                      Invalidates a region 
  5276.  InvertRect                         Inverts a rectangle 
  5277.  InvertRgn                          Inverts a region 
  5278.  IsChild                            Queries if window is a child 
  5279.  IsClipboardFormatAvailable         Indicates if format is available 
  5280.  IsDialogMessage                    Queries if message is for dialog 
  5281.  IsDlgButtonChecked                 Indicates if button is checked 
  5282.  IsIconic                           Queries if window is iconic 
  5283.  IsWindow                           Queries if window handle is valid 
  5284.  IsWindowEnabled                    Indicates if window input is enabled 
  5285.  IsWindowVisible                    Indicates if window is visible 
  5286.  KillTimer                          Stops the timer event 
  5287.  LineDDA                            Computes successive points 
  5288.  LineTo                             Draw a line 
  5289.  LoadAccelerators                   Loads accelerator table 
  5290.  LoadBitmap                         Loads a bitmap 
  5291.  LoadCursor                         Loads the cursor resource 
  5292.  LoadLibrary                        Loads a library module 
  5293.  LoadMenu                           Loads a menu 
  5294.  LoadResource                       Loads a resource 
  5295.  LoadString                         Loads a string 
  5296.  LocalAlloc                         Allocates local memory 
  5297.  LocalCompact                       Compacts local memory 
  5298.  LocalDiscard                       Discards local memory 
  5299.  LocalFlags                         Retrieves status of local memory block 
  5300.  LocalFree                          Frees local memory 
  5301.  LocalFreeze                        Prevents memory compaction 
  5302.  LocalHandle                        Retrieves handle of local memory 
  5303.  LocalHandleDelta                   Sets number of new handle entries 
  5304.  LocalInit                          Initializes local memory 
  5305.  LocalLock                          Locks a memory block 
  5306.  LocalMelt                          Compliment  of LocalFreeze function 
  5307.  LocalNotify                        Sets callback function 
  5308.  LocalReAlloc                       Reallocate memory block 
  5309.  LocalSize                          Retrieves size of local memory block 
  5310.  LocalUnlock                        Unlocks local memory 
  5311.  LockData                           Locks data segment 
  5312.  LockResource                       Locks a resource 
  5313.  LockSegment                        Locks a segment 
  5314.  LPtoDP                             Converts logical points to device points 
  5315.  MakeProcInstance                   Retrieves an instance address 
  5316.  MapDialogRect                      Converts dialog coordinates to screen 
  5317.                                     coordinate 
  5318.  MessageBeep                        Generates a beep 
  5319.  MessageBox                         Creates a message box 
  5320.  MoveTo                             Moves to a point 
  5321.  MoveWindow                         Moves a window 
  5322.  OemToAnsi                          Converts OEM string to ANSI 
  5323.  OffsetClipRgn                      Moves a clipping region 
  5324.  OffsetRect                         Moves a rectangle 
  5325.  OffsetRgn                          Moves a region 
  5326.  OpenClipboard                      Opens a clipboard 
  5327.  OpenFile                           Opens a file 
  5328.  OpenIcon                           Opens an iconized window 
  5329.  OpenSound                          Opens sound playing device 
  5330.  PaintRgn                           Fills a paint region 
  5331.  PatBlt                             Creates a bit pattern 
  5332.  PeekMessage                        Peeks at the message queue 
  5333.  PlayMetaFile                       Plays a metafile 
  5334.  Polygon                            Draws a polygon 
  5335.  Polyline                           Draws a set of line segments 
  5336.  PostAppMessage                     Posts a message to the application 
  5337.  PostMessage                        Posts a message 
  5338.  PostQuitMessage                    Posts a WM_QUIT message 
  5339.  PtInRect                           Indicates if point is in rectangle 
  5340.  PtInRegion                         Indicates if point is in region 
  5341.  PtVisible                          Tests if point is visible 
  5342.  Rectangle                          Draws a rectangle 
  5343.  RectVisible                        Determines if rectangle is visible 
  5344.  RegisterClass                      Registers a window class 
  5345.  RegisterClipboardFormat            Registers a clipboard format 
  5346.  RegisterWindowMessage              Defines a new window message 
  5347.  ReleaseCapture                     Releases mouse input capture 
  5348.  ReleaseDC                          Releases a display context 
  5349.  RemoveFontResource                 Removes font from system table 
  5350.  RemoveProp                         Removes name from property list 
  5351.  ReplyMessage                       Replies to a message 
  5352.  RestoreDC                          Restores a display context 
  5353.  RoundRect                          Draws a rounded rectangle 
  5354.  SaveDC                             Saves a device context 
  5355.  ScreenToClient                     Converts screen coordinates to client 
  5356.                                     coordinate 
  5357.  ScrollWindow                       Scrolls contents of a window 
  5358.  SelectClipRgn                      Selects a clipping region 
  5359.  SelectObject                       Selects an object 
  5360.  SendDlgItemMessage                 Sends a message to a dialog item 
  5361.  SendMessage                        Sends a message 
  5362.  SetActiveWindow                    Sets the active window 
  5363.  SetBitmapBits                      Sets bitmap bits 
  5364.  SetBitmapDimension                 Sets bitmap dimensions 
  5365.  SetBkColor                         Sets background color 
  5366.  SetBkMode                          Sets background mode 
  5367.  SetBrushOrg                        Sets brush origin 
  5368.  SetCapture                         Sets mouse capture 
  5369.  SetCaretBlinkTime                  Sets caret blink rate 
  5370.  SetCaretPos                        Sets caret position 
  5371.  SetClassLong                       Sets long in WNDCLASS structure 
  5372.  SetClassWord                       Sets word in class structure 
  5373.  SetClipboardData                   Copies handle of data into clipboard 
  5374.  SetClipboardViewer                 Sets clipboard viewer 
  5375.  SetCursor                          Sets the cursor shape 
  5376.  SetCursorPos                       Sets the cursor position 
  5377.  SetDlgItemInt                      Sets dialog text to an integer 
  5378.  SetDlgItemText                     Sets dialog text 
  5379.  SetEnvironment                     Sets the environment 
  5380.  SetFocus                           Sets the focus 
  5381.  SetMapMode                         Sets mapping mode 
  5382.  SetMenu                            Sets the window menu 
  5383.  SetMetaFileBits                    Creates a memory metafile 
  5384.  SetPixel                           Draws a pixel 
  5385.  SetPolyFillMode                    Sets polygon filling mode 
  5386.  SetProp                            Copies string to property list 
  5387.  SetRect                            Fills a RECT structure 
  5388.  SetRectEmpty                       Sets rectangle dimensions to empty 
  5389.  SetRelAbs                          Sets the relabs flag 
  5390.  SetResourceHandler                 Sets function address of resource handler 
  5391.  SetROP2                            Sets current drawing mode 
  5392.  SetScrollPosF                      Sets scroll bar box 
  5393.  SetScrollRange                     Sets scroll bar range 
  5394.  SetSoundNoice                      Sets sound noise 
  5395.  SetSysColors                       Sets the system colors 
  5396.  SetSysModalWindow                  Makes window system-modal 
  5397.  SetTextColor                       Sets text color 
  5398.  SetTimer                           Creates a system timer 
  5399.  SetViewportExt                     Sets viewport  extent 
  5400.  SetViewportOrg                     Sets viewport origin 
  5401.  SetVoiceAccent                     Sets voice accent 
  5402.  SetVoiceEnvelope                   Sets voice envelope 
  5403.  SetVoiceNote                       Sets voice note 
  5404.  SetVoiceQueueSize                  Sets voice queue size 
  5405.  SetVoiceSound                      Sets voice sound 
  5406.  SetVoiceThreshold                  Sets voice threshold 
  5407.  SetWindowExt                       Sets window extent 
  5408.  SetWindowLong                      Changes the window attribute 
  5409.  SedWindowOrg                       Sets window origin 
  5410.  SetWindowPos                       Sets window position, size, ordering 
  5411.  SetWindowHook                      Installs a hook function 
  5412.  SetWindowText                      Sets window caption 
  5413.  SetWindowWord                      Changes window attribute 
  5414.  ShowCaret                          Shows a caret 
  5415.  ShowCursor                         Shows the cursor 
  5416.  ShowWindow                         Displays or removes a window 
  5417.  SizeofResource                     Retrieves size of resource 
  5418.  StartSound                         Starts sound 
  5419.  StopSound                          Stops sound 
  5420.  StretchBlt                         Moves a bitmap 
  5421.  SwapMouseButton                    Swaps left and right mouse button 
  5422.  SyncAllVoices                      Sunchronize voices 
  5423.  TextOut                            Writes a character string 
  5424.  Throw                              Restores execution environment 
  5425.  TranslateAccelerator               Translate a keyboard accelerator 
  5426.  TranslateMessage                   Translates virtual keystrokes 
  5427.  UnionRect                          Stores union of rectangles 
  5428.  UnlockData                         Unlocks data segment 
  5429.  UnlockSegment                      Unlocks a segment 
  5430.  UnrealizeObject                    Resets origin of brush 
  5431.  UpdateWindow                       Notifies application of updating need 
  5432.  ValidateRect                       Validates a rectangle 
  5433.  ValidateRgn                        Validates a region 
  5434.  WaitMessage                        Waits for a message 
  5435.  WaitSoundState                     Waits for sound 
  5436.  WindowFromPoint                    Identifies window containing point 
  5437.  WinMain                            Main entry point 
  5438.  WriteProfileString                 Writes a string to win.ini 
  5439.  
  5440.  PM Function                        Description 
  5441.  DevCloseDC                         Closes a display context 
  5442.  DevEscape                          Accesses special device facilities 
  5443.  DevOpenDC                          Creates a display context 
  5444.  DevQueryCaps                       Retrieves device characteristics 
  5445.  DosAllocHuge                       Allocates memory from global heap 
  5446.  DosAllocSeg                        Allocates memory from one segment 
  5447.  DosFreeModule                      Removes a library module 
  5448.  DosFreeSeg                         Frees global memory 
  5449.  DosGetEnv                          Retrieves environment 
  5450.  DosGetHugeShift                    Allocates memory from global heap 
  5451.  DosLoadModule                      Loads a library module 
  5452.  DosLockSeg                         Locks global memory 
  5453.  DosMemAvail                        Compacts memory 
  5454.  DosOpen                            Opens a file 
  5455.  DosReallocHuge                     Reallocates global memory 
  5456.  DosReallocSeg                      Reallocates global memory 
  5457.  DosScanEnv                         Retrieves environment 
  5458.  DosSubAlloc                        Allocates memory from a segment 
  5459.  DosSubFree                         Frees memory from a segment 
  5460.  DosSubSet                          Prepare a segment for sub-allocation 
  5461.  DosUnlockSeg                       Unlocks global memory 
  5462.  EM_CLEAR 
  5463.  EM_COPY 
  5464.  EM_CUT 
  5465.  EM_PASTE 
  5466.  GpiBeginArea                       Draws a polygon 
  5467.  GpiBitBlt                          Moves bitmap to destination device 
  5468.  GpiCharString                      Writes a character string 
  5469.  GpiCombineRegion                   Combines two regions 
  5470.  GpiConvert                         Converts device points into logical points 
  5471.  GpiCopyMetaFile                    Copies a metafile 
  5472.  GpiCreateBitmap                    Creates a bitmap 
  5473.  GpiCreateLogFont                   Creates a logical font 
  5474.  GpiCreatePS                        Sets mapping mode 
  5475.  GpiCreateRegion                    Creates a rectangular region 
  5476.  GpiDeleteBitMap                    Deletes a bitmap 
  5477.  GpiDeleteMetaFile                  Deletes a meta file 
  5478.  GpiDeleteSetId                     Deletes an object 
  5479.  GpiDestroyPS                       Closes the metafile 
  5480.  GpiDeleteBitMap                    Deletes a region 
  5481.  GpiEqualRegion                     Compares two regions 
  5482.  GpiFillPath                        Fills an area of display 
  5483.  GpiIntersectClipRect               Forms a new clipping region 
  5484.  GpiLine                            Draw a line 
  5485.  GpiLoadBitmap                      Loads a bitmap 
  5486.  GpiLoadFonts                       Adds a font resource 
  5487.  GpiLoadMetaFile                    Creates handle for a metafile 
  5488.  GpiMove                            Fills an area of display 
  5489.  GpiOffsetClipRegion                Moves a clipping region 
  5490.  GpiOffsetRegion                    Moves a region 
  5491.  GpiPaintRegion                     Draws a border for a region 
  5492.  GpiPlayMetaFile                    Plays a metafile 
  5493.  GpiPtInRegion                      Indicates if point is in  region 
  5494.  GpiQueryAttrs                      Retrieves current text color 
  5495.  GpiQueryBackColor                  Retrieves background color 
  5496.  GpiQueryBackMix                    Retrieves background mode 
  5497.  GpiQueryBitmapBits                 Copies bits into buffer 
  5498.  GpiQueryBitmapDimension            Retrieves bitmap dimensions 
  5499.  GpiQueryClipBox                    Copies rectangle from clip region 
  5500.  GpiQueryColorIndex                 Draws a pixel 
  5501.  GpiQueryCurrentPosition            Retrieves current position 
  5502.  GpiQueryDeviceBitmapFormats        Creates a compatable bitmap 
  5503.  GpiQueryFontMetrics                Retrieves font's facename 
  5504.  GpiQueryFonts                      Enumerate Fonts 
  5505.  GpiQueryMetaFileBits               Retrieves metafile as bits 
  5506.  GpiQueryMetaFileLength             Retrieves metafile length 
  5507.  GetMetaFileBits                    Retrieves metafile as bits 
  5508.  GpiQueryMix                        Retrieves current drawing mode 
  5509.  GpiQueryModelTransformMatrix       Retrieves viewport extents 
  5510.  GpiQueryNearestColor               Retrieves nearest color 
  5511.  GpiQueryPS                         Retrieves current mapping mode 
  5512.  GpiQueryPatternRefPoint            Retrieves the brush origin 
  5513.  GpiQueryPel                        Retrieves RGB color of pixel 
  5514.  GpiRestorePS                       Restores a display context 
  5515.  GpiSaveMetaFile                    Saves a metafile 
  5516.  GpiSavePS                          Saves a device context 
  5517.  GpiSetArcParams                    Draws an arc 
  5518.  GpiSetAttrMode                     Selects an object 
  5519.  GpiSetAttrs                        Sets text color 
  5520.  GpiSetBackColor                    Sets background color 
  5521.  GpiSetBackMix                      Sets background mode 
  5522.  GpiSetBitmapBits                   Sets bitmap bits 
  5523.  GpiSetBitmapDimension              Sets bitmap dimensions 
  5524.  GpiSetBitmapId                     Creates a pattern brush 
  5525.  GpiSetClipRegion                   Selects a clipping region 
  5526.  GpiSetColor                        Sets pixel color 
  5527.  GpiSetMetaFileBits                 Creates a memory metafile 
  5528.  GpiSetMix                          Fills a region 
  5529.  GpiSetModelTransformMatrix         Sets viewport extent 
  5530.  GpiSetPattern                      Sets pattern to fill a region 
  5531.  GpiSetPatternRefPoint              Sets brush origin 
  5532.  GpiSetPel                          Draws a pixel 
  5533.  GpiUnloadFonts                     Removes font from system table 
  5534.  WM_BUTTON1DOWN 
  5535.  WM_BUTTON1UP 
  5536.  WM_BUTTON2DOWN 
  5537.  WM_BUTTON2UP 
  5538.  WM_BUTTON3DOWN 
  5539.  WM_BUTTON3UP 
  5540.  WM_CHAR 
  5541.  WM_ERASEBACKGROUND 
  5542.  WM_FORMATFRAME 
  5543.  WM_HITTEST 
  5544.  WM_INITDLG 
  5545.  WM_QUERYWINDOWPARAMS 
  5546.  WM_SETFOCUS 
  5547.  WM_SETWINDOWPARAMS 
  5548.  WM_SHOW 
  5549.  WinAddAtom                         Creates an atom for a character string 
  5550.  WinAlarm                           Generates a beep 
  5551.  WinAllocMem                        Allocates local memory 
  5552.  WinBeginEnumWindows                Enumerates child windows 
  5553.  WinBeginPaint                      Prepares window for painting 
  5554.  WinCalcFrameRect                   Converts client rectangle to window 
  5555.                                     rectangle 
  5556.  WinCatch                           Copies execution environment to a buffer 
  5557.  WinCloseClipbrd                    Closes the clipboard 
  5558.  WinCopyRect                        Copies an existing rectangle 
  5559.  WinCpTranslateString               Converts OEM string to ANSI 
  5560.  WinCreateAtomTable                 Initializes atom hash table 
  5561.  WinCreateCursor                    Creates a caret 
  5562.  WinCreateHeap                      Main entry point 
  5563.  WinCreateDlg                       Creates a modeless dialog box 
  5564.  WinCreateMsgQueue                  Creates a message queue 
  5565.  WinCreateStdWindow                 Creates a window 
  5566.  WinCreateWindow                    Creates an empty menu 
  5567.  WinDefWindowProc                   Default message processing 
  5568.  WinDeleteAtom                      Deletes an atom 
  5569.  WinDestroyCursor                   Destroys a caret 
  5570.  WinDestroyHeap                     Destroys a heap 
  5571.  WinDestroyMsgQueue                 Destroys a message queue 
  5572.  WinDestroyWindow                   Destroys a window 
  5573.  WinDismissDlg                      Ends a dialog 
  5574.  WinDispatchMsg                     Dispatches a message 
  5575.  WinDlgBox                          Creates a modal dialog box 
  5576.  WinDrawBorder                      Draws a border for a rectangle 
  5577.  WinDrawPointer                     Draws an icon 
  5578.  WinDrawText                        Draws text 
  5579.  WinEmptyClipbrd                    Empties the clipboard 
  5580.  WinEnableWindow                    Enables or disables input to window 
  5581.  WinEnableWindowUpdate              Draws a menu bar 
  5582.  WinEndEnumWindows                  Ends enumerating child windows 
  5583.  WinEndPaint                        Ends window repainting 
  5584.  WinEnumClipbrdFmts                 Retrives number of formats in clipboard 
  5585.  WinExcludeUpdateRegion             Copies rectangle from clip region 
  5586.  WinFillRect                        Fills a given rectangle 
  5587.  WinFindAtom                        Retrieves an atom 
  5588.  WinFlashWindow                     Flashes a window 
  5589.  WinFocusChange                     Sets the focus 
  5590.  WinFreeMem                         Frees local memory 
  5591.  WinGetCurrentTime                  Retrieves current time 
  5592.  WinGetKeyState                     Retrieves state of virtual kay 
  5593.  WinGetMsg                          Retrieves a message 
  5594.  WinGetNextWindow                   Retrieves next window 
  5595.  WinGetPS                           Retrieves a display context 
  5596.  WinInSendMsg                       Queries if window is processing a message 
  5597.  WinInflateRect                     Expands or shrinks the rectangle 
  5598.  WinInitialize                      Main entry point 
  5599.  WinIntersectRect                   Finds rectangle intersection 
  5600.  WinInvalidateRect                  Invalidates a rectangle 
  5601.  WinInvalidateRegion                Invalidates a region 
  5602.  WinInvertRect                      Inverts a rectangle 
  5603.  WinIsChild                         Queries if window is a child 
  5604.  WinIsWindow                        Queries if window handle is valid 
  5605.  WinIsWindowEnabled                 Indicates if window input is enabled 
  5606.  WinIsWindowVisible                 Indicates if window is visible 
  5607.  WinLoadAccelTable                  Loads accelerator table 
  5608.  WinLoadDlg                         Creates a modeless dialog box 
  5609.  WinLoadMenu                        Loads a menu 
  5610.  WinLoadPointer                     Loads the cursor resource 
  5611.  WinLoadString                      Loads a string 
  5612.  WinMakePoints                      Converts client coordinates to screen 
  5613.  WinMakeRect                        Copies rectangle from clip region 
  5614.  WinMapDlgPoints                    Converts dialog coordinates to screen 
  5615.                                     coordinate 
  5616.  WinMapWindowPoints                 Converts screen coordinates of window 
  5617.                                     points 
  5618.  WinMessageBox                      Creates a message box 
  5619.  WinNextChar                        Returns pointer to next character in string 
  5620.  WinOffsetRect                      Moves a rectangle 
  5621.  WinOpenClipbrd                     Opens a clipboard 
  5622.  WinPeekMsg                         Peeks at the message queue 
  5623.  WinPostMsg                         Posts a message 
  5624.  WinPostQueueMsg                    Posts a message to the application 
  5625.  WinPrevChar                        Retreives a pointer to previous character 
  5626.  WinProcessDlg                      Queries if message is for dialog 
  5627.  WinPtInRect                        Indicates if point is in rectangle 
  5628.  WinQueryActiveWindow               Retrieves handle of active window 
  5629.  WinQueryAtomName                   Retrieves atom name 
  5630.  WinQueryClassInfo                  Retrieves class information 
  5631.  WinQueryClassName                  Retreives the class name 
  5632.  WinQueryClipbrdData                Retrieves data from the clipboard 
  5633.  WinQueryClipbrdFmtInfo             Indicates if format is available 
  5634.  WinQueryClipbrdOwner               Retrieves handle of clipboard owner 
  5635.  WinQueryDlgItemShort               Translates text into integer 
  5636.  WinQueryDlgItemText                Retrieves dialog item's text 
  5637.  WinQueryFocus                      Retrieves handle of window with focus 
  5638.  WinQueryMsgPos                     Retrieves mouse position 
  5639.  WinQueryMsgTime                    Retrieves message time 
  5640.  WinQueryPointerPos                 Retrieves cursor position 
  5641.  WinQueryProfileInt                 Retrieves integer value from win.ini 
  5642.  WinQueryProfileString              Retrieves profile string 
  5643.  WinQuerySysColor                   Retrieves the system color 
  5644.  WinQuerySysModalWindow             Retrieves handle of system-modal window 
  5645.  WinQuerySysPointer                 Loads the cursor resource 
  5646.  WinQuerySysValue                   Retrieves caret blink rate 
  5647.  WinQuerySystemAtomTable            Copies format name 
  5648.  WinQueryUpdateRect                 Retrieves update rectangle 
  5649.  WinQueryVersion                    Retrieves version number 
  5650.  WinQueryWindow                     Retrieves handle of parent window 
  5651.  WinQueryWindowPos                  Queries if window is iconic 
  5652.  WinQueryWindowRect                 Copies client coordinates 
  5653.  WinQueryWindowText                 Retrieves window text 
  5654.  WinQueryWindowULong                Retrieves window information 
  5655.  WinQueryWindowUShort               Retrieves information about the window 
  5656.  WinReallocMem                      Allocates local memory 
  5657.  LocalReAlloc                       Allocates local memory 
  5658.  WinRegisterClass                   Registers a window class 
  5659.  WinReleasePS                       Releases a display context 
  5660.  WinScrollWindow                    Scrolls contents of a window 
  5661.  WinSendDlgItemMsg                  Places or removes a check 
  5662.  WinSendMsg                         Changes a menu 
  5663.  WinSetAccelTable                   Translate a keyboard accelerator 
  5664.  WinSetActiveWindow                 Sets the active window 
  5665.  WinSetCapture                      Releases mouse input capture 
  5666.  WinSetClipbrdData                  Copies handle of data into clipboard 
  5667.  WinSetClipbrdViewer                Removes window from viewer chain 
  5668.  WinSetDlgItemShort                 Sets dialog text to an integer 
  5669.  WinSetDlgItemText                  Sets dialog text 
  5670.  WinSetHook                         Installs a hook function 
  5671.  WinSetParent                       Sets the window menu 
  5672.  WinSetPointer                      Sets the cursor shape 
  5673.  WinSetPointerPos                   Sets the cursor position 
  5674.  WinSetRect                         Fills a RECT structure 
  5675.  WinSetRectEmpty                    Sets rectangle dimensions to empty 
  5676.  WinSetSysColors                    Sets the system colors 
  5677.  WinSetSysModalWindow               Makes window system-modal 
  5678.  WinSetSysValue                     Sets caret blink rate 
  5679.  WinSetWindowPos                    Brings child window to the top 
  5680.  WinSetWindowText                   Sets window caption 
  5681.  WinSetWindowULong                  Changes the window attribute 
  5682.  WinSetWindowUShort                 Changes window attribute 
  5683.  WinShowCursor                      Hides the caret 
  5684.  WinShowPointer                     Shows the cursor 
  5685.  WinShowWindow                      Displays or removes a window 
  5686.  WinStartTimer                      Creates a system timer 
  5687.  WinStopTimer                       Stops the timer event 
  5688.  WinTerminate                       Main exit point 
  5689.  WinThrow                           Restores execution environment 
  5690.  WinUnionRect                       Stores union of rectangles 
  5691.  WinUpdateWindow                    Notifies application of updating need 
  5692.  WinUpper                           Convert string or character to uppercase 
  5693.  WinUpperChar                       Convert string or character to uppercase 
  5694.  WinValidateRect                    Validates  a rectangle 
  5695.  WinValidateRegion                  Validates a region 
  5696.  WinWaitMsg                         Waits for a message 
  5697.  WinWindowFromID                    Retrieves handle of dialog item 
  5698.  WinWindowFromPoint                 Determines window with point 
  5699.  WinWriteProfileString              Writes a string to win.ini 
  5700.  
  5701.  
  5702. ΓòÉΓòÉΓòÉ 7.1.2. PM to Windows Conversion Aid ΓòÉΓòÉΓòÉ
  5703.  
  5704.  TIP# 0001                          ENTERED BY: Gabay, J. T. 
  5705.  FILENAME: PMPW0001.IPF             SOURCE: OS2WIN3 Forum 
  5706.  DATE: 03/07/91                     RELEASE LEVEL: 1.2 
  5707.  TIME: 11:55am                      CSD LEVEL: GA 
  5708.  
  5709.  Here is a short list indicating where an adequate windows function exist and 
  5710.  where we have to do some C- implementation. 
  5711.  
  5712.   PRESENTATION MANAGER
  5713.   (GPI Function Calls)    adequate implementation  C-implementation
  5714.                           with WINDOWS-function    required/possible
  5715.  
  5716.   GpiAssociate                                        dummy
  5717.   GpiBeginArea                                        YES
  5718.   GpiCharStringAt                YES
  5719.   GpiCreateLogColorTable         YES
  5720.   GpiCreatePS                                         YES
  5721.   GpiDeleteBitmap                YES
  5722.   GpiDestroyPS                                        dummy
  5723.   GpiEndArea                     YES
  5724.   GpiErase                       YES
  5725.   GpiLoadBitmap                  YES
  5726.   GpiMove                                             YES
  5727.   GpiPolyLine                    YES
  5728.   GpiQueryBitmapParameters       YES
  5729.   GpiQueryColor                  YES
  5730.   GpiQueryDevice                 YES
  5731.   GpiQueryFontMetrics                                 YES
  5732.   GpiQueryFonts                  YES
  5733.   GpiSetCharSet                  YES
  5734.   GpiSetColor                                         YES
  5735.  
  5736.   PRESENTATION MANAGER
  5737.   (WIN Function Calls)    adequate implementation  C-implementation
  5738.                           with WINDOWS-function    required/possible
  5739.  
  5740.   WinAddAtom                                          YES
  5741.   WinAddProgram                  NOT AVAILABLE
  5742.   WinAddSwitchEntry              NOT AVAILABLE
  5743.   WinAlarm                       YES
  5744.   WinAssociateHelpInstance       YES
  5745.   WinBeginEnumWindows            YES
  5746.   WinBeginPaint                  YES
  5747.   WinCreateAtomTable                                  YES
  5748.   WinCreateHelpInstance          YES
  5749.   WinCreateMsgQueue              dummy
  5750.   WinCreateStdWindow             YES
  5751.   WinCreateWindow                YES
  5752.   WinDefDlgProc                  dummy
  5753.   WinDefWindowProc               YES
  5754.   WinDeleteAtom                                       YES
  5755.   WinDestroyAccelTable           dummy
  5756.   WinDestroyAtomTable            dummy
  5757.   WinDestroyHelpInstance         YES
  5758.   WinDestroyMsgQueue             dummy
  5759.   WinDestroyWindow                                    YES
  5760.   WinDismissDlg                                       YES
  5761.   WinDispatchMsg                 YES
  5762.   WinDlgBox                                           YES
  5763.   WinDrawBitmap                  YES
  5764.   WinDrawText                    YES
  5765.   WinEnableWindow                                     YES
  5766.   WinEnableWindowUpdate          YES
  5767.   WinEndEnumWindows              YES
  5768.   WinEndPaint                    YES
  5769.   WinFillRect                    YES
  5770.   WinFindAtom                                         YES
  5771.   WinFreeErrorInfo               dummy
  5772.   WinGetErrorInfo                dummy
  5773.   WinGetLastError                dummy
  5774.   WinGetMsg                                           YES
  5775.   WinGetNextWindow               YES
  5776.   WinGetPS                       YES
  5777.   WinGetSysBitmap                YES
  5778.   WinInitialize                  YES
  5779.   WinInvalidateRect                                   YES
  5780.   WinInvalidateRegion            YES
  5781.   WinIsWindow                                         YES
  5782.   WinIsWindowEnabled                                  YES
  5783.   WinIsWindowVisible                                  YES
  5784.   WinLoadAccelTable                                   YES
  5785.   WinLoadDlg                                          YES
  5786.   WinLoadMenu                    YES
  5787.   WinLoadPointer                                      YES
  5788.   WinLoadString                                       YES
  5789.   WinLockWindowUpdate            YES
  5790.   WinMapDlgPoints                                     YES
  5791.   WinMessageBox                  YES
  5792.   WinPeekMsg                                          YES
  5793.   WinPostMsg                     YES
  5794.   WinQueryActiveWindow                                YES
  5795.   WinQueryAnchorBlock            dummy
  5796.   WinQueryAtomName
  5797.   WinQueryDlgItemText                                 YES
  5798.   WinQueryFocus                                       YES
  5799.   WinQueryPointer                YES
  5800.   WinQueryProfileInt                                  YES
  5801.   WinQueryProfileSize            dummy
  5802.   WinQueryProfileString                               YES
  5803.   WinQuerySwitchList                                  YES
  5804.   WinQuerySysPointer                                  YES
  5805.   WinQuerySysValue               YES
  5806.   WinQueryWindow                 YES
  5807.   WinQueryWindowPos              YES
  5808.   WinQueryWindowProcess          dummy
  5809.   WinQueryWindowPtr              YES
  5810.   WinQueryWindowRect                                  YES
  5811.   WinQueryWindowText             YES
  5812.   WinQueryWindowTextLength       YES
  5813.   WinQueryWindowULong            YES
  5814.   WinQueryWindowUShort           YES
  5815.   WinRegisterClass                                    YES
  5816.   WinReleasePS                   YES
  5817.   WinScrollWindow                YES
  5818.   WinSendDlgItemMsg              YES
  5819.   WinSendMsg                     YES
  5820.   WinSetActiveWindow                                  YES
  5821.   WinSetDlgItemText                                   YES
  5822.   WinSetFocus                                         YES
  5823.   WinSetMultWindowPos            YES
  5824.   WinSetOwner                    YES
  5825.   WinSetParent                                        YES
  5826.   WinSetPointer                                       YES
  5827.   WinSetPresParam                YES
  5828.   WinSetRect                     YES
  5829.   WinSetWindowPos                                     YES
  5830.   WinSetWindowPtr                YES
  5831.   WinSetWindowText                                    YES
  5832.   WinSetWindowULong              YES
  5833.   WinSetWindowUShort             YES
  5834.   WinShowWindow                                       YES
  5835.   WinStartTimer                                       YES
  5836.   WinStopTimer                                        YES
  5837.   WinSubclassWindow              YES
  5838.   WinSwitchToProgram                                  YES
  5839.   WinTerminate                   dummy
  5840.   WinTranslateAccel                                   YES
  5841.   WinValidateRect                                     YES
  5842.   WinWindowFromID                YES
  5843.   WinWriteProfileString                               YES
  5844.  
  5845.  
  5846. ΓòÉΓòÉΓòÉ 7.1.3. PM/Windows Clipboard Compatability Chart ΓòÉΓòÉΓòÉ
  5847.  
  5848.  TIP# 0002                          ENTERED BY: Gabay, J. T. 
  5849.  FILENAME: PMPW0002.IPF             SOURCE: OS2WIN3 Forum 
  5850.  DATE: 03/07/91                     RELEASE LEVEL: 1.2 
  5851.  TIME: 12:30pm                      CSD LEVEL: GA 
  5852.  
  5853.  Here is a Clipboard compatibility chart: 
  5854.  
  5855.  (Some function call have been truncated in order to get required information 
  5856.  to display on the same line.) 
  5857.  
  5858.   ΓöîΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö¼ΓöÇΓöÇΓöÇΓöÇΓöÉ
  5859.   Γöé        PM        Γöé       WIN3       Γöé     Description     ΓöéCompΓöé
  5860.   Γö£ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö╝ΓöÇΓöÇΓöÇΓöÇΓöñ
  5861.   Γöé                  ΓöéChangeClipboardChaΓöéRemove a clip viewer Γöé    Γöé
  5862.   Γöé                  ΓöéCountClipboardFormΓöéHow many clip formatsΓöé    Γöé
  5863.   Γöé                  ΓöéGetClipboardFormatΓöéGet reg clip format  Γöé    Γöé
  5864.   Γöé                  ΓöéGetPriorityClipboaΓöéGet best format      Γöé    Γöé
  5865.   ΓöéWinOpenClipbrd()  ΓöéOpenClipboard()   ΓöéOpen the Clipboard   Γöé C2 Γöé
  5866.   ΓöéWinCloseClipbrd() ΓöéCloseClipboard()  ΓöéClose the Clipboard  Γöé C1 Γöé
  5867.   ΓöéWinEmptyClipbrd() ΓöéEmptyClipboard()  ΓöéClear  Clipboard     Γöé C1 Γöé
  5868.   ΓöéWinEnumClipbrdFmtsΓöéEnumClipboardFormaΓöéList stored formats  Γöé C1 Γöé
  5869.   ΓöéWinQueryClipbrdDatΓöéGetClipboardData()ΓöéGet data from clip   Γöé C1 Γöé
  5870.   ΓöéWinQueryClipbrdFmtΓöéIsClipbrdFormatAvaΓöéIs named format availΓöé C1 Γöé
  5871.   ΓöéWinQueryClipbrdVieΓöéGetClipboardViewerΓöéGet first clipbd viewΓöé C1 Γöé
  5872.   Γöé                  ΓöéRegisterClipboardFΓöéEstablish new clip foΓöé    Γöé
  5873.   ΓöéWinSetClipbrdData ΓöéSetClipboardData  ΓöéPut data into clipbd Γöé C2 Γöé
  5874.   ΓöéWinSetClipbrdOwnerΓöéSetClipboardData  ΓöéSet clipboard owner  Γöé C2 Γöé
  5875.   ΓöéWinSetClipbrdVieweΓöéSetClipboardViewerΓöéAdd to cb view chain Γöé C1 Γöé
  5876.   ΓöéWinQueryClipbdOwneΓöéGetClipboardOwner ΓöéWhich window owns cb Γöé C1 Γöé
  5877.   ΓööΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓöÇΓö┤ΓöÇΓöÇΓöÇΓöÇΓöÿ
  5878.  
  5879.    C1 = trivial compatibility
  5880.    C2 = compatibility with some effort
  5881.    C3 = major incompatibility
  5882.  
  5883.  
  5884. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  5885.  
  5886. These are the Categories that intend to be covered under 
  5887. Compilers/Languages/Toolkit. 
  5888.  
  5889.  o C/2 
  5890.  o COBOL/2 
  5891.  o FORTRAN/2 
  5892.  o PASCAL/2 
  5893.  o REXX 
  5894.  o Toolkit 
  5895.  o Miscellaneous 
  5896.  
  5897.  
  5898. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  5899.  
  5900. These are the Categories that intend to be covered under Communications 
  5901. Manager. 
  5902.  
  5903.  o Install/Reinstall 
  5904.  o Performance 
  5905.  o Emulation Services 
  5906.  o Host Print 
  5907.  o Programming Support 
  5908.  o Customization 
  5909.  o Migration 
  5910.  o Miscellaneous 
  5911.  
  5912.  
  5913. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  5914.  
  5915. These are the Categories that intend to be covered under Database Manager. 
  5916.  
  5917.  o Install/Reinstall 
  5918.  o Performance 
  5919.  o Query Manager 
  5920.  o Remote DB Services 
  5921.  o Database Services 
  5922.  o Customization 
  5923.  o Migration 
  5924.  o Miscellaneous 
  5925.  
  5926.  
  5927. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  5928.  
  5929. These are the Categories that intend to be covered under LAN Manager. 
  5930.  
  5931.  o Install/Reinstall 
  5932.  o Performance 
  5933.  o Lan Server 
  5934.  o Lan Requester 
  5935.  o Dos Lan Requester 
  5936.  o Customization 
  5937.  o Migration 
  5938.  o Miscellaneous 
  5939.  
  5940.  
  5941. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  5942.  
  5943. These are the Categories that intend to be covered under OS/2 Base Operating 
  5944. System. 
  5945.  
  5946.  o Install/Reinstall 
  5947.  o Performance 
  5948.  o Customization 
  5949.  o Migration 
  5950.  o Miscellaneous 
  5951.  
  5952.  
  5953. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  5954.  
  5955. These are the Categories that intend to be covered under Presentation Manager. 
  5956.  
  5957.  o Dialog Manager 
  5958.  o Messaging 
  5959.  o Windows 
  5960.  o Graphical Programming Interface 
  5961.  o Menus 
  5962.  o Dialog Boxes 
  5963.  o Miscellaneous 
  5964.  
  5965.  
  5966. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  5967.  
  5968. Windows Support Modules 
  5969.  
  5970. OS2 LAN Server 1.3 provides compatibility with Windows. This chapter describes 
  5971. the Windows dynamic link libraries (DLLs) and the Windows message pop-up 
  5972. facility. It also discusses code page considerations. 
  5973.  
  5974. Dynamic Link Libraries 
  5975.  
  5976. To do network tasks such as displaying active servers, browsing available 
  5977. resources, and managing print queues, Windows requires the use of network 
  5978. application programming interfaces (APIs). Support for these APIs resides in 
  5979. the dynamic link libraries NETAPI.DLL and PMSPL.DLL. 
  5980.  
  5981. Message Pop-Up Facility 
  5982.  
  5983. The message pop-up facility for Windows is WINPOPUP.EXE. The WINPOPUP.EXE file 
  5984. is used in conjunction with the MSGPOPUP.EXE file. The MSGPOPUP.EXE file is 
  5985. loaded into memory when the /POP parameter is included in the NET START 
  5986. command. The WINPOPUP.EXE file displays received messages in a pop-up panel 
  5987. while the Windows full-screen interface is active. 
  5988.  
  5989. The NETAPI.DLL, PMSPL.DLL, and WINPOPUP.EXE files are provided on the DOS LAN 
  5990. Requester diskettes and are installed with DOS LAN Requester. 
  5991.  
  5992. Code Page Considerations 
  5993.  
  5994. All servers and requesters in a domain should use the same national language 
  5995. and code page. Windows only supports code page 819. OS/2 and DOS do not support 
  5996. this code page. Systems with a national language other than US English may have 
  5997. some characters that do not print or display correctly when sent from a Windows 
  5998. workstation to a non-Windows workstation. 
  5999.  
  6000. To avoid this problem, Windows users should only use the Windows message 
  6001. facility to send messages to other Windows users. The NET SEND command or DOS 
  6002. LAN Requester full-screen interface can be used to send messages to non-Windows 
  6003. users. Also, Windows users should use a local printer rather than a network 
  6004. printer. Documents created through Windows may not print correctly on a network 
  6005. printer. 
  6006.  
  6007. For more information on code pages, refer to OS/2 LAN Server 1.3 Getting 
  6008. Started. 
  6009.  
  6010.  
  6011. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6012.  
  6013. Installing Windows on a DOS LAN Requester 
  6014.  
  6015. This section describes how to install Windows for use with DOS LAN Requester 
  6016. and provides example AUTOEXEC.BAT and CONFIG.SYS files. You must follow the 
  6017. steps in this chapter as well as the steps in the Windows documentation to 
  6018. install Windows for use with DOS LAN Requester. Windows can be installed before 
  6019. or after DOS LAN Requester is installed. For more information about installing 
  6020. DOS LAN Requester, refer to the OS2 LAN Server 1.3 DOS LAN Requester User's 
  6021. Guide. 
  6022.  
  6023. Installing Windows after DOS LAN Requester Is Installed 
  6024.  
  6025. If you want to install Windows after DOS LAN Requester is installed, you must 
  6026. edit the DOSLAN.INI file for Windows support, and then install Windows. The 
  6027. DOSLAN.INI file is in the DOSLAN subdirectory if you installed DOS LAN 
  6028. Requester using the supplied defaults. To install Windows after DOS LAN 
  6029. Requester is installed: 
  6030.  
  6031.  Add the following parameters to the DOSLAN.INI file: 
  6032.  
  6033.     /NMS:1 (2 if you want to receive messages) 
  6034.     /NVS:1 
  6035.     /API 
  6036.  
  6037.     Note:  Make sure that the value for the /NVS parameter is at least equal to 
  6038.     the number of servers in the domain. Otherwise, the Windows Browse function 
  6039.     may not detect all servers in the domain. You can specify these parameters 
  6040.     in any order. For more information about these parameters, refer to the OS2 
  6041.     LAN Server 1.3 DOS LAN Requester User's Guide. 
  6042.  
  6043.  Add the following parameters to the DOSLAN.INI file if you want to receive 
  6044.  pop-up messages: 
  6045.  
  6046.     /NMS:2 (minimum for receiving messages) 
  6047.     /POP 
  6048.  
  6049.  Start DOS LAN Requester. 
  6050.  At the DOS command prompt, type: Y (when prompted) or NET START 
  6051.  Install Windows using the Windows documentation. 
  6052.  Exit Windows and restart the workstation. 
  6053.  Start DOS LAN Requester. 
  6054.  At the DOS command prompt, type: Y (when prompted) or NET START 
  6055.  
  6056.  Note:  Logging on and off through Windows is not supported in this 
  6057.  environment. 
  6058.  Type NET, and then use the full-screen interface to log on. 
  6059.  Add the following line to the WIN.INI file if you want WINPOPUP support loaded 
  6060.  each time you start Windows: 
  6061.  
  6062.   load=WINPOPUP
  6063.  
  6064.  Start Windows. 
  6065.   At the DOS command prompt, type: 
  6066.  
  6067.    WIN
  6068.  
  6069.  Now, you must set up Windows for use with DOS LAN Requester by selecting LAN 
  6070.  Manager 2.0 Enhanced (or 100% compatible) as the network type. 
  6071.  
  6072.  To reconfigure Windows to support network activities: 
  6073.  
  6074.   1. Start DOS LAN Requester. 
  6075.   2. At the DOS command prompt, type: Y (when prompted) or NET START 
  6076.   3. Start Windows. 
  6077.   4. At the DOS command prompt, type: 
  6078.  
  6079.            WIN
  6080.  
  6081.   5. Select Windows Setup from the Windows Main window. 
  6082.   6. Select Options from the action bar. 
  6083.   7. Select Change system settings from the Options pull-down. 
  6084.   8. Select LAN Manager 2.0 Enhanced (or 100% compatible). 
  6085.  
  6086.      Note:  Windows prompts you for the correct diskette so that it can load 
  6087.      the network driver that is appropriate for the network you selected. 
  6088.   9. Exit Windows and restart the workstation. 
  6089.  10. Start DOS LAN Requester. 
  6090.  11. At the DOS command prompt, type: Y (when prompted) or NET START 
  6091.  
  6092.      Note:  Logging on and off through Windows is not supported in this 
  6093.      environment. 
  6094.  12. Type NET, and then use the full-screen interface to log on. 
  6095.  13. Start Windows. 
  6096.  14. At the DOS command prompt, type: 
  6097.  
  6098.            WIN
  6099.  
  6100.  Installing DOS LAN Requester after Windows Is Installed 
  6101.  
  6102.   1. Exit Windows. 
  6103.   2. Install DOS LAN Requester according to the instructions in the OS2 LAN 
  6104.      Server 1.3 DOS LAN Requester User's Guide. 
  6105.   3. Add the following parameters to the DOSLAN.INI file: 
  6106.  
  6107.     /NMS:1 (2 if you want to receive messages) 
  6108.     /NVS:1 
  6109.     /API 
  6110.  
  6111.     Note:  Make sure that the value for the /NVS parameter is at least equal to 
  6112.     the number of servers in the domain. Otherwise, the Windows Browse function 
  6113.     may not detect all servers in the domain. You can specify these parameters 
  6114.     in any order. For more information about these parameters, refer to the OS2 
  6115.     LAN Server 1.3 DOS LAN Requester User's Guide. 
  6116.  
  6117.   4. Add the following parameters to the DOSLAN.INI file, if you want to 
  6118.      receive pop-up messages: 
  6119.  
  6120.     /NMS:2 (minimum for receiving messages) 
  6121.     /POP 
  6122.  
  6123.   5. Start DOS LAN Requester. 
  6124.   6. At the DOS command prompt, type: Y (when prompted) or NET START 
  6125.  
  6126.      Note:  Logging on and off through Windows is not supported in this 
  6127.      environment. 
  6128.   7. Type NET, and then use the full-screen interface to log on. 
  6129.   8. Add the following line to the WIN.INI file if you want WINPOPUP support 
  6130.      loaded each time you start Windows: 
  6131.  
  6132.           load=WINPOPUP
  6133.  
  6134.   9. Start Windows. 
  6135.  10. At the DOS command prompt, type: 
  6136.  
  6137.            WIN
  6138.  
  6139.  11. Set up Windows for use with DOS LAN Requester as follows: 
  6140.  
  6141.     Select Windows Setup from the Windows Main window. 
  6142.  
  6143.     Select Options from the action bar. 
  6144.  
  6145.     Select Change system settings from the Options pull-down. 
  6146.  
  6147.     Select LAN Manager 2.0 Enhanced (or 100% compatible). 
  6148.  
  6149.     Exit Windows and restart the workstation. 
  6150.  
  6151.  12. Start DOS LAN Requester. 
  6152.  13. At the DOS command prompt, type: Y (when prompted) or NET START 
  6153.  
  6154.      Note:  Logging on and off through Windows is not supported in this 
  6155.      environment. 
  6156.  14. Type NET, and then use the full-screen interface to log on. 
  6157.  15. Start Windows. 
  6158.  16. At the DOS command prompt, type: 
  6159.  
  6160.            WIN
  6161.  
  6162.  Example AUTOEXEC.BAT and CONFIG.SYS Files 
  6163.  
  6164.  You may need to modify the AUTOEXEC.BAT and CONFIG.SYS files on your 
  6165.  workstation to use Windows with DOS LAN Requester. 
  6166.  
  6167.  The following are examples of files on different IBM Personal System/2* 
  6168.  workstations that are changed so that Windows and DOS LAN Requester can be 
  6169.  used together. 
  6170.  
  6171.  Example Files for the Model 50-286 
  6172.  
  6173.  In this example, the Model 50-286 has 2MB of expanded memory. DOS LAN 
  6174.  Requester is already installed. 
  6175.  
  6176.  The AUTOEXEC.BAT file looks like this before installing Windows: 
  6177.  
  6178.   @ECHO OFF
  6179.   SET COMSPEC=C:\DOS\COMMAND.COM
  6180.   VERIFY OFF
  6181.   PATH=C:\DOSLAN;C:\DOS;C:\DOSTOOLS
  6182.   APPEND C:\DOS
  6183.   PROMPT $P$G
  6184.   VER
  6185.   @ECHO OFF
  6186.   YNPROMPT Y N 30 Start DOS LAN Requester (Y/N)?
  6187.   IF ERRORLEVEL 1 GOTO NODLR
  6188.   NET START
  6189.   IF ERRORLEVEL 1 GOTO NODLR
  6190.   CALL INITFSI.BAT
  6191.   :NODLR
  6192.  
  6193.  After Windows is installed, the AUTOEXEC.BAT file is changed to look like 
  6194.  this: 
  6195.  
  6196.   @ECHO OFF
  6197.   SET COMSPEC=C:\DOS\COMMAND.COM
  6198.   VERIFY OFF
  6199.   PATH=C:\WINDOWS;C:\DOSLAN;C:\DOS;C:\DOSTOOLS
  6200.   APPEND C:\DOS
  6201.   PROMPT $P$G
  6202.   VER
  6203.   @ECHO OFF
  6204.   YNPROMPT Y N 30 Start DOS LAN Requester (Y/N)?
  6205.   IF ERRORLEVEL 1 GOTO NODLR
  6206.   NET START
  6207.   IF ERRORLEVEL 1 GOTO NODLR
  6208.   CALL INITFSI.BAT
  6209.   :NODLR
  6210.   SET TEMP=C:\WINDOWS\TEMP
  6211.  
  6212.  The CONFIG.SYS file looks like this before installing Windows: 
  6213.  
  6214.   BREAK=ON
  6215.   BUFFERS=20
  6216.   FILES=30
  6217.   LASTDRIVE=Z
  6218.   SHELL=C:\COMMAND.COM /E:2000 /P
  6219.   DEVICE=C:\DOS\XMA2EMS.SYS FRAME=C000 P255=D400
  6220.   DEVICE=DXMA0MOD.SYS 001
  6221.   DEVICE=DXMC0MOD.SYS
  6222.   DEVICE=DXMT0MOD.SYS S=12 C=14 ST=12
  6223.   FCBS=16,8
  6224.  
  6225.  After Windows is installed, the CONFIG.SYS file is changed to look like this: 
  6226.  
  6227.   BREAK=ON
  6228.   BUFFERS=20
  6229.   FILES=30
  6230.   LASTDRIVE=Z
  6231.   SHELL=C:\COMMAND.COM /E:2000 /P
  6232.   DEVICE=C:\HIMEM.SYS
  6233.   DEVICE=DXMA0MOD.SYS 001
  6234.   DEVICE=DXMC0MOD.SYS
  6235.   DEVICE=DXMT0MOD.SYS S=12 C=14 ST=12
  6236.   FCBS=16,8
  6237.   DEVICE=C:\WINDOWS\SMARTDRV.SYS 320
  6238.  
  6239.  Example Files for the Model 65-386SX 
  6240.  
  6241.  In this example, the Model 65-386SX has 3MB of extended memory. 
  6242.  
  6243.  The AUTOEXEC.BAT file looks like this before installing DOS LAN Requester and 
  6244.  Windows: 
  6245.  
  6246.   @ECHO OFF
  6247.   SET COMSPEC=C:\COMMAND.COM
  6248.   PATH=C:\DOS40X;C:\;C:\DOSTOOLS
  6249.   APPEND C:\DOSTOOLS
  6250.   PROMPT $P$G
  6251.  
  6252.  After Windows is installed, the AUTOEXEC.BAT file is changed to look like 
  6253.  this: 
  6254.  
  6255.   @ECHO OFF
  6256.   SET COMSPEC=C:\COMMAND.COM
  6257.   PATH=C:\WINDOWS;C:\DOS40X;C:\;C:\DOSTOOLS
  6258.   APPEND C:\DOSTOOLS
  6259.   PROMPT $P$G
  6260.   SET TEMP=C:\WINDOWS\TEMP
  6261.  
  6262.  After Windows and DOS LAN Requester are installed, the AUTOEXEC.BAT file is 
  6263.  changed to look like this: 
  6264.  
  6265.   @ECHO OFF
  6266.   SET COMSPEC=C:\COMMAND.COM
  6267.   PATH=C:\DOSLAN;C:\WINDOWS;C:\DOS40X;C:\;C:\DOSTOOLS
  6268.   APPEND C:\DOSTOOLS
  6269.   PROMPT $P$G
  6270.   SET TEMP=C:\WINDOWS\TEMP
  6271.   @ECHO OFF
  6272.   YNPROMPT Y N 30 Start DOS LAN Requester (Y/N)?
  6273.   IF ERRORLEVEL 1 GOTO NODLR
  6274.   NET START
  6275.   IF ERRORLEVEL 1 GOTO NODLR
  6276.   CALL INITFSI.BAT
  6277.   :NODLR
  6278.  
  6279.  The CONFIG.SYS file looks like this before installing DOS LAN Requester and 
  6280.  Windows: 
  6281.  
  6282.   BREAK=ON
  6283.   BUFFERS=30
  6284.   FILES=100
  6285.   LASTDRIVE=Z
  6286.   SHELL=C:\COMMAND.COM /E:2000 /P
  6287.   DEVICE=C:\LSP200\DXMA0MOD.SYS 001
  6288.   DEVICE=C:\LSP200\DXMC0MOD.SYS
  6289.   DEVICE=C:\LSP200\DXMT0MOD.SYS S=12 C=14 ST=12
  6290.   FCBS=16,8
  6291.  
  6292.  After Windows is installed, the CONFIG.SYS file is changed to look like this: 
  6293.  
  6294.   BREAK=ON
  6295.   BUFFERS=30
  6296.   FILES=100
  6297.   LASTDRIVE=Z
  6298.   SHELL=C:\COMMAND.COM /E:2000 /P
  6299.   DEVICE=C:\HIMEM.SYS
  6300.   DEVICE=C:\LSP200\DXMA0MOD.SYS 001
  6301.   DEVICE=C:\LSP200\DXMC0MOD.SYS
  6302.   DEVICE=C:\LSP200\DXMT0MOD.SYS S=12 C=14 ST=12
  6303.   FCBS=16,8
  6304.   DEVICE=C:\WINDOWS\SMARTDRV.SYS 2048 512
  6305.  
  6306.  In this example, the CONFIG.SYS file is not changed after DOS LAN Requester is 
  6307.  installed. 
  6308.  
  6309.  Example Files for the Model 70-386 
  6310.  
  6311.  In this example, the Model 70-386 has 1.5MB of extended memory. DOS LAN 
  6312.  Requester is already installed. 
  6313.  
  6314.  The AUTOEXEC.BAT file looks like this before installing Windows: 
  6315.  
  6316.   @ECHO ON
  6317.   PATH=C:\DOSLAN;C:\DOS33;C:\DOSTOOLS
  6318.   APPEND=C:\DOSTOOLS;C:\DOS33
  6319.   PROMPT [CLI $P]
  6320.   CLS
  6321.   :EXIT
  6322.   @ECHO OFF
  6323.   YNPROMPT Y N 30 Start DOS LAN Requester (Y/N)?
  6324.   IF ERRORLEVEL 1 GOTO NODLR
  6325.   NET START
  6326.   IF ERRORLEVEL 1 GOTO NODLR
  6327.   CALL INITFSI.BAT
  6328.   :NODLR
  6329.  
  6330.  After Windows is installed, the AUTOEXEC.BAT file is changed to look like 
  6331.  this: 
  6332.  
  6333.   @ECHO ON
  6334.   PATH=C:\WINDOWS;C:\DOSLAN;C:\DOS33;C:\DOSTOOLS
  6335.   APPEND=C:\DOSTOOLS;C:\DOS33
  6336.   PROMPT [CLI $P]
  6337.   CLS
  6338.   :EXIT
  6339.   @ECHO OFF
  6340.   YNPROMPT Y N 30 Start DOS LAN Requester (Y/N)?
  6341.   IF ERRORLEVEL 1 GOTO NODLR
  6342.   NET START
  6343.   IF ERRORLEVEL 1 GOTO NODLR
  6344.   CALL INITFSI.BAT
  6345.   :NODLR
  6346.   SET TEMP=C:\WINDOWS\TEMP
  6347.  
  6348.  The CONFIG.SYS file looks like this before installing Windows: 
  6349.  
  6350.   DEVICE=C:\LSP200\DXMA0MOD.SYS
  6351.   DEVICE=C:\LSP200\DXMC0MOD.SYS
  6352.   DEVICE=C:\LSP200\DXMT0MOD.SYS S=12 C=14 ST=12
  6353.   SHELL=C:\COMMAND.COM /E:2000 /P
  6354.   STACKS=30,128
  6355.   LASTDRIVE=Z
  6356.   FILES=30
  6357.   BUFFERS=20
  6358.   FCBS=16,8
  6359.  
  6360.  After Windows is installed, the CONFIG.SYS file is changed to look like this: 
  6361.  
  6362.   DEVICE=C:\HIMEM.SYS
  6363.   DEVICE=C:\LSP200\DXMA0MOD.SYS
  6364.   DEVICE=C:\LSP200\DXMC0MOD.SYS
  6365.   DEVICE=C:\LSP200\DXMT0MOD.SYS S=12 C=14 ST=12
  6366.   SHELL=C:\COMMAND.COM /E:2000 /P
  6367.   STACKS=30,128
  6368.   LASTDRIVE=Z
  6369.   FILES=30
  6370.   BUFFERS=20
  6371.   FCBS=16,8
  6372.   DEVICE=C:\WINDOWS\SMARTDRV.SYS 768 256
  6373.  
  6374.  
  6375. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6376.  
  6377. Using Windows with DOS LAN Requester 
  6378.  
  6379. Before using Windows, you must start DOS LAN Requester. The NET START command 
  6380. must include the /NMS:1, /NVS:1, and /API parameters. The value for the /NVS 
  6381. parameter must be at least equal to the number of servers on the domain. 
  6382.  
  6383. Windows lets you: 
  6384.  
  6385.  o Log on and off 
  6386.  o Redirect filesets and drives 
  6387.  o Redirect printers 
  6388.  o Send messages 
  6389.  o Look at shared resources 
  6390.  o Configure ports for network printers. 
  6391.  
  6392.  Logging On and Off 
  6393.  
  6394.  When Windows and DOS LAN Requester are properly installed, you can log on to 
  6395.  OS2 LAN Server 1.3 from the DOS command prompt or the DOS LAN Requester 
  6396.  full-screen interface. You can use resources through Windows that were shared 
  6397.  by logon assignments. 
  6398.  
  6399.  Note:  If you are running DOS LAN Requester and Windows on a 386-based 
  6400.  workstation, end the Windows session before issuing the NET LOGOFF command 
  6401.  from the DOS command prompt. 
  6402.  
  6403.  Redirecting Filesets and Drives 
  6404.  
  6405.  From Windows you can access shared file resources (filesets) on a server. To 
  6406.  redirect filesets from Windows: 
  6407.  
  6408.   1. Select File Manager from the Windows Main window. 
  6409.   2. Select Disk from the action bar. 
  6410.   3. Select Connect Net Drive from the Disk pull-down. The Connect Network 
  6411.      Drive window is displayed. 
  6412.   4. Specify the drive letter to be connected to the fileset in the Drive 
  6413.      Letter window. 
  6414.   5. Specify the network path to the fileset in one of the following ways: 
  6415.  
  6416.     o Type the network path (alias or UNC name). 
  6417.     o Select Browse from the Connect Network Drive window: 
  6418.  
  6419.         a. Select the domain. 
  6420.         b. Select the appropriate server. 
  6421.         c. Highlight the resource to be redirected, and then select OK. 
  6422.  
  6423.   6. Type the password to access the fileset (if required). The password does 
  6424.      not display. 
  6425.   7. Select Connect from the Connect Network Drive window. 
  6426.  
  6427.  An icon for the newly connected drive is displayed at the top of the File 
  6428.  Manager window. 
  6429.  
  6430.  Note:  All device redirection should be established through Windows, 
  6431.  particularly if you run Windows in 386 enhanced mode. 
  6432.  
  6433.  Otherwise, you might have to close and open Windows File Manager again to make 
  6434.  the redirected resources display. 
  6435.  
  6436.  Redirecting Printers 
  6437.  
  6438.  From Windows you can redirect a local port to use a shared printer on a 
  6439.  server. To redirect printers from Windows: 
  6440.  
  6441.   1. Select Control Panel from the Windows Main window. 
  6442.   2. Select Printers from the Control Panel window. 
  6443.   3. Select Network from the Printers window. The Printers - Network 
  6444.      Connections window is displayed. 
  6445.   4. Specify the port you want to connect to a network printer in the Port 
  6446.      window. 
  6447.   5. Specify the network path to the printer in one of the following ways: 
  6448.  
  6449.     o Type the network path (alias or UNC name). 
  6450.     o Select Browse from the Printers - Network Connections window: 
  6451.  
  6452.         a. Select the domain. 
  6453.         b. Select the appropriate server. 
  6454.         c. Highlight the printer to be connected, and then select OK. 
  6455.  
  6456.   6. Type the password to access the printer (if required). The password does 
  6457.      not display. 
  6458.   7. Select Connect from the Printers - Network Connections window. 
  6459.   8. Select OK. 
  6460.   9. Select OK. 
  6461.  
  6462.  Note:  When you are using the Print Screen function, the output in real mode 
  6463.  and standard mode is placed in the Clipboard. The output in 386 enhanced mode 
  6464.  goes directly to the queue. 
  6465.  
  6466.  Sending Messages 
  6467.  
  6468.  From Windows you can send and receive messages across the LAN. To send 
  6469.  messages across the LAN from Windows: 
  6470.  
  6471.   1. Select Control Panel from the Windows Main window. 
  6472.   2. Select Network from the Control Panel window. 
  6473.   3. Select Message from the action bar. 
  6474.   4. Select Send from the Message pull-down. 
  6475.   5. Type the user ID of the user to whom you want to send the message. 
  6476.   6. Type the message you want to send. 
  6477.   7. Select Send. 
  6478.  
  6479.  Note:  To receive messages while you are using Windows, the following must be 
  6480.  true: 
  6481.  
  6482.  o The RCV configuration is in the DOSLAN.INI file or in the NET START command. 
  6483.  o The following line is in the WIN.INI file: 
  6484.  
  6485.       load=WINPOPUP
  6486.  
  6487.  o The PATH statement in the AUTOEXEC.BAT file points to the directory 
  6488.    containing the WINPOPUP.EXE file. 
  6489.  
  6490.  Looking at Shared Resources 
  6491.  
  6492.  To look at the shared filesets on a server: 
  6493.  
  6494.   1. Select File Manager from the Windows Main window. 
  6495.   2. Select Disk from the action bar. 
  6496.   3. Select Connect Net Drive from the Disk pull-down. 
  6497.   4. Select Browse from the Connect Network Drive window. 
  6498.   5. Select the domain. 
  6499.   6. Select the appropriate server. 
  6500.  
  6501.  The resources currently shared on that server display in the Resources box. 
  6502.  
  6503.  Viewing Shared Printers 
  6504.  
  6505.  To look at the shared printers on a server: 
  6506.  
  6507.   1. Select Control Panel from the Windows Main window. 
  6508.   2. Select Printers from the Control Panel window. 
  6509.   3. Select Network from the Printers window. The Printers - Network 
  6510.      Connections window is displayed. 
  6511.   4. Select Browse from the Printers - Network Connections window. 
  6512.   5. Select the domain. 
  6513.   6. Select the appropriate server. 
  6514.  
  6515.  The printers currently shared on that server display in the Resources box. 
  6516.  
  6517.  Configuring Ports for Network Printers 
  6518.  
  6519.  To configure ports for network printers: 
  6520.  
  6521.   1. Select Printers from the Windows Control Panel window. 
  6522.   2. Select Add Printer from the Printers window. 
  6523.   3. Select the print driver for the network printer you want to use from the 
  6524.      List  of Printers window. 
  6525.   4. Select Install from the Printers window. If the driver already exists, 
  6526.      select Current. 
  6527.   5. Make sure that the newly installed printer is highlighted in the Installed 
  6528.      Printers list, and then select Configure from the Printers window. 
  6529.   6. Select the port number for the network port, and then select Setup from 
  6530.      the Printers - Configure window. 
  6531.   7. Complete the information for the printer you have selected in the pop-up 
  6532.      window, and then select OK. 
  6533.   8. Select OK from the Printers - Configure window. 
  6534.   9. Highlight the new printer, and then select Active from the Status box. 
  6535.  10. Select the new printer to make it the default printer, and then select OK 
  6536.      to exit the Printers window. 
  6537.  
  6538.  
  6539. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6540.  
  6541. Remote IPL 
  6542.  
  6543. You can use Windows on DOS LAN Requester workstations that require remote IPL. 
  6544. Set up Windows to run on remote-IPL workstations in one of the following ways: 
  6545.  
  6546.  o Share the Windows directory as a fileset available to users on remote-IPL 
  6547.    workstations. 
  6548.  o Define Windows as a private application for users on remote-IPL 
  6549.    workstations. 
  6550.  o Define Windows as a shared application for users on remote-IPL workstations. 
  6551.  
  6552.  This section describes how to set up Windows to run on remote-IPL workstations 
  6553.  and how to use Windows from those workstations. 
  6554.  
  6555.  Sharing the Windows Directory as a Fileset 
  6556.  
  6557.  You must install a shared copy of Windows on a server before Windows can be 
  6558.  shared with users at remote-IPL workstations. Follow the instructions in the 
  6559.  Windows documentation to install a shared copy of Windows. 
  6560.  
  6561.  After you have installed a shared copy of Windows, you can share that Windows 
  6562.  directory on the server. Follow the instructions in the OS2 LAN Server 1.3 
  6563.  Network Administrator's Guide to create an alias and an access control profile 
  6564.  for the Windows directory. 
  6565.  
  6566.  To customize Windows for your user ID: 
  6567.  
  6568.   1. Assign the Windows fileset to a local drive letter. 
  6569.   2. Make the Windows fileset current. 
  6570.   3. At the DOS command prompt, type: 
  6571.  
  6572.           SETUP /N
  6573.  
  6574.   4. Specify that you want Setup to install Windows on your personal directory. 
  6575.      Your personal directory can be on a local fixed disk or on a network 
  6576.      drive. For example, if you type: 
  6577.  
  6578.           C:\MYWINDIR
  6579.      , 
  6580.  
  6581.      Setup copies the Windows files you customize to the C:\MYWINDIR directory. 
  6582.  
  6583.      Note:  If you want to define Windows as a private application in the DOS 
  6584.      LAN Requester Served Applications group, specify a personal directory on a 
  6585.      network drive. 
  6586.   5. Follow the instructions in the Setup panels to complete the installation. 
  6587.   6. Edit the PROGMAN.INI file Groups statements to match the drive letter you 
  6588.      assigned to the Windows fileset. 
  6589.  
  6590.  Note:  Make sure that the PATH statement in your workstation's AUTOEXEC.BAT 
  6591.  file includes the drive letter you assigned to the Windows fileset. 
  6592.  
  6593.  Defining Windows as a Private Application 
  6594.  
  6595.  After you customize Windows, you can define it as a private application in the 
  6596.  DOS LAN Requester Served Applications group. To define Windows as a private 
  6597.  application: 
  6598.  
  6599.   1. Make the Served Applications group the current group. 
  6600.   2. Select Program from the action bar. 
  6601.   3. Select Add from the Program pull-down. 
  6602.   4. Select Private Application. 
  6603.   5. Type the name you want for your Windows application, and then press Enter. 
  6604.   6. Complete the Application Details panels as follows: 
  6605.  
  6606.      a. Type the description of your Windows application the way you want it to 
  6607.         display in the Served Applications group. 
  6608.      b. Type WIN.EXE in the DOS Command Line field. 
  6609.      c. Select Yes in the Collect Parameters field. 
  6610.      d. Select No in the Set Current Fileset and Additional Filesets fields, 
  6611.         and then press Enter. 
  6612.      e. In the Application Details - Program Package Fileset panel, select the 
  6613.         fileset that contains your Windows personal directory, and then press 
  6614.         Enter. 
  6615.      f. In the Application Details - Program Package Path panel, type the path 
  6616.         (beginning with a backslash character (\)) to your personal directory, 
  6617.         and then press Enter. 
  6618.      g. Select No in the Specify Drive field, and then press Enter. 
  6619.  
  6620.  Defining Windows as a Shared Application 
  6621.  
  6622.  You can define Windows as a shared application on your network. Before 
  6623.  defining Windows on the network, make sure that DOS Image Support has been 
  6624.  installed on the server that is sharing Windows. For more information about 
  6625.  DOS Image Support, refer to OS/2 LAN Server 1.3 Getting Started. 
  6626.  
  6627.  To define Windows as a shared application: 
  6628.  
  6629.   1. Install Windows in the DOS compatibility box of an OS/2 Server. Accept the 
  6630.      Windows defaults during installation. 
  6631.  
  6632.      Note:  If you have Windows search your fixed disk for applications, you 
  6633.      might receive error messages indicating that Windows cannot read the 
  6634.      drive. You can cancel the error message and continue. Some OS/2 files are 
  6635.      protected. This protection creates the error message. 
  6636.   2. Change the network to LANMAN as follows: 
  6637.  
  6638.      a. If Windows is not  running, at the DOS command prompt, type: 
  6639.  
  6640.                 WIN
  6641.  
  6642.      b. Make the Windows Main window active. 
  6643.      c. Select the Windows Setup icon. 
  6644.      d. Select Options from the action bar. 
  6645.      e. Select Change System Settings from the Options pull-down. 
  6646.      f. Select LAN Manager 2.0 Enhanced (or 100% compatible). 
  6647.      g. Follow the Windows panel instructions for inserting diskettes. 
  6648.      h. If your mouse is not working, you need to use Setup to select the 
  6649.         appropriate mouse driver. For more information, refer to the Windows 
  6650.         documentation. 
  6651.  
  6652.   3. Define an alias for the Windows directory as follows: 
  6653.  
  6654.      a. Select Definitions from the LAN Requester Main panel. 
  6655.      b. Select Aliases from the Definitions pull-down. 
  6656.      c. Select Files from the Aliases pull-down. 
  6657.      d. Select New, and then select Actions from the action bar. 
  6658.      e. Select Create from the Actions pull-down. The following is an example 
  6659.         alias: 
  6660.  
  6661.                 Alias:                     WINDOWS
  6662.                 Description:               Windows 3.0
  6663.                 Server name:               WINSRV
  6664.                 Server path to directory:  C:\WINDOWS
  6665.                 Maximum number of users:   15
  6666.                 When shared:               As required by user
  6667.  
  6668.   4. Create an access control profile. 
  6669.  
  6670.      a. Select Definitions from the LAN Requester Main panel. 
  6671.      b. Select Access Control from the Definitions pull-down. 
  6672.      c. Select the Windows alias. 
  6673.      d. Select Actions from the action bar. 
  6674.      e. Select Create from the Actions pull-down. 
  6675.      f. Select the access permissions you want to give users. 
  6676.  
  6677.         Note:  From the Actions pull-down, you can specify special access 
  6678.         control for certain groups of users. For more information, refer to the 
  6679.         OS/2 LAN Server Version 1.3 Network Administrator's Guide. 
  6680.  
  6681.   5. Apply the access control profile. 
  6682.  
  6683.      a. Select Definitions from the LAN Requester Main panel. 
  6684.      b. Select Access Control from the Definitions pull-down. 
  6685.      c. Select the Windows alias. 
  6686.      d. Select Actions from the action bar. 
  6687.      e. Select Apply from the Actions pull-down. 
  6688.  
  6689.   6. Define a shared application as follows: 
  6690.  
  6691.      a. Select Definitions from the LAN Requester Main panel. 
  6692.      b. Select Applications from the Definitions pull-down. 
  6693.      c. Select Public DOS Applications from the Applications pull-down. 
  6694.      d. Select New, and then select Actions from the action bar. 
  6695.      e. Select Create from the Actions pull-down. 
  6696.  
  6697.         The following is an example of a shared application: 
  6698.  
  6699.                 Application ID:            WINDOWS
  6700.                 Description:               Windows 3.0
  6701.                 DOS command line:          win
  6702.                 Alias:                     WINDOWS
  6703.                 Remaining path to program: \
  6704.                 Assigned drive:            G
  6705.                 Prompt user for parameter: YES
  6706.  
  6707.   7. Add the application to the user's served applications group: 
  6708.  
  6709.      a. Select the Windows application. 
  6710.      b. Select Selector from the action bar. 
  6711.      c. Select Add from the Selector pull-down. 
  6712.      d. Select the user IDs that you want to have access to Windows. 
  6713.  
  6714.   8. Change the path to the .GRP files: 
  6715.  
  6716.      a. Select OS/2 Full Screen from the Group - Main panel. 
  6717.      b. Change to the directory in which Windows is installed. 
  6718.      c. Edit the PROGMAN.INI file. At the DOS command prompt, type: 
  6719.  
  6720.                 E PROGMAN.INI
  6721.  
  6722.         Change the paths for the group statements to the drive and path 
  6723.         assigned to the application. 
  6724.  
  6725.         The following is an example of the group statements path: 
  6726.  
  6727.                 GROUP1=G:\MAIN.GRP
  6728.                 GROUP2=G:\ACCESSOR.GRP
  6729.                 GROUP3=G:\GAMES.GRP
  6730.  
  6731.   9. Exit Windows and restart the workstation. 
  6732.  
  6733.  Remote-IPL 
  6734.  
  6735.  To run Windows from the DOS command prompt: 
  6736.  
  6737.   1. Assign the Windows fileset to the drive letter you used to customize 
  6738.      Windows. Use a logon assignment to make this an automatic assignment every 
  6739.      time you log on. 
  6740.   2. Make your personal Windows directory current. 
  6741.   3. At the DOS command prompt, type: 
  6742.  
  6743.           WIN
  6744.  
  6745.  To run Windows as a private application 
  6746.  
  6747.   1. In the DOS LAN Requester full-screen interface, make the Served 
  6748.      Applications group the current group. 
  6749.   2. Select the Windows application. 
  6750.   3. When prompted for parameters, type one of the following: 
  6751.  
  6752.     /R        To run Windows in real mode 
  6753.     /S        To run Windows in standard mode 
  6754.     /3        To run Windows in 386 enhanced mode. 
  6755.  
  6756.   4. Press Enter. 
  6757.  
  6758.  To run Windows as a shared application 
  6759.  
  6760.   1. In the DOS LAN Requester full-screen interface, make the Served 
  6761.      Applications group the current group. 
  6762.   2. Select Windows from the Served Applications panel. 
  6763.   3. When prompted for parameters, type one of the following: 
  6764.  
  6765.     /R        To run Windows in real mode 
  6766.     /S        To run Windows in standard mode 
  6767.     /3        To run Windows in 386 enhanced mode. 
  6768.  
  6769.   4. Press Enter. 
  6770.  
  6771.  For more information about running Windows in the real, standard, or 386 
  6772.  enhanced mode, refer to the Windows documentation. 
  6773.  
  6774.  When running Windows as a shared application, the users will not be able to 
  6775.  customize their system configurations, hardware, or Windows environment 
  6776.  without affecting other users. To avoid problems, the network administrator 
  6777.  should set the .INI files in the Windows directory to read-only. The network 
  6778.  administrator should configure the hardware for all users. 
  6779.  
  6780.  Windows Image Support 
  6781.  
  6782.  Use the following definition file to create an image with extended memory and 
  6783.  support for Windows: 
  6784.  
  6785.   ;   IBM DLR RIPL image definition for a PC with
  6786.   ;   3.5" 1.4M A: diskette.  Requester will be a
  6787.   ;   redirector; Windows support is included.
  6788.   3.5/1.4M                         ;Define diskette type
  6789.   ?:\IBMLAN\DOSLAN\NET\STD_CFG.SYS CONFIG.SYS
  6790.   ?:\IBMLAN\DOSLAN\NET\STD_AUT.BAT AUTOEXEC.BAT
  6791.   ?:\IBMLAN\DOSLAN\NET\STD_SET.BAT SETENV.BAT
  6792.   ?:\IBMLAN\DOSLAN\NET\INT21USE.COM
  6793.   ?:\IBMLAN\DOSLAN\NET\SMDISP.EXE
  6794.   ?:\IBMLAN\DOSLAN\NET\XSRW.SM
  6795.   ?:\IBMLAN\DOSLAN\NET\NET.COM
  6796.   ?:\IBMLAN\DOSLAN\NET\NETWORK.MSG
  6797.   ?:\IBMLAN\DOSLAN\NET\NETWORK1.CMD
  6798.   ?:\IBMLAN\DOSLAN\DOS\VDISK.SYS
  6799.   ?:\IBMLAN\DOSLAN\NET\REDIR40.EXE
  6800.   ?:\IBMLAN\DOSLAN\NET\XSI4.EXE
  6801.   ?:\IBMLAN\DOSLAN\NET\MSGSRVR.EXE
  6802.   ?:\IBMLAN\DOSLAN\NET\MSGPOPUP.EXE
  6803.   ;   Statements added for Windows Support
  6804.   ?:\IBMLAN\DOSLAN\NET\DOSLAN.INI
  6805.   ?:\IBMLAN\DOSLAN\WINDOWS\RAMDRIVE.SYS
  6806.   ?:\IBMLAN\DOSLAN\WINDOWS\HIMEM.SYS
  6807.  
  6808.  Use the following STD_CFG.SYS file to support extended memory and a RAM drive: 
  6809.  
  6810.   SHELL=A:\COMMAND.COM /E:2000 /P
  6811.   LASTDRIVE=~~~~~B
  6812.   FILES=30
  6813.   BUFFERS=10
  6814.   BREAK = ON
  6815.   FCBS=16,8
  6816.   DEVICE = HIMEM.SYS
  6817.   DEVICE = RAMDRIVE.SYS 1024 /E
  6818.  
  6819.  To support the NET START parameters needed to run Windows with DOS LAN 
  6820.  Requester on a remote-IPL workstation, you must add a DOSLAN.INI file to your 
  6821.  image definition files. For information about adding a DOSLAN.INI file to your 
  6822.  image definition files, refer to the OS2 LAN Server 1.3 Network 
  6823.  Administrator's Guide. 
  6824.  
  6825.  Use the following DOSLAN.INI file to enable API support for Windows: 
  6826.  
  6827.   RDR ~~~~~~~~2 ~~~~~~~~6
  6828.   /SRV:8  /ASG:29 /NBC:4  /NBS:1K /BBC:1  /BBS:4K /PBC:4
  6829.   /PBS:128 /PFS:32 /PFT:900 /PWT:250 /KUC:600 /KST:600
  6830.   /WRK:1111211012 /RPL /NVS:4 /NMS:4 /API
  6831.  
  6832.  For more information about remote-IPL files, refer to the OS2 LAN Server 1.3 
  6833.  Network Administrator's Guide. 
  6834.  
  6835.  
  6836. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6837.  
  6838. Windows 
  6839.  
  6840. int AccessResource(hInst, hResInfo);
  6841.     HANDLE hInst;
  6842.     HANDLE hResInfo;
  6843.  
  6844. Presentation Manager No equivalent 
  6845.  
  6846. This Windows function sets a file pointer for read access to resource 
  6847.  
  6848.  
  6849. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6850.  
  6851. Windows 
  6852.  
  6853. ATOM AddAtom(lpString);
  6854.      LPSTR lpString;
  6855.  
  6856. Presentation Manager 
  6857.  
  6858. ATOM WinAddAtom(hAtomTab, pString);
  6859.      HATOMTBL hAtomTab;
  6860.      PSZ pString;
  6861.  
  6862. This Windows function creates an atom for character string lpString. The 
  6863.  
  6864.  
  6865. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6866.  
  6867. Windows 
  6868.  
  6869. SHORT AddFontResource(lpFileName);
  6870.       LPSTR lpFileName;
  6871.  
  6872. Presentation Manager 
  6873.  
  6874. BOOL GpiLoadFonts(hab, pszFilename).
  6875.      HAB hab;
  6876.      PSZ pszFilename;
  6877. p. This Windows function adds font resource in lpFileName to Windows font 
  6878. table. The Presentation Manager function is equivalent and loads fonts from the 
  6879. specified resource file. All fonts in this file become available for any 
  6880. application to use. 
  6881.  
  6882.  
  6883. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6884.  
  6885. Windows 
  6886.  
  6887. VOID AdjustWindowRect(lpRect, lStyle, fMenu);
  6888.      LPRECT lpRect;
  6889.      LONG lStyle;
  6890.      BOOL fMenu;
  6891.  
  6892. Presentation Manager 
  6893.  
  6894. BOOL WinCalcFrameRect(hwndFrame, prcl, fClient);
  6895.      HWND hwndFrame;    /* handle of window */
  6896.      PRECTL prcl;
  6897.      BOOL fClient;
  6898.  
  6899. This Windows function converts client rectangle to a window rectangle, assuming 
  6900. that the window had the specified style and menus. The Presentation Manager 
  6901. function is similar, but hwndFrame must be the handle to an existing frame 
  6902. window, and fClient should be FALSE. 
  6903.  
  6904.  
  6905. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6906.  
  6907. Windows 
  6908.  
  6909. HANDLE AllocResource(hInst, hResInfo, dwSize);
  6910.        HANDLE hInst;
  6911.        HANDLE hResInfo;
  6912.        DWORD dwSize;
  6913.  
  6914. Presentation Manager 
  6915.  
  6916. No equivalent 
  6917.  
  6918. This Windows function allocates dwSize bytes of memory for resource hResInfo. 
  6919. There is no Presentation Manager equivalent. 
  6920.  
  6921.  
  6922. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6923.  
  6924. Windows 
  6925.  
  6926. BYTE AnsiLower(lpString);
  6927.      LPSTR lpString;
  6928.  
  6929. Presentation Manager 
  6930.  
  6931. No equivalent 
  6932.  
  6933. This Windows function converts character string (or character if lpString 
  6934.  
  6935.  
  6936. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6937.  
  6938. Windows 
  6939.  
  6940. LPSTR AnsiNext(lpCurChar);
  6941.       LPSTR lpCurChar;
  6942.  
  6943. Presentation Manager 
  6944.  
  6945. LPSTR WinNextChar(wIdPage, pCurChar);
  6946.       USHORT wIdPage;
  6947.       PSZ pCurChar;
  6948.  
  6949. This Windows function returns a long pointer to next character in the string 
  6950. lpCurChar. The Presentation Manager function takes the identifier of the code 
  6951. page, but is equivalent. 
  6952.  
  6953.  
  6954. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6955.  
  6956. Windows 
  6957.  
  6958. LPSTR AnsiPrev(lpStart, lpCurChar);
  6959.       LPSTR lpStart;
  6960.       LPSTR lpCurChar;
  6961.  
  6962. Presentation Manager 
  6963.  
  6964. PSZ WinPrevChar(hab, idcp, idcc, pszStart, psz);
  6965.     HAB hab;
  6966.     USHORT idcp;
  6967.     USHORT idcc;
  6968.     PSZ pszStart;
  6969.     PSZ psz;
  6970.  
  6971. This Windows function returns a long pointer to previous character in the 
  6972. string lpStart with lpCurChar pointing to the current character. The 
  6973. Presentation Manager function takes the identifier of the code page, but is 
  6974. equivalent. 
  6975.  
  6976.  
  6977. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  6978.  
  6979. Windows 
  6980.  
  6981. BOOL AnsiToOem(lpAnsiStr, lpOemStr);
  6982.      LPSTR lpAnsiStr;
  6983.      LPSTR lpOemStr;
  6984.  
  6985. Presentation Manager 
  6986.  
  6987. BOOL WinCpTranslateString(hab, cpSrc, pszSrc, cpDst, cchDestMax, pchDest);
  6988.      HAB hab;
  6989.      USHORT cpSrc;
  6990.      PSZ pszSrc;
  6991.      USHORT cpDst;
  6992.      USHORT cchDestMax;
  6993.      PSZ pchDest;
  6994.  
  6995. This Windows function converts the ANSI string to OEM character string. The 
  6996. Presentation Manager function is equivalent, translating a string from one code 
  6997. page to another. 
  6998.  
  6999.  
  7000. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7001.  
  7002. Windows 
  7003.  
  7004. BYTE AnsiUpper(lpString);
  7005.      LPSTR lpString;
  7006.  
  7007. Presentation Manager 
  7008.  
  7009. USHORT WinUpper(hab, idcp, idcc, psz);
  7010.        HAB hab;
  7011.        USHORT idcp;
  7012.        USHORT idcc;
  7013.        PSZ psz;
  7014.  
  7015. USHORT WinUpperChar(hab, idcp, idcc, c);
  7016.        HAB hab;
  7017.        USHORT idcp;
  7018.        USHORT idcc;
  7019.        USHORT c;
  7020.  
  7021. This Windows function converts the character string (or character if lpString 
  7022. high word is zero) to uppercase. Presentation Manager functions take the 
  7023. identifier of the code page, but are equivalent. 
  7024.  
  7025.  
  7026. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7027.  
  7028. Windows 
  7029.  
  7030. BOOL AnyPopup();
  7031.  
  7032. Presentation Manager 
  7033.  
  7034. No equivalent 
  7035.  
  7036. This Windows function indicates whether or not a popup style window is visible 
  7037. on the screen. There is no Presentation Manager equivalent. In order to 
  7038. determine this under Presentation Manager, one must enumerate all windows, ask 
  7039. if any are of the popup style, and ask if any of these are currently visible. 
  7040.  
  7041. See Also: 
  7042.  
  7043.  WinBeginEnumWindows 
  7044.  
  7045.  
  7046. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7047.  
  7048. Windows 
  7049.  
  7050. BOOL Arc(hDC, X1, Y1, X2, Y2, X3, Y3, X4, Y4);
  7051.      HDC hDC;
  7052.      SHORT X1;
  7053.      SHORT Y1;
  7054.      SHORT X2;
  7055.  
  7056. Presentation Manager 
  7057.  
  7058. BOOL GpiSetArcParams(hps, parcp)
  7059.      HPS hps;
  7060.      PARCPARAMS parcp;
  7061.  
  7062. LONG GpiPointArc(hps, pptl)
  7063.      HPS hps;
  7064.      PPOINTL pptl;
  7065.  
  7066. The Windows function draws an arc from (X3, Y3) to (X4, Y4) using the current 
  7067. pen and moving counterclockwise with arc's center at center of rectangle given 
  7068. by X1, Y1 and X2, Y2. In Presentation Manager, GpiMove sets the current point. 
  7069. The Presentation Manager application should then call GpiPointArc to with 
  7070. pPointL pointing to 2 long points. The arc will pass through the first point 
  7071. and will end on the second point. The current point is updated to be the second 
  7072. point. Note that in Presentation Manager all coordinates are expressed in 
  7073. absolute mode and that the coordinate system origin is different from that of 
  7074. Windows. 
  7075.  
  7076. See Also:
  7077.  
  7078.  GpiMove 
  7079.  
  7080.  
  7081. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7082.  
  7083. Windows 
  7084.  
  7085. HDC BeginPaint(hwnd, lpPaint);
  7086.     HWND hwnd;
  7087.     LPPAINTSTRUCT lpPaint;
  7088.  
  7089. Presentation Manager 
  7090.  
  7091. HPS WinBeginPaint(hwnd, hPS, pWUpdateRect);
  7092.     HWND hwnd;
  7093.     HPS hPS;
  7094.     PWRECT pWUpdateRect;
  7095.  
  7096. The Windows function prepares window for painting, filling structure at lpPaint 
  7097. with painting data. If the Presentation Manager function has created its own 
  7098. window display context, it should passed in a handle to a presentation space in 
  7099. hPS. If using display context from the cache, it can pass in NULL for the hPS. 
  7100. If it doesn't need the update rectangle, it can pass in NULL for pWUpdateRect. 
  7101.  
  7102.  
  7103. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7104.  
  7105. Windows 
  7106.  
  7107. BOOL BitBlt(hDest, X, Y, wWidth, wHeight, hSrc, XSrc, YSrc, dwROP);
  7108.      HDC hDest;
  7109.      short X;
  7110.      short Y;
  7111.      short wWidth;
  7112.      short wHeight;
  7113.      HDC hSrc;
  7114.      short XSrc;
  7115.      short YSrc;
  7116.      DWORD dwROP;
  7117.  
  7118. Presentation Manager 
  7119.  
  7120. LONG GpiBitBlt(hpsTarg, hpsSrc, cPoints, paptlPoints, lRop, flOptions)
  7121.      HPS hpsTarg;
  7122.      HPS hpsSrc;
  7123.      LONG cPoints;
  7124.      PPOINTL paptlPoints;
  7125.      LONG lRop;
  7126.      LONG flOptions;
  7127.  
  7128. The Windows function moves a bitmap from source device to destination device, 
  7129. with dwRop describing how source, destination, and possibly brush bits are to 
  7130. be combined. GpiBitBlt encompasses the functionality present in BitBlt and 
  7131. StretchBitBlt. For non-stretched blitting, lMode should be BLTMODE_NOSCALE. 
  7132. lNum should be 3, and pPointL should be an array with the the top right corner 
  7133. of the destination blit area, and the bottom left corner of the source blit 
  7134. area. 
  7135.  
  7136.  
  7137. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7138.  
  7139. Windows 
  7140.  
  7141. VOID BringWindowToTop(hwnd);
  7142.      HWND hwnd;
  7143.  
  7144. Presentation Manager 
  7145.  
  7146. BOOL WinSetWindowPos(hwnd, hwndInsertBehind, x, y, cx, cy, fs)
  7147.      HWND hwnd;
  7148.      HWND hwndInsertBehind;
  7149.      SHORT x;
  7150.      SHORT y;
  7151.      SHORT cx;
  7152.      SHORT cy;
  7153.      USHORT fs;
  7154.  
  7155. This Windows function brings a popup or child window to top of stack of 
  7156. overlapping windows. Presentation Manager function can be called with 
  7157. SWP_ZORDER in wCmd and HWND_TOP in hwndInsertBehind. This function can be used 
  7158. to set the window order in a more generalized manner than the Windows function. 
  7159.  
  7160.  
  7161. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7162.  
  7163. Windows 
  7164.  
  7165. BOOL CallMsgFilter(lpMsg, wCode);
  7166.      LPMSG lpMsg;
  7167.      INT wCode;
  7168.  
  7169. Presentation Manager 
  7170.  
  7171. No equivalent 
  7172.  
  7173. This Windows function passes message and code to the current message-filter 
  7174. function which was set using SetWindowsHook. There is no Presentation Manager 
  7175. equivalent to this function. In Presentation Manager, the application sees all 
  7176. messages and sorts them as desired. Under Presentation Manager, you must call 
  7177. the filter function directly. 
  7178.  
  7179. See Also:
  7180.  
  7181.  SetWindowHook 
  7182.  
  7183.  
  7184. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7185.  
  7186. Windows 
  7187.  
  7188. LONG CallWindowProc(lpProc, hwnd, wMessage, wParam, lParam);
  7189.      FARPROC lpProc;
  7190.      HWND hwnd;
  7191.      unsigned wMessage;
  7192.      WORD wParam;
  7193.      LONG lParam;
  7194.  
  7195. Presentation Manager 
  7196.  
  7197. No equivalent 
  7198.  
  7199. This Windows function passes message information to the function specified by 
  7200. lpPrevWndFunc. There is no Presentation Manager equivalent, but the procedure 
  7201. specified by lpProc may be called directly with the proper parameters. 
  7202.  
  7203.  
  7204. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7205.  
  7206. Windows 
  7207.  
  7208. INT Catch(lpCatchBuf);
  7209.     LPCATCHBUF lpCatchBuf;
  7210.  
  7211. Presentation Manager 
  7212.  
  7213.  
  7214. SHORT WinCatch(pCatchBuf)
  7215.       PCATCHBUF pcatchbuf;
  7216.  
  7217. This Windows function copies the current execution environment to buffer 
  7218. lpCatchBuf. The Presentation Manager function is equivalent. 
  7219.  
  7220.  
  7221. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7222.  
  7223. Windows 
  7224.  
  7225.  
  7226. BOOL ChangeClipboardChain(hWnd, hWndNext);
  7227.      HWND hWnd;
  7228.      HWND hWndNext;
  7229.  
  7230. Presentation Manager 
  7231.  
  7232.  
  7233. BOOL WinSetClipbrdViewer(hab, hwnd)
  7234.      HAB hab;
  7235.      HWND hwnd;
  7236.  
  7237. This Windows function removes hWnd from the clipboard viewer chain, making 
  7238. hWndNext the descendant of hWnd's ancestor in the chain. In Presentation 
  7239. Manager there is no equivalent function; there is only one clipboard viewer. 
  7240.  
  7241.  
  7242. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7243.  
  7244. Windows 
  7245.  
  7246. BOOL ChangeMenu(hMenu, wId, lpNewItem, wIdNewItem, wChange);
  7247.      HMENU hMenu;
  7248.      WORD wId;
  7249.      LPSTR lpNewItem;
  7250.      WORD wIdNewItem;
  7251.      WORD wChange;
  7252.  
  7253. Presentation Manager 
  7254.  
  7255. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  7256.         HWND hwnd;
  7257.         USHORT msg;
  7258.         MPARAM mp1;
  7259.         MPARAM mp2;
  7260.  
  7261. This Windows function appends, inserts, deletes, or modifies a menu item in 
  7262. hMenu. In Presentation Manager, the application must send messages to the menu 
  7263. in order to modify its structure. Note that the style for the about box has 
  7264. changed in Presentation Manager; instead of using the ChangeMenu call to add 
  7265. the about command to the system menu, the Presentation Manager application 
  7266. should include the about command at the end of the files menu if present. Here 
  7267. is a partial list of the messages which the Presentation Manager application 
  7268. can send to the menu control in order to modify its structure: 
  7269.  
  7270. Value                    Meaning
  7271. ----------------------------------------------------------------------------
  7272. MM_ITEMIDFROMPOSITION    lParam1 is position, return is id
  7273. MM_ITEMPOSITIONFROMID    lParam1 is id, return is position
  7274. MM_QUERYITEM             lParam1 is id, lParam2 is PMENUITEM
  7275. MM_SETITEM               lParam1 is id, lParam2 is PMENUITEM
  7276. MM_DELETEITEM            lParam1 is id, return is count of remaining items
  7277. MM_INSERTITEM            lParam1 is PMENUITEM, lParam2 is PSZ
  7278.  
  7279.  
  7280. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7281.  
  7282. Windows 
  7283.  
  7284. VOID CheckDlgButton(hDlg, wId, wCheckPos);
  7285.      HWND hDlg;
  7286.      int wId;
  7287.      WORD wCheckPos;
  7288.  
  7289. Presentation Manager 
  7290.  
  7291. MRESULT WinSendDlgItemMsg(hwndDlg, idItem, msg, mp1, mp2)
  7292.         HWND hwndDlg;
  7293.         USHORT idItem;
  7294.         USHORT msg;
  7295.         MPARAM mp1;
  7296.         MPARAM mp2;
  7297.  
  7298. This Windows function places or removes check next to button, or changes state 
  7299. of 3-state button. The Presentation Manager function can be used to send 
  7300. BM_SETCHECK message with desired check position in the low word of mp1. 
  7301.  
  7302.  
  7303. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7304.  
  7305. Windows 
  7306.  
  7307. BOOL CheckMenuItem(hMenu, wId, wCheck);
  7308.      HMENU hMenu;
  7309.      WORD wId;
  7310.      WORD wCheck;
  7311.  
  7312. Presentation Manager 
  7313.  
  7314. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  7315.         HWND hwnd;
  7316.         USHORT msg;
  7317.         MPARAM mp1;
  7318.         MPARAM mp2;
  7319.  
  7320. This Windows function sets check or removes check from a menu item. In 
  7321. Presentation Manager, application can send MM_SETATTR message to menu window 
  7322. handle. Set mp1 to be menu id in low word and bIncludeSubmenus (usually TRUE) 
  7323. in high word. Set mp2 to be MIA_CHECKED in low word and either MIA_CHECKED or 0 
  7324. in high word. To uncheck a menu item, for example, send MAKELONG(MIA_CHECKED, 
  7325. 0) as the last parameter. Return value is old check state of item. 
  7326.  
  7327. See Also:
  7328.  
  7329.  WinSendMsg 
  7330.  
  7331.  
  7332. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7333.  
  7334. Windows 
  7335.  
  7336. VOID CheckRadioButton(hDlg, wIdFirst, wIdLast, wIdCheck);
  7337.      HWND hDlg;
  7338.      INT wIdFirst;
  7339.      INT wIdLast;
  7340.      INT wIdCheck;
  7341.  
  7342. Presentation Manager 
  7343.  
  7344. MRESULT WinSendDlgItemMsg(hwndDlg, idItem, msg, mp1, mp2)
  7345.         HWND hwndDlg;
  7346.         USHORT idItem;
  7347.         USHORT msg;
  7348.         MPARAM mp1;
  7349.         MPARAM mp2;
  7350.  
  7351. This Windows function checks wIdCheck button and unchecks all other radio 
  7352. buttons in the group from wIdFirst to wIdLast. The Presentation Manager 
  7353. function can be used to send BM_SETCHECK message with desired check position in 
  7354. low word of lParam1. The application must then send message to every radio 
  7355. button control in desired group. This can avoided by using the AUTORADIOBUTTON 
  7356. style for radio button controls, which causes the radio buttons to be checked 
  7357. and unchecked automatically. 
  7358.  
  7359.  
  7360. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7361.  
  7362. Windows 
  7363.  
  7364. HWND ChildWindowFromPoint(hWndParent, Point);
  7365.      HWND hWndParent;
  7366.      POINT Point;
  7367.  
  7368. Presentation Manager 
  7369.  
  7370. HWND WinWindowFromPoint(hwnd, pptl, fChildren, fLock)
  7371.      HWND hwnd;
  7372.      PPOINTL pptl;
  7373.      BOOL fChildren;
  7374.      BOOL fLock;
  7375. This Windows function determines which, if any, child window of hWndParent 
  7376. contains Point. The Presentation Manager function can be called with fEnumChild 
  7377. set to FALSE. This function returns hWndParent if pWPoint is in the parent 
  7378. window but not in any of the child windows. 
  7379.  
  7380.  
  7381. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7382.  
  7383. Windows 
  7384.  
  7385. VOID ClientToScreen(hWnd, lpPoint);
  7386.      HWND hWnd;
  7387.      LPPOINT lpPoint;
  7388.  
  7389. Presentation Manager 
  7390.  
  7391. BOOL WinMakePoints(hab, pwpt, cwpt)
  7392.      HAB hab;
  7393.      PWPOINT pwpt;
  7394.      SHORT cwpt;
  7395.  
  7396. BOOL WinMapWindowPoints(hwndFrom, hwndTo, pptl, cwpt)
  7397.      HWND hwndFrom;
  7398.      HWND hwndTo;
  7399.      PPOINTL pptl;
  7400.      SHORT cwpt;
  7401.  
  7402. This Windows function converts client coordinates into equivalent screen 
  7403. coordinates in place. The Presentation Manager function can be called with 
  7404. hWndTo set to HWND_DESKTOP to convert points from the window to the screen. The 
  7405. points in the array should be long points, the function WinMakePoints may be 
  7406. called to convert word points into long points. 
  7407.  
  7408.  
  7409. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7410.  
  7411. Windows 
  7412.  
  7413. VOID ClipCursor(lpClipRect);
  7414.      LPRECT lpClipRect;
  7415.  
  7416. Presentation Manager 
  7417.  
  7418. No equivalent. 
  7419.  
  7420. This Windows function restricts the mouse cursor to a given rectangle on the 
  7421. screen. 
  7422.  
  7423.  
  7424. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7425.  
  7426. Windows 
  7427.  
  7428. BOOL CloseClipboard();
  7429.  
  7430. Presentation Manager 
  7431.  
  7432. BOOL WinCloseClipbrd(hab)
  7433.      HAB hab;    /* handle to an anchor block */
  7434. This Windows function closes the clipboard. The Presentation Manager function 
  7435. is equivalent. 
  7436.  
  7437.  
  7438. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7439.  
  7440. Windows 
  7441.  
  7442. HANDLE CloseMetaFile(hDC);
  7443.        HANDLE hDC;
  7444.  
  7445. Presentation Manager 
  7446.  
  7447. BOOL GpiDestroyPS(hps)
  7448.      HPS hps;
  7449.  
  7450. HMF DevCloseDC(hdc)
  7451.     HDC hdc;    /* handle to device context */
  7452.  
  7453. This Windows function closes the metafile and creates a metafile handle. In PM, 
  7454. if a presentation space is associated with the hDC, it should be reassociated 
  7455. to another display context or deleted using GpiDestroyPS. DevCloseDC then ends 
  7456. the metafile definition and returns the handle to the metafile. 
  7457.  
  7458.  
  7459. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7460.  
  7461. Windows 
  7462.  
  7463. VOID CloseSound();
  7464.  
  7465. Presentation Manager 
  7466.  
  7467. No equivalent 
  7468.  
  7469. This Windows function closes play device after flushing voice queues and 
  7470. freeing buffers. There is no Presentation Manager equivalent; sound functions 
  7471. are not supported in Presentation Manager. 
  7472.  
  7473.  
  7474. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7475.  
  7476. Windows 
  7477.  
  7478. INT CloseWindow(hWnd);
  7479.     HWND hWnd;
  7480.  
  7481. Presentation Manager 
  7482.  
  7483. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  7484.         HWND hwnd;
  7485.         USHORT msg;
  7486.         MPARAM mp1;
  7487.         MPARAM mp2;
  7488.  
  7489. This Windows function closes the specified window. The Presentation Manager 
  7490. application should send a WM_SYSCOMMAND message to the frame window with 
  7491. SC_MINIMIZE in the low word of mp1. This will iconize the window. 
  7492.  
  7493. See Also:
  7494.  
  7495.  WinSendMsg 
  7496.  
  7497.  
  7498. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7499.  
  7500. Windows 
  7501.  
  7502. SHORT CombineRgn(hDest, hSrc1, hSrc2, wMode);
  7503.       HRGN hDest;
  7504.       HRGN hSrc1;
  7505.       HRGN hSrc2;
  7506.       SHORT wMode;
  7507.  
  7508. Presentation Manager 
  7509.  
  7510. LONG GpiCombineRegion(hps, hrgnDest, hrgnSrc1, hrgnSrc2, cmdMode)
  7511.      HPS hps;
  7512.      HRGN hrgnDest;
  7513.      HRGN hrgnSrc1;
  7514.      HRGN hrgnSrc2;
  7515.      LONG cmdMode;
  7516.  
  7517. This Windows function combines, using wMode function, two existing regions into 
  7518. a new region. The Presentation Manager function performs the same function. All 
  7519. the regions specified must belong to the same device class (as specified by 
  7520. hDC). The lMode parameter has changed, see translations for RGN_* symbols. 
  7521.  
  7522.  
  7523. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7524.  
  7525. Windows 
  7526.  
  7527. HANDLE CopyMetaFile(hScrMetaFile, lpFileName);
  7528.        HANDLE hScrMetaFile;
  7529.        LPSTR lpFileName;
  7530.  
  7531. Presentation Manager 
  7532.  
  7533. HMF GpiCopyMetaFile(hmfSrc)
  7534.     HMF hmfSrc;
  7535.  
  7536. BOOL GpiSaveMetaFile(hmf, pszFilename)
  7537.      HMF hmf;
  7538.      PSZ pszFilename;
  7539.  
  7540. This Windows function copies source metafile to lpFileName and returns the new 
  7541. metafile. In Presentation Manager, GpiCopyMetaFile copies the metafile to 
  7542. another in memory metafile structure. This structure can then be written to a 
  7543. file using the GpiSaveMetaFile call which creates the file and frees the 
  7544. resources given by hMF. 
  7545.  
  7546.  
  7547. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7548.  
  7549. Windows 
  7550.  
  7551. INT CopyRect(lpDest, lpSrc);
  7552.     LPRECT lpDest;
  7553.     LPRECT lpSrc;
  7554.  
  7555. Presentation Manager 
  7556.  
  7557. BOOL WinCopyRect(hab, prclDst, prclSrc)
  7558.      HAB hab;
  7559.      PRECTL prclDst;
  7560.      PRECTL prclSrc;
  7561.  
  7562. This Windows function makes a copy of an existing rectangle. The Presentation 
  7563. Manager function is equivalent. 
  7564.  
  7565.  
  7566. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7567.  
  7568. Windows 
  7569.  
  7570. INT CountClipboardFormats();
  7571.  
  7572. Presentation Manager 
  7573.  
  7574. USHORT WinEnumClipbrdFmts(hab, fmt)
  7575.        HAB hab;
  7576.        USHORT fmt;
  7577.  
  7578. This Windows function retrieves a count of the number of formats the clipboard 
  7579. can render. In Presentation Manager, the application can use the enumeration 
  7580. function to count the number of formats. 
  7581.  
  7582.  
  7583. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7584.  
  7585. Windows 
  7586.  
  7587. WORD CountVoiceNotes(wVoice);
  7588.      WORD wVoice;
  7589.  
  7590. Presentation Manager 
  7591.  
  7592. No equivalent 
  7593.  
  7594. This Windows function returns number of notes in voice queue wVoice. There is 
  7595. no Presentation Manager equivalent; sound functions are not supported in 
  7596. Presentation Manager. 
  7597.  
  7598.  
  7599. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7600.  
  7601. Windows 
  7602.  
  7603. HBITMAP CreateBitmap(wWidth, wHeight, cPlanes, cBitsPixel, lpBits);
  7604.         SHORT wWidth;
  7605.         SHORT wHeight;
  7606.         BYTE cPlanes;
  7607.         BYTE cBitsPixel;
  7608.         LPSTR lpBits;
  7609.  
  7610. Presentation Manager 
  7611.  
  7612. HBITMAP GpiCreateBitmap(hps, pbmphNew, flOptions, pbInitData, ppmiInfoData)
  7613.         HPS hps;
  7614.         PBITMAPINFOHEADER pbmphNew;
  7615.         ULONG flOptions;
  7616.         PBYTE pbInitData;
  7617.         PBITMAPINFO ppmiInfoData;
  7618.  
  7619. The Windows function creates a bitmap having the specified width, height, and 
  7620. bit pattern. The Presentation Manager function creates a bitmap and returns the 
  7621. handle. If hDC is not null, Presentation Manager attempts to use the storage in 
  7622. the specified device for the bitmap. lpInfo contains the format of the bitmap, 
  7623. and lUsage contains a 0 in bit position 2 if the bitmap can be discarded. 
  7624.  
  7625.  
  7626. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7627.  
  7628. Windows 
  7629.  
  7630. HBITMAP CreateBitmapIndirect(lpBitMap);
  7631.         BITMAP FAR * lpBitMap;
  7632.  
  7633. Presentation Manager 
  7634.  
  7635. HBITMAP GpiCreateBitmap(hps, pbmphNew, flOptions, pbInitData, ppmiInfoData)
  7636.         HPS hps;
  7637.         PBITMAPINFOHEADER pbmphNew;
  7638.         ULONG flOptions;
  7639.         PBYTE pbInitData;
  7640.         PBITMAPINFO ppmiInfoData;
  7641.  
  7642. The Windows function creates a bitmap with the width, height and bit pattern 
  7643. given by lpBitMap. The Presentation Manager function creates a bitmap and 
  7644. returns the handle. If hDC is not null, Presentation Manager attempts to use 
  7645. the storage in the specified device for the bitmap. lpInfo contains the format 
  7646. of the bitmap, and lUsage contains a 0 in bit position 2 if the bitmap can be 
  7647. discarded. 
  7648.  
  7649. See Also:
  7650.  
  7651.  GpiCreateBitmap 
  7652.  
  7653.  
  7654. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7655.  
  7656. Windows 
  7657.  
  7658. HBRUSH CreateBrushIndirect(lpLogBrush);
  7659.        LOGBRUSH FAR * lpLogBrush;
  7660.  
  7661. Presentation Manager No equivalent p. The Windows function creates a logical 
  7662. brush with the style, color, nd pattern given by lpLogBrush. In Presentation 
  7663. Manager, brushes aren't objects, however, there is a structure called 
  7664. AREABUNDLE which holds the attributes used for interiors and bitblts. 
  7665.  
  7666. See Also:
  7667.  
  7668.  AREABUNDLE 
  7669.  
  7670.  
  7671. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7672.  
  7673. Windows 
  7674.  
  7675. VOID CreateCaret(hwnd, hBitMap, wWidth, wHeight);
  7676.      HWND hwnd;
  7677.      HBITMAP hBitMap;
  7678.      INT wWidth;
  7679.      INT wHeight;
  7680.  
  7681. Presentation Manager 
  7682.  
  7683. BOOL WinCreateCursor(hwnd, x, y, cx, cy, fs, prclClip)
  7684.      HWND hwnd;
  7685.      SHORT x;
  7686.      SHORT y;
  7687.      SHORT cx;
  7688.      SHORT cy;
  7689.      USHORT fs;
  7690.      PRECTL prclClip;
  7691. This Windows function creates caret for hWnd using hBitmap, or, solid cursor if 
  7692. hBitmap is NULL. In Presentation Manager, text carets are restricted to be of 
  7693. certain styles, instead of a general bitmap. The wType parameter should be set 
  7694. to one of the following styles: CURSOR_SOLID, CURSOR_HALFTONE, CURSOR_RECT, 
  7695. CURSOR_FRAME, and CURSOR_FLASH. 
  7696.  
  7697.  
  7698. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7699.  
  7700. Windows 
  7701.  
  7702. HBITMAP CreateCompatibleBitmap(hDC, wWidth, wHeight);
  7703.         HDC hDC;
  7704.         SHORT wWidth;
  7705.         SHORT wHeight;
  7706.  
  7707. short SetMapMode(hDC, wMapMode);
  7708.       HDC hDC;
  7709.       SHORT wMapMode;
  7710.  
  7711. Presentation Manager 
  7712.  
  7713. BOOL DevQueryCaps(hdc, lStartitem, cItems, alItems)
  7714.      HDC hdc;            /* handle to device context      */
  7715.      LONG lStartitem;    /* first item to be returned     */
  7716.      LONG cItems;        /* count of items to be returned */
  7717.      PLONG alItems;      /* array of elements             */
  7718.  
  7719. LONG GpiBitBlt(hpsTarg, hpsSrc, cPoints, paptlPoints, lRop, flOptions)
  7720.      HPS hpsTarg;
  7721.      HPS hpsSrc;
  7722.      LONG cPoints;
  7723.      PPOINTL paptlPoints;
  7724.      LONG lRop;
  7725.      LONG flOptions;
  7726.  
  7727. HBITMAP GpiCreateBitmap(hps, pbmphNew, flOptions, pbInitData, ppmiInfoData)
  7728.         HPS hps;
  7729.         PBITMAPINFOHEADER pbmphNew;
  7730.         ULONG flOptions;
  7731.         PBYTE pbInitData;
  7732.         PBITMAPINFO ppmiInfoData;
  7733.  
  7734. BOOL GpiQueryDeviceBitmapFormats(hps, clData, alData)
  7735.      HPS hps;
  7736.      LONG clData;
  7737.      PLONG alData;
  7738.  
  7739. The Windows function creates a bitmap that is compatible with the device 
  7740. specified by hDC. The Presentation Manager function GpiQueryDeviceBitmapFormats 
  7741. can be used to find the most natural format for the bitmap supported by the 
  7742. device. lCount takes even numbers or zero and lData should be a pointer to a 
  7743. long where the number of planes and the number of bits per pixel will be 
  7744. stored. The GpiCreateBitmap function then can be used to create a bitmap and 
  7745. return the handle. If hDC is not null, PM attempts to use the storage in the 
  7746. specified device for the bitmap. lpInfo contains the format of the bitmap, and 
  7747. lUsage contains a 0 in bit position 2 if the bitmap can be discarded. 
  7748.  
  7749. See Also:
  7750.  
  7751.  DevQueryCaps GpiBitBlt GpiCreateBitmap SetMapMode 
  7752.  
  7753.  
  7754. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7755.  
  7756. Windows 
  7757.  
  7758. HDC CreateCompatibleDC(hDC);
  7759.     HDC hDC;
  7760.  
  7761. Presentation Manager 
  7762.  
  7763. HDC DevOpenDC(hab, type, pszToken, count, pbData, hdcComp)
  7764.     HAB hab;                /* handle to the anchor block          */
  7765.     LONG type;              /* type of device context              */
  7766.     PSZ pszToken;           /* device information token            */
  7767.     LONG count;             /* number of elements supplied         */
  7768.     PDEVOPENDATA pbData;    /* pointer to device context structure */
  7769.     HDC hdcComp;            /* handle to compatible device context */
  7770.  
  7771. HPS GpiCreatePS(hab, hdc, psizl, fOptions)
  7772.     HAB hab;
  7773.     HDC hdc;
  7774.     PSIZEL psizl;
  7775.     ULONG fOptions;
  7776.  
  7777. This Windows function creates a memory device context that is compatible with 
  7778. the device specified by the hDC parameter. The Presentation Manager function 
  7779. also creates a display context. lType specifies the type of the device context 
  7780. to be created and should be OD_MEMORY. Before drawing may be done to the 
  7781. device, a presentation space must be created and associated with the DC. To do 
  7782. this, call GpiCreatePS. 
  7783.  
  7784. See Also:
  7785.  
  7786.  GpiCreatePS 
  7787.  
  7788.  
  7789. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7790.  
  7791. Windows 
  7792.  
  7793. HDC CreateDC(lpDriverName, lpDeviceName, lpOutput, lpInitData);
  7794.     LPSTR lpDriverName;
  7795.     LPSTR lpDeviceName;
  7796.     LPSTR lpOutput;
  7797.     LPSTR lpInitData;
  7798.  
  7799. Presentation Manager 
  7800.  
  7801. HDC DevOpenDC(hab, type, pszToken, count, pbData, hdcComp)
  7802.     HAB hab;                /* handle to the anchor block          */
  7803.     LONG type;              /* type of device context              */
  7804.     PSZ pszToken;           /* device information token            */
  7805.     LONG count;             /* number of elements supplied         */
  7806.     PDEVOPENDATA pbData;    /* pointer to device context structure */
  7807.     HDC hdcComp;            /* handle to compatible device context */
  7808.  
  7809. HPS GpiCreatePS(hab, hdc, psizl, fOptions)
  7810.     HAB hab;
  7811.     HDC hdc;
  7812.     PSIZEL psizl;
  7813.     ULONG fOptions;
  7814.  
  7815. This Windows function creates a display context for the specified device. The 
  7816. Presentation Manager function also creates a display context. lType specifies 
  7817. the type of the device context to be created: OD_QUEUED, OD_DIRECT, OD_INFO, 
  7818. OD_METAFILE, OD_MEMORY. Before drawing may be done to the device, a 
  7819. presentation space must be created and associated with the DC. To do this, call 
  7820. GpiCreatePS with pSizeL pointing to two longs which are 0, and lOptions with 
  7821. bit 14 set to 1 and all other bits set to 0. 
  7822.  
  7823. See Also:
  7824.  
  7825.  GpiCreatePS 
  7826.  
  7827.  
  7828. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7829.  
  7830. Windows 
  7831.  
  7832. HWND CreateDialog(hInstance, lpDialogTemplateName, hWndParent, lpDialogFunc)
  7833.      HANDLE hInstance;
  7834.      LPSTR  lpTemplateName;
  7835.      HWND hWndParent;
  7836.      FARPROC lpDialogFunc;
  7837.  
  7838. Presentation Manager 
  7839.  
  7840. USHORT DosLoadModule(pszFailName, cbFileName, pszModName, phMod)
  7841.        PSZ pszFailName;   /* pointer to buffer for failure name    */
  7842.        USHORT cbFileName; /* length of failure-name buffer         */
  7843.        PSZ pszModName;    /* pointer to module name                */
  7844.        PHMODULE phmod;    /* pointer to variable for module handle */
  7845.  
  7846. BOOL WinDestroyWindow(hwnd)
  7847.      HWND hwnd;
  7848.  
  7849. HWND WinLoadDlg(hwndParent, hwndOwner, pfnDlgProc, hmod, idDlg, pCreateParams),
  7850.      HWND hwndParent;
  7851.      HWND hwndOwner;
  7852.      PFNWP pfnDlgProc;
  7853.      HMODULE hmod;
  7854.      USHORT idDlg;
  7855.      PVOID pCreateParams;
  7856.  
  7857. USHORT WinProcessDlg(hwndDlg)
  7858.        HWND hwndDlg;
  7859.  
  7860. The Windows function creates a modeless dialog box that has the size, style, 
  7861. and controls defined by the dialog-box template given by lpTemplateName 
  7862. parameter. The Presentation Manager function creates a dialog window from the 
  7863. dialog template in a resource. It returns the handle of the dialog window 
  7864. created. An invisible dialog window is created unless the WS_VISIBLE window 
  7865. style is specified in the first dialog item definition within the dialog 
  7866. template. 
  7867.  
  7868. See Also:
  7869.  
  7870.  DosLoadModule WinDestroyWindow WinProcessDlg 
  7871.  
  7872.  
  7873. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7874.  
  7875. Windows 
  7876.  
  7877. HWND CreateDialogIndirect(hInstance, lpDialogTemplateName, hWndParent,
  7878.                           lpDialogFunc)
  7879.      HANDLE hInstance;
  7880.      LPSTR  lpTemplateName;
  7881.      HWND hWndParent;
  7882.      FARPROC lpDialogFunc;
  7883.  
  7884. Presentation Manager 
  7885.  
  7886. USHORT DosLoadModule(pszFailName, cbFileName, pszModName, phMod)
  7887.        PSZ pszFailName;   /* pointer to buffer for failure name    */
  7888.        USHORT cbFileName; /* length of failure-name buffer         */
  7889.        PSZ pszModName;    /* pointer to module name                */
  7890.        PHMODULE phmod;    /* pointer to variable for module handle */
  7891.  
  7892. HWND WinCreateDlg(hwndParent, hwndOwner, pfnDlgProc, pdlgt, pCreateParams),
  7893.      HWND hwndParent;
  7894.      HWND hwndOwner;
  7895.      PFNWP pfnDlgProc;
  7896.      PDLGTEMPLATE pfnDlgProc;
  7897.      PVOID pCreateParams;
  7898.  
  7899. BOOL WinDestroyWindow(hwnd)
  7900.      HWND hwnd;
  7901.  
  7902. USHORT WinProcessDlg(hwndDlg)
  7903.        HWND hwndDlg;
  7904.  
  7905. The Windows function creates a modeless dialog box that has the size, style, 
  7906. and controls defined by the dialog-box template given by lpTemplateName 
  7907. parameter. The Presentation Manager function creates a dialog window from the 
  7908. dialog template. It returns the handle of the dialog window created. An 
  7909. invisible dialog window is created unless the WS_VISIBLE window style is 
  7910. specified in the first dialog item definition within the dialog template. 
  7911.  
  7912. See Also:
  7913.  
  7914.  DosLoadModule WinDestroyWindow WinProcessDlg, WinSubstituteStrings 
  7915.  
  7916.  
  7917. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7918.  
  7919. Windows 
  7920.  
  7921. HBITMAP CreateDiscardableBitmap(hDC, X, Y);
  7922.         HDC hDC;
  7923.         SHORT X;
  7924.         SHORT Y;
  7925.  
  7926. Presentation Manager 
  7927.  
  7928. HBITMAP GpiCreateBitmap(hps, pbmphNew, flOptions, pbInitData, ppmiInfoData)
  7929.         HPS hps;
  7930.         PBITMAPINFOHEADER pbmphNew;
  7931.         ULONG flOptions;
  7932.         PBYTE pbInitData;
  7933.         PBITMAPINFO ppmiInfoData;
  7934.  
  7935. The Windows function creates a discardable bitmap. The Presentation Manager 
  7936. function creates a bitmap and returns the handle. If hDC is not null, 
  7937. Presentation Manager attempts to use the storage in the specified device for 
  7938. the bitmap. lpInfo contains the format of the bitmap, and lUsage contains a 0 
  7939. in bit position 2 if the bitmap can be discarded. 
  7940.  
  7941. See Also:
  7942.  
  7943.  GpiCreateBitmap 
  7944.  
  7945.  
  7946. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7947.  
  7948. Windows 
  7949.  
  7950. HRGN CreateEllipticRgn(X1, Y1, X2, Y2);
  7951.      SHORT X1;
  7952.      SHORT Y1;
  7953.      SHORT X2;
  7954.      SHORT Y2;
  7955.  
  7956. Presentation Manager No equivalent 
  7957.  
  7958. This Windows function creates an elliptical region whose bounding rectangle is 
  7959. defined by X1, Y1, X2, Y2. In Presentation Manager, there is no equivalent 
  7960. function. Complex regions can be created from the union of many rectangles. 
  7961.  
  7962.  
  7963. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  7964.  
  7965. Windows 
  7966.  
  7967. HFONT CreateFont(wHeight, wWidth, wEscapement, wOrientation, wWeight, cItalic,
  7968.                  cUnderline, cStrikeOut, cCharSet, cOutputPrecision,
  7969.                  cClipPrecision, cQuality, cPitch, lpFaceName);
  7970.       SHORT wHeight;
  7971.       SHORT wWidth;
  7972.       SHORT wEscapement;
  7973.       SHORT wOrientation;
  7974.       SHORT wWeight;
  7975.       BYTE cItalic;
  7976.       BYTE cUnderline;
  7977.       BYTE cStrikeOut;
  7978.       BYTE cCharSet;
  7979.       BYTE cOutputPrecision;
  7980.       BYTE cClipPrecision;
  7981.       BYTE cQuality;
  7982.       BYTE cPitch;
  7983.       LPSTR lpFaceName;
  7984.  
  7985. Presentation Manager 
  7986.  
  7987. BOOL GpiCreateLogFont(hps, pchName, lcid, pfat)
  7988.      HPS hps;
  7989.      PSTR8 pchName;
  7990.      LONG lcid;
  7991.      PFATTRS pfat;
  7992.  
  7993. BOOL GpiLoadFonts(hab, pszFilename).
  7994.      HAB hab;
  7995.      PSZ pszFilename;
  7996.  
  7997. WORD GpiQueryFonts(hPS, fOptions, pszFacename, pcFonts, cbMetrics, pfmMetrics);
  7998.      HPS hPS;
  7999.      ULONG fOptions;
  8000.      PSZ pszFacename;
  8001.      PLONG pcFonts;
  8002.      LONG cbMetrics;
  8003.  
  8004. This Windows function selects a font from the fonts available in GDI's pool of 
  8005. physical fonts which is closest to the specified characteristics. If no exact 
  8006. match is found, it provides an alternate whose characteristics match as many of 
  8007. the requested characteristics as possible. This font can then be selected into 
  8008. any DC. The Presentation Manager function should be called with pLogName set to 
  8009. a descriptive name for the font and lFontId set to a number between 1 and 254 
  8010. which will be the id of the font. This font id must not conflict with id's 
  8011. assigned to other objects (such as bitmaps) which have been loaded and 
  8012. registered. Note that if no font exactly matches the requirements, the system 
  8013. font will be used. This font can only be selected into the PS under which it 
  8014. was created. One way to emulate the 'best-fit' functionality of the Windows 
  8015. function is to load the dynamic link library of the appropriate font using the 
  8016. GpiLoadFonts function. Then, call GpiQueryFont to load the array of font 
  8017. metrics. Using these metrics, determine the font closest to the requirements 
  8018. and set the lMatch fields in the FATTR structure to the lMatch field in the 
  8019. FONTMETRICS structures pointing to the desired font. Note that the definition 
  8020. of a logical font has changed, see also translation of LOGFONT. Additional 
  8021. fields are present in the corresponding Presentation Manager structure FATTRS. 
  8022.  
  8023. See Also:
  8024.  
  8025.  GpiLoadFonts, GpiQueryFonts, FATTRS, FONTMETRICS, GpiSetCharSet, 
  8026. WinGetLastError, LOGFONT, TEXTMETRIC 
  8027.  
  8028.  
  8029. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8030.  
  8031. Windows 
  8032.  
  8033. HFONT CreateFontIndirect(lpLogFont);
  8034.       LOGFONT FAR * lpLogFont;
  8035.  
  8036. Presentation Manager 
  8037.  
  8038. BOOL GpiCreateLogFont(hps, pchName, lcid, pfat)
  8039.      HPS hps;
  8040.      PSTR8 pchName;
  8041.      LONG lcid;
  8042.      PFATTRS pfat;
  8043.  
  8044. BOOL GpiLoadFonts(hab, pszFilename).
  8045.      HAB hab;
  8046.      PSZ pszFilename;
  8047.  
  8048. WORD GpiQueryFonts(hPS, fOptions, pszFacename, pcFonts, cbMetrics, pfmMetrics);
  8049.      HPS hPS;
  8050.      ULONG fOptions;
  8051.      PSZ pszFacename;
  8052.      PLONG pcFonts;
  8053.      LONG cbMetrics;
  8054.  
  8055. This Windows function creates a logical font with characteristics given by 
  8056. lpLogFont. If it fails to find an exact font, it provides an alternate whose 
  8057. characteristics match as many of the requested characteristics as possible. 
  8058. This font can be selected into any DC. This Presentation Manager function 
  8059. should be called with pLogName set to a descriptive name for the font and 
  8060. lFontId set to a number between 1 and 254 which will be the id of the font. 
  8061. This font id must not conflict with id's assigned to other objects (such as 
  8062. bitmaps) which have been loaded and registered. The definition of a logical 
  8063. font has changed, see translation of LOGFONT. Note that if no font exactly 
  8064. matches the requirements, the system font will be used. This font can only be 
  8065. selected into the PS under which it was created. One way to emulate the 
  8066. 'best-fit' functionality of the Windows function is to load the dynamic link 
  8067. library of the appropriate font using the GpiLoadFonts function. Then, call 
  8068. GpiQueryFont to load the array of font metrics. Using these metrics, determine 
  8069. the font closest to the requirements and set the lMatch fields in the FATTR 
  8070. structure to the lMatch field in the FONTMETRICS structures pointing to the 
  8071. desired font. Note that the definition of a logical font has changed, see also 
  8072. translation of LOGFONT. 
  8073.  
  8074. See Also:
  8075.  
  8076.  GpiLoadFonts, GpiQueryFonts, FATTRS, FONTMETRICS, WinGetLastError, LOGFONT, 
  8077. TEXTMETRIC 
  8078.  
  8079.  
  8080. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8081.  
  8082. Windows 
  8083.  
  8084. HBRUSH CreateHatchBrush(wIndex, rgbColor);
  8085.        SHORT wIndex;
  8086.        DWORD rgbColor;
  8087.  
  8088. Presentation Manager 
  8089.  
  8090. No equivalent 
  8091.  
  8092. The Windows function creates a logical brush having the hatched pattern and 
  8093. color. In PM, brushes aren't objects, however, there is a structure called 
  8094. AREABUNDLE which holds the attributes used for interiors and bitblts. To create 
  8095. a hatched area bundle, the following fields in AREABUNDLE should be set: lColor 
  8096. should be either the RGB color or index into the loaded color table, usSet 
  8097. should be 0, and usSymbol should be the hatch constant (see translations for 
  8098. HS_* constants). 
  8099.  
  8100. See Also:
  8101.  
  8102.  AREABUNDLE 
  8103.  
  8104.  
  8105. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8106.  
  8107. Windows 
  8108.  
  8109. HDC CreateIC(lpDriverName, lpDeviceName, lpOutput, lpInitData);
  8110.     LPSTR lpDriverName;
  8111.     LPSTR lpDeviceName;
  8112.     LPSTR lpOutput;
  8113.     LPSTR lpInitData;
  8114.  
  8115. Presentation Manager 
  8116.  
  8117. HDC DevOpenDC(hab, type, pszToken, count, pbData, hdcComp)
  8118.     HAB hab;                /* handle to the anchor block          */
  8119.     LONG type;              /* type of device context              */
  8120.     PSZ pszToken;           /* device information token            */
  8121.     LONG count;             /* number of elements supplied         */
  8122.     PDEVOPENDATA pbData;    /* pointer to device context structure */
  8123.     HDC hdcComp;            /* handle to compatible device context */
  8124.  
  8125. HPS WinGetPS(hwnd)
  8126.     HWND hwnd;
  8127.  
  8128. This Windows function creates an information context for the specified device. 
  8129. The Presentation Manager function also creates an information context. lType 
  8130. specifies the type of the device context to be created:   OD_QUEUED   OD_DIRECT 
  8131. OD_INFO   OD_METAFILE   OD_MEMORY 
  8132.  The Windows function is called in many instances to get information about the 
  8133.  screen, such as metrics about the system font. In Presentation Manager, the 
  8134.  application can get this information by calling WinGetPS with HWND_DESKTOP for 
  8135.  hWnd. Using this function is fast and efficient. 
  8136.  
  8137.  
  8138. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8139.  
  8140. Windows 
  8141.  
  8142. HMENU CreateMenu();
  8143.  
  8144. Presentation Manager 
  8145.  
  8146. HWND WinCreateWindow(hwndParent, pszClass, pszName, flStyle, x, y, cx, cy,
  8147.                      parent, hwndOwner, hwndInsertBehind, id, pCtlData,
  8148.                      pPresParams)
  8149.      HWND hwndParent;
  8150.      PSZ pszClass;
  8151.      PSZ pszName;
  8152.      ULONG flStyle;
  8153.      SHORT x;
  8154.      SHORT y;
  8155.      SHORT cx;
  8156.      SHORT cy;
  8157.      HWND hwndOwner;
  8158.      HWND hwndInsertBehind;
  8159.      USHORT id;
  8160.      PVOID pCtlData;
  8161.      PVOID pPresParams;
  8162.  
  8163. This Windows function creates an empty menu. In Presentation Manager, call 
  8164. WinCreateWindow with FC_MENU for the class and HWND_DESKTOP for hDesktop. 
  8165.  
  8166.  
  8167. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8168.  
  8169. Windows 
  8170.  
  8171. HDC CreateMetaFile(lpFileName);
  8172.     LPSTR lpFileName;
  8173.  
  8174. Presentation Manager 
  8175.  
  8176. HDC DevOpenDC(hab, type, pszToken, count, pbData, hdcComp)
  8177.     HAB hab;                /* handle to the anchor block          */
  8178.     LONG type;              /* type of device context              */
  8179.     PSZ pszToken;           /* device information token            */
  8180.     LONG count;             /* number of elements supplied         */
  8181.     PDEVOPENDATA pbData;    /* pointer to device context structure */
  8182.     HDC hdcComp;            /* handle to compatible device context */
  8183.  
  8184. HPS GpiCreatePS(hab, hdc, psizl, fOptions)
  8185.     HAB hab;
  8186.     HDC hdc;
  8187.     PSIZEL psizl;
  8188.     ULONG fOptions;
  8189.  
  8190. This Windows function creates a metafile display context. In Presentation 
  8191. Manager, DevOpenDC can be called with lType set to OD_METAFILE, lLength set to 
  8192. the size of pData, and pData pointing to a NULL pointer followed by the file 
  8193. name. The application must then call GpiCreatePS to associate the metafile DC 
  8194. with a presentation space. This should be called with pSize pointing to two 
  8195. longs which are 0, and lOptions with bit 14 set to 1 and all other bits set to 
  8196. 0. 
  8197.  
  8198. See Also:
  8199.  
  8200.  GpiCreatePS 
  8201.  
  8202.  
  8203. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8204.  
  8205. Windows 
  8206.  
  8207. HBRUSH CreatePatternBrush(hBitmap);
  8208.        HBITMAP hBitmap;
  8209.  
  8210. Presentation Manager 
  8211.  
  8212. BOOL GpiSetBitmapId(hps, hbm, lcid)
  8213.      HPS hps;
  8214.      HBITMAP hbm;
  8215.      LONG lcid;
  8216.  
  8217. The Windows function creates a logical brush having the specified style, width, 
  8218. and color. In PM, brushes aren't objects, however, there is a structure called 
  8219. AREABUNDLE which holds the attributes used for interiors and bitblts. To create 
  8220. a area bundle from a bitmap, first call GpiSetBitmapId to associated the value 
  8221. in lId to the bitmap. lId must be a value between 64 and 239 which does not 
  8222. conflict with other bitmaps or fonts which have been registered. The 
  8223. application should then set the following fields in the AREABUNDLE structure: 
  8224. lColor should be set to the correct index into the color table, usSet should be 
  8225. set to lcid, and field usSymbol should be set to 65. 
  8226.  
  8227. See Also:
  8228.  
  8229.  AREABUNDLE 
  8230.  
  8231.  
  8232. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8233.  
  8234. Windows 
  8235.  
  8236. HPEN CreatePen(wStyle, wWidth, rgbColor);
  8237.      SHORT wStyle;
  8238.      SHORT wWidth;
  8239.      DWORD rgbColor;
  8240.  
  8241. Presentation Manager 
  8242.  
  8243. No equivalent 
  8244.  
  8245. This Windows function creates a logical pen having the specified style, width, 
  8246. and color. Because pens are not considered objects in Presentation Manager, 
  8247. there is no equivalent function. There is, however, the structure LINEBUNDLE 
  8248. defined in Presentation Manager which holds the attributes which Windows 
  8249. associates with pens. 
  8250.  
  8251. See Also:
  8252.  
  8253.  LINEBUNDLE 
  8254.  
  8255.  
  8256. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8257.  
  8258. Windows 
  8259.  
  8260. HPEN CreatePenIndirect(lpLogPen);
  8261.      LOGPEN FAR * lpLogPen;
  8262.  
  8263. Presentation Manager 
  8264.  
  8265. No equivalent 
  8266.  
  8267. This Windows function creates a logical pen with the style, width, and color 
  8268. given by lpLogPen. There is, however, the structure LINEBUNDLE defined in 
  8269. Presentation Manager which holds the attributes which Windows associates with 
  8270. pens. 
  8271.  
  8272. See Also:
  8273.  
  8274.  LINEBUNDLE 
  8275.  
  8276.  
  8277. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8278.  
  8279. Windows 
  8280.  
  8281. HRGN CreatePolygonRgn(lpPoint, wCount, wPolyMode);
  8282.       LPPOINT lpPoint;
  8283.       SHORT wCount;
  8284.       SHORT wPolyMode;
  8285.  
  8286. Presentation Manager 
  8287.  
  8288. No equivalent 
  8289.  
  8290. This Windows function creates a polygonal region having wCount vertices as 
  8291. given by lpPoint. In Presentation Manager, there is no equivalent function. 
  8292. Complex regions can be created from the union of many rectangles. 
  8293.  
  8294.  
  8295. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8296.  
  8297. Windows 
  8298.  
  8299. HRGN CreateRectRgn(X1, Y1, X2, Y2);
  8300.      SHORT X1;
  8301.      SHORT Y1;
  8302.      SHORT X2;
  8303.      SHORT Y2;
  8304.  
  8305. Presentation Manager 
  8306.  
  8307. HRGN GpiCreateRegion(hps, cbRectl, prcl)
  8308.      HPS hps;
  8309.      LONG cbRectl;
  8310.      PRECTL prcl;
  8311.  
  8312. This Windows function creates a rectangular region. The Presentation Manager 
  8313. function creates a region compatible with the specified display context. 
  8314. lNumRects contains the number of rectangles in the pRectl array. The region is 
  8315. created by taking the union of the rectangles specified (if no rectangles are 
  8316. specified, an empty region is created). 
  8317.  
  8318.  
  8319. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8320.  
  8321. Windows 
  8322.  
  8323. HBRUSH CreateSolidBrush(rgbColor);
  8324.        DWORD rgbColor;
  8325.  
  8326. Presentation Manager 
  8327.  
  8328. No equivalent 
  8329.  
  8330. The Windows function creates a logical brush having the specified solid color. 
  8331. In Presentation Manager, brushes aren't objects, however, there is a type 
  8332. called AREABUNDLE which holds the attributes used for interiors and bitblts. To 
  8333. create a solid area bundle, the following fields in AREABUNDLE should be set: 
  8334. lColor should be either the RGB color or index into the loaded color table, 
  8335. usSet should be 0, and usSymbol should be PATSYM_SOLID. 
  8336.  
  8337. See Also:
  8338.  
  8339.  AREABUNDLE 
  8340.  
  8341.  
  8342. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8343.  
  8344. Windows 
  8345.  
  8346. HWND CreateWindow(lpClassName, lpWindowName, dwStyle, xPos, yPos, Width,
  8347.      Height, hwndParent, hMenu, hModule, lpParam);
  8348.      LPSTR lpClassName;
  8349.      LPSTR lpWindowName;
  8350.      DWORD dwStyle;
  8351.      INT xPos;
  8352.      INT yPos;
  8353.      INT Width;
  8354.      INT Height;
  8355.      HWND hwndParent;
  8356.      HMENU hMenu;
  8357.      HANDLE hModule;
  8358.      LPSTR lpParam;
  8359.  
  8360. Presentation Manager 
  8361.  
  8362. HWND WinCreateStdWindow(hwndParent, flStyle, pCtlData, pszClientClass,
  8363.      pszTitle, styleClient, hmod, idResources, phwndClient);
  8364.      HWND hwndParent;
  8365.      ULONG flStyle;
  8366.      PVOID pCtlData;
  8367.      PSZ pszClientClass;
  8368.      PSZ pszTitle;
  8369.      ULONG styleClient;
  8370.      HMODULE hmod;
  8371.      USHORT idResources;
  8372.      PHWND phwndClient;
  8373.  
  8374. HWND WinCreateWindow(hwndParent, pszClass, pszName, flStyle, x, y, cx, cy,
  8375.                      parent, hwndOwner, hwndInsertBehind, id, pCtlData,
  8376.                      pPresParams)
  8377.      HWND hwndParent;
  8378.      PSZ pszClass;
  8379.      PSZ pszName;
  8380.      ULONG flStyle;
  8381.      SHORT x;
  8382.      SHORT y;
  8383.      SHORT cx;
  8384.      SHORT cy;
  8385.      HWND hwndOwner;
  8386.      HWND hwndInsertBehind;
  8387.      USHORT id;
  8388.      PVOID pCtlData;
  8389.      PVOID pPresParams;
  8390.  
  8391. BOOL WinSetWindowPos(hwnd, hwndInsertBehind, x, y, cx, cy, fs)
  8392.      HWND hwnd;
  8393.      HWND hwndInsertBehind;
  8394.      SHORT x;
  8395.      SHORT y;
  8396.      SHORT cx;
  8397.      SHORT cy;
  8398.      USHORT fs;
  8399.  
  8400. BOOL WinShowWindow(hwnd, fShow)
  8401.      HWND hwnd;
  8402.      BOOL fShow;
  8403.  
  8404. This Windows function creates tiled, popup, and child windows. The Presentation 
  8405. Manager function WinCreateStdWindow creates frame and client window and should 
  8406. be called for the main window of an application. When this function is called, 
  8407. the specified messaging procedure will receive a WM_SIZE message which 
  8408. indicates that the window is being created with a zero size. For those 
  8409. applications for which this is a problem, the application can create the main 
  8410. window without the WS_VISIBLE style and after creation can call WinSetWindowPos 
  8411. and WinShowWindow to set the window position and to make the window visible. If 
  8412. the window to be created is a child window or doesn't have control windows, 
  8413. WinCreateWindow can be called. 
  8414.  
  8415. See Also:
  8416.  
  8417.  WinCreateWindow WinSetWindowPos, WinShowWindow 
  8418.  
  8419.  
  8420. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8421.  
  8422. Windows 
  8423.  
  8424. LONG DefWindowProc(hwnd, wMessage, wParam, lParam);
  8425.      HWND hwnd;
  8426.      USHORT wMessage;
  8427.      WORD wParam;
  8428.      LONG lParam;
  8429.  
  8430. Presentation Manager 
  8431.  
  8432. MRESULT WinDefWindowProc(hwnd, msg, mp1, mp2)
  8433.         HWND hwnd;
  8434.         USHORT msg;
  8435.         MPARAM mp1;
  8436.         MPARAM mp2;
  8437.  
  8438. This Windows function is used to process messages not handled by the window 
  8439. procedure. The Presentation Manager function is equivalent. 
  8440.  
  8441.  
  8442. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8443.  
  8444. Windows 
  8445.  
  8446. ATOM DeleteAtom(wAtom);
  8447.      ATOM wAtom;
  8448.  
  8449. Presentation Manager 
  8450.  
  8451. ATOM WinDeleteAtom(hAtomTbl, atom)
  8452.      HATOMTBL hAtomTbl;
  8453.      ATOM atom;
  8454.  
  8455. This Windows function deletes an atom wAtom if its reference count is zero. The 
  8456. Presentation Manager function is equivalent. 
  8457.  
  8458.  
  8459. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8460.  
  8461. Windows 
  8462.  
  8463. BOOL DeleteDC(hDC);
  8464.      HDC hDC;
  8465.  
  8466. Presentation Manager 
  8467.  
  8468. BOOL GpiDestroyPS(hps)
  8469.      HPS hps;
  8470.  
  8471. HMF DevCloseDC(hdc)
  8472.      HDC hdc;    /* handle to device context */
  8473.  
  8474. This Windows function deletes the specified display context. The PM functions 
  8475. are equivalent, GpiDestroyPS must be called to first destroy the presentation 
  8476. space if the specified display context was associated into a presentation 
  8477. space. 
  8478.  
  8479. See Also:
  8480.  
  8481.  DevCloseDC 
  8482.  
  8483.  
  8484. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8485.  
  8486. Windows 
  8487.  
  8488. BOOL DeleteMetaFile(hMF);
  8489.      HANDLE hMF;
  8490.  
  8491. Presentation Manager 
  8492.  
  8493. BOOL GpiDeleteMetaFile(hmf)
  8494.      HMF hmf;
  8495.  
  8496. This Windows function deletes access to a metafile by freeing the associated 
  8497. system resources. The Presentation Manager function is equivalent. 
  8498.  
  8499.  
  8500. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8501.  
  8502. Windows 
  8503.  
  8504. BOOL DeleteObject(hObject);
  8505.      HANDLE hObject;
  8506.  
  8507. Presentation Manager 
  8508.  
  8509. BOOL GpiDeleteSetId(hps, lcid)
  8510.      HPS hps;
  8511.      LONG lcid;
  8512.  
  8513. BOOL GpiDeleteBitmap(hbm)
  8514.      HBITMAP hbm;
  8515.  
  8516. BOOL GpiDestroyRegion(hps, hrgn)
  8517.      HPS hps;
  8518.      HRGN hrgn;
  8519.  
  8520. This Windows function deletes the logical pen, brush, font, bitmap, or region 
  8521. by freeing all associated system storage. In Presentation Manager, pens and 
  8522. brushes are not objects. Bitmaps and regions can be deleted using the 
  8523. GpiDeleteBitmap and GpiDestroyRegion function calls. Logical fonts can be 
  8524. deleted by calling GpiDeleteSetID with the ID under which the font was 
  8525. registered. This deletes the font as well as freeing up the ID for reuse. 
  8526.  
  8527.  
  8528. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8529.  
  8530. Windows 
  8531.  
  8532. VOID DestroyCaret();
  8533.  
  8534. Presentation Manager 
  8535.  
  8536. BOOL WinDestroyCursor(hwnd)
  8537.      HWND hwnd;
  8538.  
  8539. This Windows function destroys the current caret and frees any memory it 
  8540. occupied. The Presentation Manager function is equivalent. 
  8541.  
  8542.  
  8543. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8544.  
  8545. * WinDestroyWindow Windows 
  8546.  
  8547. BOOL DestroyMenu(hMenu);
  8548.      HMENU hMenu;
  8549.  
  8550. Presentation Manager 
  8551.  
  8552. BOOL WinDestroyWindow(hwnd)
  8553.      HWND hwnd;
  8554.  
  8555. This Windows function destroys the menu specified by hMenu and frees any memory 
  8556. it occupied. The Presentation Manager function is equivalent. 
  8557.  
  8558.  
  8559. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8560.  
  8561. Windows 
  8562.  
  8563. BOOL DestroyWindow(hwnd);
  8564.      HWND hwnd;
  8565.  
  8566. Presentation Manager 
  8567.  
  8568. BOOL WinDestroyWindow(hwnd)
  8569.      HWND hwnd;
  8570.  
  8571. This Windows function sends a WM_DESTROY message to hWnd and frees any memory 
  8572. it occupied. The Presentation Manager function is equivalent. 
  8573.  
  8574.  
  8575. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8576.  
  8577. Windows 
  8578.  
  8579. LPSTR DeviceModes(hWnd, hItem, lpString, lpString);
  8580.       HWND hWnd;
  8581.       HANDLE hItem;
  8582.       LPSTR lpString;
  8583.       LPSTR lpString;
  8584.  
  8585. Presentation Manager 
  8586.  
  8587. No equivalent 
  8588.  
  8589. This Windows function displays a dialog box that prompts user to set printer 
  8590. modes. There is no Presentation Manager equivalent. To simulate this 
  8591. functionality, call DevQueryCaps, call a dialog box to reference these 
  8592. capabilities, have the user choose capabilities, and check the user's 
  8593. responses. 
  8594.  
  8595. See Also:
  8596.  
  8597.  DevQueryCaps 
  8598.  
  8599.  
  8600. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8601.  
  8602. Windows 
  8603.  
  8604. INT DialogBox(hInst, lpTemplate, hParent, lpDialog);
  8605.     HANDLE hInst;
  8606.     LPSTR lpTemplate;
  8607.     HWND hParent;
  8608.     FARPROC lpDialog;
  8609.  
  8610. Presentation Manager 
  8611.  
  8612. USHORT WinDlgBox(hwndParent, hwndOwner, pfnDlgProc, hmod, idDlg,
  8613.                  pCreateParams)
  8614.        HWND hwndParent;
  8615.        HWND hwndOwner;
  8616.        PFNWP pfnDlgProc;
  8617.        HMODULE hmod;
  8618.        USHORT idDlg;
  8619.        PVOID pCreateParams;
  8620.  
  8621. USHORT WinProcessDlg(hwndDlg)
  8622.        HWND hwndDlg;
  8623.  
  8624. This Windows function creates a modal dialog box. The Presentation Manager 
  8625. function loads and processes a modal dialog box and returns the result value 
  8626. established by the WinDismissDlg function. Use NULL for hMod if dialog is to be 
  8627. loaded from application resource file. 
  8628.  
  8629. See Also:
  8630.  
  8631.  WinDismissDlg, WinProcessDlg, WinSendMsg 
  8632.  
  8633.  
  8634. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8635.  
  8636. Windows 
  8637.  
  8638. HWND DialogBoxIndirect(hInstance, hDTemplate, hWndParent, lpDialogFunc)
  8639.      HANDLE hInstance;
  8640.      HANDLE  hDTemplate;
  8641.      HWND hWndParent;
  8642.      FARPROC lpDialogFunc;
  8643.  
  8644. Presentation Manager 
  8645.  
  8646. USHORT DosLoadModule(pszFailName, cbFileName, pszModName, phMod)
  8647.        PSZ pszFailName;   /* pointer to buffer for failure name    */
  8648.        USHORT cbFileName; /* length of failure-name buffer         */
  8649.        PSZ pszModName;    /* pointer to module name                */
  8650.        PHMODULE phmod;    /* pointer to variable for module handle */
  8651.  
  8652. HWND WinCreateDlg(hwndParent, hwndOwner, pfnDlgProc, pdlgt, pCreateParams),
  8653.      HWND hwndParent;
  8654.      HWND hwndOwner;
  8655.      PFNWP pfnDlgProc;
  8656.      PDLGTEMPLATE pfnDlgProc;
  8657.      PVOID pCreateParams;
  8658.  
  8659. USHORT WinProcessDlg(hwndDlg)
  8660.        HWND hwndDlg;
  8661.  
  8662. The Windows function creates a modal dialog box that has the size, style, and 
  8663. controls defined by the dialog-box template given by lpTemplateName parameter. 
  8664. The Presentation Manager function creates a dialog window from the dialog 
  8665. template. The lpDlgTemplate parameter holds the dialog box styles. The function 
  8666. returns the handle of the dialog window created. An invisible dialog window is 
  8667. created unless the WS_VISIBLE window style is specified in the first dialog 
  8668. item definition within the dialog template. 
  8669.  
  8670. See Also:
  8671.  
  8672.  CreateDialogIndirect, DosLoadModule, WinDestroyWindow, WinProcessDlg, 
  8673. WinSubstituteStrings 
  8674.  
  8675.  
  8676. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8677.  
  8678. Windows 
  8679.  
  8680. BOOL DispatchMessage(lpMsg);
  8681.      LPMSG lpMsg;
  8682.  
  8683. Presentation Manager 
  8684.  
  8685. ULONG WinDispatchMsg(hab, pqmsg)
  8686.       HAB hab;
  8687.       PQMSG pqmsg;
  8688.  
  8689. This Windows function passes a message to a window function of a window 
  8690. specified in a MSG structure. The Presentation Manager function is equivalent. 
  8691.  
  8692.  
  8693. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8694.  
  8695. Windows 
  8696.  
  8697. INT DlgDirList(hDlg, lpPath, wIdList, wIdPath, wFileType);
  8698.     HWND hDlg;
  8699.     LPSTR lpPath;
  8700.     INT wIdList;
  8701.     INT wIdPath;
  8702.     unsigned wFileType;
  8703.  
  8704. Presentation Manager 
  8705.  
  8706. No equivalent 
  8707.  
  8708. This Windows function fills list box with names of files matching path 
  8709. specification. There is no Presentation Manager equivalent to this function. 
  8710. One way to emulate this functionality is to create a list box, get a directory, 
  8711. inspect the directory listing, and move the texts of names of files into the 
  8712. list box. 
  8713.  
  8714.  
  8715. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8716.  
  8717. Windows 
  8718.  
  8719. BOOL DlgDirSelect(hDlg, lpString, wIdList);
  8720.      HWND hDlg;
  8721.      LPSTR lpString;
  8722.      INT wIdList;
  8723.  
  8724. Presentation Manager 
  8725.  
  8726. No equivalent 
  8727.  
  8728. This Windows function copies the current selection from list box to lpString. 
  8729. There is no Presentation Manager equivalent to this function. 
  8730.  
  8731.  
  8732. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8733.  
  8734. Windows 
  8735.  
  8736. BOOL DPtoLP(hDC, pPoints, wNum);
  8737.      HDC hDC;
  8738.      PPOINT pPoints;
  8739.      SHORT wNum;
  8740.  
  8741. Presentation Manager 
  8742.  
  8743. BOOL GpiConvert(hps, lSrc, lTarg, cPoints, paptlPoints)
  8744.      HPS hps;
  8745.      LONG lSrc;
  8746.      LONG lTarg;
  8747.      LONG cPoints;
  8748.      PPOINTL paptlPoints;
  8749.  
  8750. This Windows function converts the wNum device points given by pPoints into 
  8751. logical points. The Presentation Manager function is equivalent and may be 
  8752. called with lSrc set to CVTC_DEVICE and lTarg set to CVTC_WORLD. 
  8753.  
  8754.  
  8755. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8756.  
  8757. Windows 
  8758.  
  8759. BOOL DrawIcon(hDC, X, Y, hIcon);
  8760.      HDC hDC;
  8761.      INT X;
  8762.      INT Y;
  8763.      HICON hIcon;
  8764.  
  8765. Presentation Manager 
  8766.  
  8767. BOOL WinDrawPointer(hps, x, y, hptr, fs)
  8768.      HPS hps;
  8769.      SHORT x;
  8770.      SHORT y;
  8771.      HPOINTER hptr;
  8772.      USHORT fs;
  8773.  
  8774. This Windows function draws an icon with its upper left corner specified at X, 
  8775. Y. The Presentation Manager function draws the pointer at position X, Y. In 
  8776. addition, wHalfTone controls how the image is drawn and may be one of these 
  8777. values: DP_NORMAL, DP_HALFTONE, or DP_INVERT. Note the coordinate system 
  8778. differences between Windows and Presentation Manager. 
  8779.  
  8780.  
  8781. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8782.  
  8783. Windows 
  8784.  
  8785. VOID DrawMenuBar(hMenu);
  8786.      HWND hMenu;
  8787.  
  8788. Presentation Manager 
  8789.  
  8790. BOOL WinEnableWindowUpdate(hwnd, fEnable)
  8791.      HWND hwnd;
  8792.      BOOL fEnable;
  8793.  
  8794. BOOL WinShowWindow(hwnd, fShow)
  8795.      HWND hwnd;
  8796.      BOOL fShow;
  8797.  
  8798. This Windows function redraws the menu bar. There is no Presentation Manager 
  8799. equivalent. In Presentation Manager, the application should call 
  8800. WinEnableWindowUpdate with the menu control handle and with fShow set to FALSE. 
  8801. After the menu has been changed, calling WinShowWindow with fVisible set to 
  8802. TRUE will cause the menu to show the changes. 
  8803.  
  8804. See Also:
  8805.  
  8806.  WinShowWindow 
  8807.  
  8808.  
  8809. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8810.  
  8811. Windows 
  8812.  
  8813. VOID DrawText(hDC, lpString, wCount, lpRect, wFormat);
  8814.      HDC hDC;
  8815.      LPSTR lpString;
  8816.      INT wCount;
  8817.      LPRECT lpRect;
  8818.      WORD wFormat;
  8819.  
  8820. Presentation Manager 
  8821.  
  8822. SHORT WinDrawText(hps, cchText, pchText, pcrl, clrFore, clrBack, rgfCmd)
  8823.       HPS hps;
  8824.       SHORT cchText;
  8825.       PSZ pchText;
  8826.       PRECTL prcl;
  8827.       LONG clrFore;
  8828.       LONG clrBack;
  8829.       USHORT rgfCmd;
  8830.  
  8831. This Windows function draws nCount characters of lpString in format specified 
  8832. by wFormat, using current text and background colors. The PM function only 
  8833. draws one line of text. If a line feed or carriage return character is found in 
  8834. pString, only those characters before the newline will be shown. In addition, 
  8835. the Presentation Manager function doesn't give the option to expand tabs or 
  8836. draw without clipping to the rectangle. See translation of DT_* constants used 
  8837. for wFormat. 
  8838.  
  8839.  
  8840. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8841.  
  8842. Windows 
  8843.  
  8844. BOOL EmptyClipboard();
  8845.  
  8846. Presentation Manager 
  8847.  
  8848. BOOL WinEmptyClipbrd(hab)
  8849.      HAB hab;
  8850.  
  8851. This Windows function empties the clipboard, frees data handles, and assigns 
  8852. clipboard ownership to the window that currently has the clipboard open. The 
  8853. Presentation Manager function is equivalent. 
  8854.  
  8855.  
  8856. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8857.  
  8858. Windows 
  8859.  
  8860. BOOL EnableMenuItem(hMenu, wId, wEnable);
  8861.      HMENU hMenu;
  8862.      WORD wId;
  8863.      WORD wEnable;
  8864.  
  8865. Presentation Manager 
  8866.  
  8867. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  8868.         HWND hwnd;
  8869.         USHORT msg;
  8870.         MPARAM mp1;
  8871.         MPARAM mp2;
  8872.  
  8873. This Windows function enables, disables, or grays a menu item, depending on 
  8874. wEnable. In Presentation Manager, application can send MM_SETATTR message to 
  8875. menu window handle. Set mp1 to be menu id in low word and bIncludeSubmenus 
  8876. (usually TRUE) in high word. Set mp2 to be MIA_ENABLED in low word and 
  8877. MIA_ENABLED or 0 in high word. To disable a menu item, for example, send 
  8878. MAKELONG(MIA_ENABLED, 0) as the last parameter. Return value is old state of 
  8879. item. In Windows, items can be grayed but not disabled. In Presentation 
  8880. Manager, grayed menu items are always disabled. 
  8881.  
  8882. See Also:
  8883.  
  8884.  WinSendMsg 
  8885.  
  8886.  
  8887. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8888.  
  8889. Windows 
  8890.  
  8891. BOOL EnableWindow(hwnd, fEnable);
  8892.      HWND hwnd;
  8893.      BOOL fEnable;
  8894.  
  8895. Presentation Manager 
  8896.  
  8897. BOOL WinEnableWindow(hwnd, fEnable)
  8898.      HWND hwnd;
  8899.      BOOL fEnable;
  8900.  
  8901. This Windows function enables or disables mouse and keyboard input to the 
  8902. specified windows. The Presentation Manager function is equivalent. 
  8903.  
  8904.  
  8905. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8906.  
  8907. Windows 
  8908.  
  8909. VOID EndDialog(hDlg, wResult);
  8910.      HWND hDlg;
  8911.      int wResult;
  8912.  
  8913. Presentation Manager 
  8914.  
  8915. BOOL WinDismissDlg(hwndDlg, usResult)
  8916.      HWND hwndDlg;
  8917.      USHORT usResult;
  8918.  
  8919. This Windows function frees resources and destroys windows associated with a 
  8920. modal dialog box. The Presentation Manager function is equivalent. 
  8921.  
  8922.  
  8923. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8924.  
  8925. Windows 
  8926.  
  8927. VOID EndPaint(hwnd, lpPaint);
  8928.      HWND hwnd;
  8929.      LPPAINTSTRUCT lpPaint;
  8930.  
  8931. Presentation Manager 
  8932.  
  8933. BOOL WinEndPaint(hps)
  8934.      HPS hps;
  8935.  
  8936. This Windows function marks the end of window repainting; required after each 
  8937. BeginPaint call. The Presentation Manager function is equivalent. 
  8938.  
  8939.  
  8940. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8941.  
  8942. Windows 
  8943.  
  8944. BOOL EnumChildWindows(hwndParent, lpEnumProc, lParam);
  8945.      HWND hwndParent;
  8946.      FARPROC lpEnumProc;
  8947.      LONG lParam;
  8948.  
  8949. Presentation Manager 
  8950.  
  8951. HENUM WinBeginEnumWindows(hwnd)
  8952.       HWND hwnd;    /* handle of parent window */
  8953.  
  8954. HWND WinGetNextWindow(henum)
  8955.      HENUM henum;
  8956.  
  8957. BOOL WinEndEnumWindows(henum)
  8958.      HENUM henum;
  8959.  
  8960. This Windows function enumerates the child style windows belonging to 
  8961. hWndParent by passing each child window handle and lParam to the lpEnumFunc 
  8962. function. To enumerate windows in Presentation Manager, the application needs 
  8963. to call WinBeginEnumWindows with the parent window. WinGetNextWindow can be 
  8964. then called repeatedly, returning NULL when all windows have been enumerated. 
  8965. After enumeration, WinEndEnumWindows releases memory associated with henum. 
  8966.  
  8967.  
  8968. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8969.  
  8970. Windows 
  8971.  
  8972. WORD EnumClipboardFormats(wPrevFormat);
  8973.      WORD wPrevFormat;
  8974.  
  8975. Presentation Manager 
  8976.  
  8977. USHORT WinEnumClipbrdFmts(hab, fmt)
  8978.        HAB hab;
  8979.        USHORT fmt;
  8980.  
  8981. This Windows function enumerates formats from list of available formats 
  8982. belonging to the clipboard. The Presentation Manager function is equivalent. 
  8983.  
  8984.  
  8985. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  8986.  
  8987. Windows 
  8988.  
  8989. SHORT EnumFonts(hDC, lpFacename, lpFontFunc, lpData);
  8990.       HDC hDC;
  8991.       LPSTR lpFacename;
  8992.       FARPROC lpFontFunc;
  8993.       LPSTR lpData;
  8994.  
  8995. Presentation Manager 
  8996.  
  8997. WORD GpiQueryFonts(hPS, fOptions, pszFacename, pcFonts, cbMetrics, pfmMetrics);
  8998.      HPS hPS;
  8999.      ULONG fOptions;
  9000.      PSZ pszFacename;
  9001.      PLONG pcFonts;
  9002.      LONG cbMetrics;
  9003.  
  9004. This Windows function enumerates the fonts available on a given device, passing 
  9005. font information through lpData to the function pointed to by the lpfontFunc 
  9006. parameter. The Presentation Manager function retrieves metrics for fonts 
  9007. matching the specified face name. If the pszFacename is a NULL pointer, all 
  9008. available fonts will be queried. Note that the Windows function can enumerate 
  9009. one font for every face name; however, with the Presentation Manager function 
  9010. it is only possible to enumerate all fonts for a given face name or all fonts. 
  9011. The buffer pointed to by the pfmMetrics parameter must be the pcFonts falue 
  9012. multiplied by the cbMetrics value. 
  9013.  
  9014. See Also:
  9015.  
  9016.  GpiCreateLogFont GpiQueryFontMetrics FATTRS FONTMETRICS  LOGFONT TEXTMETRIC 
  9017.  
  9018.  
  9019. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9020.  
  9021. Windows 
  9022.  
  9023. SHORT EnumObjects(hDC, wObjectType, lpObjectFunc, lpData);
  9024.       HDC hDC;
  9025.       SHORT wObjectType;
  9026.       FARPROC lpObjectFunc;
  9027.       LPSTR lpData;
  9028.  
  9029. Presentation Manager 
  9030.  
  9031. No equivalent 
  9032.  
  9033. This Windows function enumerates pens or brushes (depending on wObjectType) 
  9034. available on a device, passing object information through lpData to 
  9035. lpObjectFunc function. In Presentation Manager, pens and brushes are no longer 
  9036. graphics objects. This function has no Presentation Manager equivalent. 
  9037.  
  9038.  
  9039. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9040.  
  9041. Windows 
  9042.  
  9043. INT EnumProps(hwnd, lpEnumFunc);
  9044.     HWND hwnd;
  9045.     FARPROC lpEnumFunc;
  9046.  
  9047. Presentation Manager 
  9048.  
  9049. No equivalent 
  9050.  
  9051. This Windows function passes each property of hWnd, in turn, to the lpEnumFunc 
  9052. function. There is no Presentation Manager equivalent. 
  9053.  
  9054.  
  9055. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9056.  
  9057. Windows 
  9058.  
  9059. BOOL EnumWindows(lpEnumProc, lParam);
  9060.      FARPROC lpEnumProc;
  9061.      LONG lParam;
  9062.  
  9063. Presentation Manager 
  9064.  
  9065. HENUM WinBeginEnumWindows(hwnd)
  9066.       HWND hwnd;    /* handle of parent window */
  9067.  
  9068. HWND WinGetNextWindow(henum)
  9069.      HENUM henum;
  9070.  
  9071. BOOL WinEndEnumWindows(henum)
  9072.      HENUM henum;
  9073.  
  9074. This Windows function enumerates windows on the screen by passing handle of 
  9075. each tiled, iconic, popup, and hidden popup window (in that order) to the 
  9076. lpEnumFunc function. To enumerate windows in Presentation Manager, the 
  9077. application needs to call WinBeginEnumWindows with HWND_DESKTOP to get 
  9078. top-level windows. WinGetNextWindow can be then called repeatedly, returning 
  9079. NULL when all windows have been enumerated. After enumeration, 
  9080. WinEndEnumWindows releases memory associated with hEnum. 
  9081.  
  9082. See Also:
  9083.  
  9084.  WinBeginEnumWindows WinGetNextWindow EndEnumWindows 
  9085.  
  9086.  
  9087. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9088.  
  9089. Windows 
  9090.  
  9091. BOOL EqualRgn(hRGN1, hRGN2);
  9092.      HRGN hRGN1;
  9093.      HRGN hRGN2;
  9094.  
  9095. Presentation Manager 
  9096.  
  9097. LONG GpiEqualRegion(hps, hrgnSrc1, hrgnSrc2)
  9098.      HPS hps;
  9099.      HRGN hrgnSrc1;
  9100.      HRGN hrgnSrc2;
  9101.  
  9102. This Windows function checks the two given regions to determine if they are 
  9103. identical. The Presentation Manager function is the same. Both regions 
  9104. specified must belong to the same device class (as specified by hDC). 
  9105.  
  9106.  
  9107. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9108.  
  9109. Windows 
  9110.  
  9111. short Escape(hDC, wEscape, wCount, lpInData, lpOutData);
  9112.       HDC hDC;
  9113.       short wEscape;
  9114.       short wCount;
  9115.       LPSTR lpInData;
  9116.       LPSTR lpOutData;
  9117.  
  9118. Presentation Manager 
  9119.  
  9120. LONG DevEscape(hdc, cmdCode, cbInData, pbInData, pcbOutData, pbOutData)
  9121.      HDC hdc;             /* handle to device context               */
  9122.      LONG cmdCode;        /* function to be performed               */
  9123.      LONG cbInData;       /* size of pbInData buffer                */
  9124.      PBYTE pbInData;      /* pointer to input data buffer           */
  9125.      PLONG pcbOutData;    /* count of bytes returned in pbOutData   */
  9126.      PBYTE pbOutData;     /* pointer to output data buffer          */
  9127.  
  9128. This Windows function accesses device facilities not directly available through 
  9129. GDI. The Presentation Manager function performs a similar function, see 
  9130. translation of escape codes. 
  9131.  
  9132.  
  9133. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9134.  
  9135. Windows 
  9136.  
  9137. short EscapeCommFunction(wCid, wFunc);
  9138.       short wCid;
  9139.       int wFunc;
  9140.  
  9141. Presentation Manager 
  9142.  
  9143. No equivalent 
  9144.  
  9145. This Windows function executes escape function wFunc for communication device 
  9146. wCid. 
  9147.  
  9148.  
  9149. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9150.  
  9151. Windows 
  9152.  
  9153. SHORT ExcludeClipRect(hDC, X1, Y1, X2, Y2);
  9154.       HDC hDC;
  9155.       SHORT X1;
  9156.       SHORT Y1;
  9157.       SHORT X2;
  9158.       SHORT Y2;
  9159.  
  9160. Presentation Manager 
  9161.  
  9162. BOOL WinMakeRect(hab, pwrc)
  9163.      HAB hab;
  9164.      PWRECT pwrc;
  9165.  
  9166. SHORT WinExcludeUpdateRegion(hps, hwnd)
  9167.       HPS hps;
  9168.       HWND hwnd;
  9169.  
  9170. This Windows function creates a new clipping region from the existing region 
  9171. less the given rectangle. The Presentation Manager function is equivalent. The 
  9172. PM function WinMakeRect transforms a word WRECT structure into a long RECTL 
  9173. structure and can be called to obtain pRectL. 
  9174.  
  9175. See Also:
  9176.  
  9177.  WinMakeRect 
  9178.  
  9179.  
  9180. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9181.  
  9182. Windows 
  9183.  
  9184. void FatalExit(wCode);
  9185.      int wCode;
  9186.  
  9187. Presentation Manager 
  9188.  
  9189. No equivalent 
  9190.  
  9191. This Windows function halts Windows and prompts through auxiliary port (AUX) 
  9192. for instructions on how to proceed. There is no Presentation Manager equivalent 
  9193. to this function. 
  9194.  
  9195.  
  9196. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9197.  
  9198. Windows 
  9199.  
  9200. int FillRect(hDC, lpRect, hBrush);
  9201.     HDC hDC;
  9202.     LPRECT lpRect;
  9203.     HBRUSH hBrush;
  9204.  
  9205. Presentation Manager 
  9206.  
  9207. BOOL WinFillRect(hps, pcrl, lColor)
  9208.      HPS hps;
  9209.      PRECTL pcrl;
  9210.      LONG lColor;
  9211.  
  9212. This Windows function fills given rectangle using the specified brush. The 
  9213. Presentation Manager function is equivalent. 
  9214.  
  9215.  
  9216. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9217.  
  9218. Windows 
  9219.  
  9220. BOOL FillRgn(hDC, hRGN, hBrush);
  9221.      HDC hDC;
  9222.      HRGN hRGN;
  9223.      HBRUSH hBrush;
  9224.  
  9225. Presentation Manager 
  9226.  
  9227. BOOL GpiSetMix(hps, lMixMode)
  9228.      HPS hps;
  9229.      LONG lMixMode;
  9230.  
  9231. BOOL GpiSetPattern(hps, lSymbol)
  9232.      HPS hps;
  9233.      LONG lSymbol;
  9234.  
  9235. LONG GpiPaintRegion(hps, hrgn)
  9236.      HPS hps;
  9237.      HRGN hrgn;
  9238.  
  9239. This Windows function fills given region with brush specified by hBrush. In 
  9240. Presentation Manager, the application needs to select the correct area 
  9241. attributes and mix-mode into the hps if this has not been done correctly. For 
  9242. more information on area attributes and mix modes, see translations on ROP_* 
  9243. constants. 
  9244.  
  9245. See Also:
  9246.  
  9247.  CreateBrushIndirect GpiPaintRegion 
  9248.  
  9249.  
  9250. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9251.  
  9252. Windows 
  9253.  
  9254. ATOM FindAtom(lpString);
  9255.      LPSTR lpString;
  9256.  
  9257. Presentation Manager 
  9258.  
  9259. ATOM WinFindAtom(hAtomTbl, pszAtomName)
  9260.      HATOMTBL hAtomTbl;
  9261.      PSZ pszAtomName;
  9262.  
  9263. This Windows function retrieves atom (if any) associated with the character 
  9264. string lpString. The Presentation Manager function is equivalent. 
  9265.  
  9266.  
  9267. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9268.  
  9269. Windows 
  9270.  
  9271. HANDLE FindResource(hInst, lpName, lpType);
  9272.        HANDLE hInst;
  9273.        LPSTR lpName;
  9274.        LPSTR lpType;
  9275.  
  9276. Presentation Manager 
  9277.  
  9278. No equivalent 
  9279.  
  9280. This Windows function locates resource lpName having lpType and returns handle 
  9281. for accessing and loading the resource. 
  9282.  
  9283.  
  9284. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9285.  
  9286. Windows 
  9287.  
  9288. HWND FindWindow(lpClass, lpCaption);
  9289.      LPSTR lpClass;
  9290.      LPSTR lpCaption;
  9291.  
  9292. Presentation Manager 
  9293.  
  9294. No equivalent 
  9295.  
  9296. This Windows function returns the handle of the window having the given class 
  9297. and caption. There is no equivalent Presentation Manager function. The 
  9298. application can use enumeration functions to find the desired window. 
  9299.  
  9300.  
  9301. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9302.  
  9303. Windows 
  9304.  
  9305. BOOL FlashWindow(hwnd, fInvert);
  9306.      HWND hwnd;
  9307.      BOOL fInvert;
  9308.  
  9309. Presentation Manager 
  9310.  
  9311. BOOL WinFlashWindow(hwndFrame, fFlash)
  9312.      HWND hwndFrame;
  9313.      BOOL fFlash;
  9314.  
  9315. This Windows function flashes window once by inverting its active/inactive 
  9316. state. The Presentation Manager function flashes the window until 
  9317. WinFlashWindow is called again with FALSE passed in for fFlash. 
  9318.  
  9319.  
  9320. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9321.  
  9322. Windows 
  9323.  
  9324. BOOL FloodFill(hDC, X, Y, rgbColor);
  9325.      HDC hDC;
  9326.      SHORT X;
  9327.      SHORT Y;
  9328.      DWORD rgbColor;
  9329.  
  9330. Presentation Manager 
  9331.  
  9332. BOOL GpiMove(hps, pptl)
  9333.      HPS hps;
  9334.      PPOINTL pptl;
  9335.  
  9336. LONG GpiQueryColorIndex(hps, flOptions, lRgbColor)
  9337.      HPS hps;
  9338.      ULONG flOptions;
  9339.      LONG lRgbColor;
  9340.  
  9341. BOOL GpiSetColor(hps, lColor)
  9342.      HPS hps;
  9343.      LONG lColor;
  9344.  
  9345. LONG GpiPaintRegion(hps, hrgn)
  9346.      HPS hps;
  9347.      HRGN hrgn;
  9348.  
  9349. LONG GpiFillPath(hps, idPath, cmdOptions)
  9350.      HPS hps;
  9351.      LONG idPath;
  9352.      LONG cmdOptions;
  9353.  
  9354. Windows function fills area of display with current brush, starting at X, Y and 
  9355. continuing in all directions to the boundaries with the given rgbColor. In 
  9356. Presentation Manager, you will need to determine the area that needs to be 
  9357. filled, and then call either GpiPaintRegion or GpiFillPath. 
  9358.  
  9359. See Also:
  9360.  
  9361.  GpiPaintRegion GpiQueryColorIndex GpiSetColor 
  9362.  
  9363.  
  9364. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9365.  
  9366. Windows 
  9367.  
  9368. short FlushComm(wCid, wQueue);
  9369.       short wCid;
  9370.       int wQueue;
  9371.  
  9372. Presentation Manager 
  9373.  
  9374. No equivalent 
  9375.  
  9376. This Windows function flushes characters from wQueue of communication device 
  9377. wCid. 
  9378.  
  9379.  
  9380. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9381.  
  9382. Windows 
  9383.  
  9384. int FrameRect(hDC, lpRect, hBrush);
  9385.     HDC hDC;
  9386.     LPRECT lpRect;
  9387.     HBRUSH hBrush;
  9388.  
  9389. Presentation Manager 
  9390.  
  9391. BOOL WinDrawBorder(hps, prcl, cx, cy, clrFore, clrBack, rgfCmd)
  9392.      HPS hps;
  9393.      PRECTL prcl;
  9394.      SHORT cx;
  9395.      SHORT cy;
  9396.      LONG clrFore;
  9397.      LONG clrBack;
  9398.      USHORT rgfCmd;
  9399.  
  9400. This Windows function draws border for the given rectangle using the specified 
  9401. brush. The Presentation Manager function draws a rectangular border around the 
  9402. specified rectangle. 
  9403.  
  9404.  
  9405. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9406.  
  9407. Windows 
  9408.  
  9409. BOOL FrameRgn(hDC, hRGN, hBrush, wWidth, wHeight);
  9410.      HRGN hRGN;
  9411.      HBRUSH hBrush;
  9412.      SHORT wWidth;
  9413.      SHORT wHeight;
  9414.  
  9415. Presentation Manager 
  9416.  
  9417. LONG GpiPaintRegion(hps, hrgn)
  9418.      HPS hps;
  9419.      HRGN hrgn;
  9420.  
  9421. This Windows function draws a border for given region using hBrush, with wWidth 
  9422. and wHeight specifying the width of the horizontal and vertical brush strokes. 
  9423. The closest Presentation Manager function is GpiPaintRegion which can be called 
  9424. with a NULL area attribute so that the region is outlined in the current pen. 
  9425.  
  9426.  
  9427. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9428.  
  9429. Windows 
  9430.  
  9431. HANDLE FreeLibrary(hLibModule);
  9432.        HANDLE hLibModule;
  9433.  
  9434. Presentation Manager 
  9435.  
  9436. USHORT DosFreeModule(hmod)
  9437.        HMODULE hmod;    /* module handle */
  9438.  
  9439. This Windows function removes library module hLibModule from memory if 
  9440. reference count is zero. The Presentation Manager function is equivalent and 
  9441. unloads a module which was previously loaded using DosLoadModule. 
  9442.  
  9443.  
  9444. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9445.  
  9446. Windows 
  9447.  
  9448. VOID FreeProcInstance(lpProc);
  9449.      FARPROC lpProc;
  9450.  
  9451. Presentation Manager 
  9452.  
  9453. No equivalent 
  9454.  
  9455. This Windows function removes the function instance entry at address lpProc. 
  9456. There is no Presentation Manager equivalent to this function. 
  9457.  
  9458.  
  9459. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9460.  
  9461. Windows 
  9462.  
  9463. BOOL FreeResource(hResData);
  9464.      HANDLE hResData;
  9465.  
  9466. Presentation Manager 
  9467.  
  9468. No equivalent 
  9469.  
  9470. This Windows function removes resource hResData from memory if reference count 
  9471. is 0. 
  9472.  
  9473.  
  9474. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9475.  
  9476. Windows 
  9477.  
  9478. HWND GetActiveWindow();
  9479.  
  9480. Presentation Manager 
  9481.  
  9482. HWND WinQueryActiveWindow(hwndDesktop, fLock)
  9483.      HWND hwndDesktop;
  9484.      BOOL fLock;
  9485.  
  9486. This Windows function returns handle to the active window. The Presentation 
  9487. Manager function can be called withhwndDesktop set to HWND_DESKTOP. If an 
  9488. application will be sending messages to the active window after obtaining the 
  9489. handle, the active window should be locked. 
  9490.  
  9491.  
  9492. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9493.  
  9494. Windows 
  9495.  
  9496. HANDLE GetAtomHandle(wAtom);
  9497.        ATOM wAtom;
  9498.  
  9499. Presentation Manager 
  9500.  
  9501. No equivalent 
  9502.  
  9503. This Windows function returns the handle (relative to the local heap) of the 
  9504. atom string. There is no Presentation Manager equivalent to this function. 
  9505.  
  9506.  
  9507. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9508.  
  9509. Windows 
  9510.  
  9511. WORD GetAtomName(wAtom, lpBuffer, wMax);
  9512.      ATOM wAtom;
  9513.      LPSTR lpBuffer;
  9514.      INT  wMax;
  9515.  
  9516. Presentation Manager 
  9517.  
  9518. USHORT WinQueryAtomName(hAtomTbl, atom, pchBuffer, cchBufferMax)
  9519.        HATOMTBL hAtomTbl;
  9520.        ATOM atom;
  9521.        PSZ pchBuffer;
  9522.        USHORT cchBufferMax;
  9523.  
  9524. This Windows function copies character string (up to wMax characters) 
  9525. associated with wAtom to lpBuffer. The Presentation Manager function is 
  9526. equivalent. 
  9527.  
  9528.  
  9529. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9530.  
  9531. Windows 
  9532.  
  9533. long GetBitmapBits(hBitMap, lCount, lpBits);
  9534.      HBITMAP hBitMap;
  9535.      LONG lCount;
  9536.      LPSTR lpBits;
  9537.  
  9538. Presentation Manager 
  9539.  
  9540. LONG GpiQueryBitmapBits(hps, lScanStart, cScans, pbBuffer, pbmi)
  9541.      HPS hps;
  9542.      LONG lScanStart;
  9543.      LONG cScans;
  9544.      PBYTE pbBuffer;
  9545.      PBITMAPINFO pbmi;
  9546.  
  9547. The Windows function copies up to lCount bits of specified bitmap into buffer 
  9548. pointed to by lpBits. The Presentation Manager function transfers bits from the 
  9549. bitmap selected into hDC into the pointer pBits. hDC must refer to a memory 
  9550. display context which has a bitmap currently selected. pBmInfo is a pointer to 
  9551. a structure describing the desired format of the bitmap to be returned (see 
  9552. translation for BITMAP). 
  9553.  
  9554.  
  9555. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9556.  
  9557. Windows 
  9558.  
  9559. DWORD GetBitmapDimension(hBitMap);
  9560.       HBITMAP hBitMap;
  9561.  
  9562. Presentation Manager 
  9563.  
  9564. BOOL GpiQueryBitmapDimension(hbm, psizlBitmap)
  9565.      HBITMAP hbm;
  9566.      PSIZEL psizlBitmap;
  9567.  
  9568. The Windows function returns the width and height of the bitmap specified by 
  9569. hBitmap. The Presentation Manager function takes a pointer to the location to 
  9570. store the width and height (long values). These functions are the same. 
  9571.  
  9572.  
  9573. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9574.  
  9575. Windows 
  9576.  
  9577. DWORD GetBkColor(hDC);
  9578.       HDC hDC;
  9579.  
  9580. Presentation Manager 
  9581.  
  9582. LONG GpiQueryBackColor(hPS);
  9583.       HPS hPS;
  9584.  
  9585. LONG GpiQueryRGBColor(hps, flOptions, lColorIndex)
  9586.      HPS hps;
  9587.      ULONG flOptions;
  9588.      LONG lColorIndex;
  9589.  
  9590. This Windows function returns the background color of the specified device. The 
  9591. Presentation Manager function GpiQueryBackColor returns the rgb value or color 
  9592. index (if using a color table) of the background color. The function 
  9593. GpiQueryRGBColor can be called with lOptions set to 1 to convert the color 
  9594. index into an rgb color. 
  9595.  
  9596. See Also:
  9597.  
  9598.  GpiCreateLogColorTable, WinGetLastError 
  9599.  
  9600.  
  9601. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9602.  
  9603. Windows 
  9604.  
  9605. short GetBkMode(hDC);
  9606.       HDC hDC;
  9607.  
  9608. Presentation Manager 
  9609.  
  9610. LONG GpiQueryBackMix(hps)
  9611.      HPS hps;
  9612.  
  9613. This Windows function returns the background mode of the specified device. The 
  9614. Presentation Manager function returns the background mix mode. 
  9615.  
  9616.  
  9617. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9618.  
  9619. Windows 
  9620.  
  9621. DWORD GetBrushOrg(hDC);
  9622.       HDC hDC;
  9623.  
  9624. Presentation Manager 
  9625.  
  9626. BOOL GpiQueryPatternRefPoint(hps, pgptRefPoint)
  9627.      HPS hps;
  9628.      PPOINTL pptlRefPoint;
  9629.  
  9630. The Windows function retrieves the current brush origin for the given display 
  9631. context. The Presentation Manager function is equivalent, returning the origin 
  9632. or reference point into pptlRefPoint. 
  9633.  
  9634.  
  9635. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9636.  
  9637. Windows 
  9638.  
  9639. char GetBValue(rgbColor);
  9640.      DWORD rgbColor;
  9641.  
  9642. Presentation Manager 
  9643.  
  9644. No equivalent 
  9645.  
  9646. This Windows function retrieves the blue value of the given color. In 
  9647. Presentation Manager, this can be done by the following statement: 
  9648.  
  9649.      Blue = (BYTE) (rgbColor)
  9650.  
  9651.  
  9652. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9653.  
  9654. Windows 
  9655.  
  9656. WORD GetCaretBlinkTime();
  9657.  
  9658. Presentation Manager 
  9659.  
  9660. LONG WinQuerySysValue(hwndDesktop, iSysValue)
  9661.      HWND hwndDesktop;
  9662.      SHORT iSysValue;
  9663.  
  9664. This Windows function returns the current caret flash rate. The Presentation 
  9665. Manager function may be called with hwndDesktop set to HWND_DESKTOP and 
  9666. iSysValue set to SV_CURSORRATE. 
  9667.  
  9668. See Also:
  9669.  
  9670.  WinGetSysValue 
  9671.  
  9672.  
  9673. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9674.  
  9675. Windows 
  9676.  
  9677. LONG GetClassLong(hwnd, wIndex);
  9678.      HWND hwnd;
  9679.      INT wIndex;
  9680.  
  9681. Presentation Manager 
  9682.  
  9683. BOOL WinQueryClassInfo(hab, pszClassName, pclsi)
  9684.      HAB hab;
  9685.      PSZ pszClassName;
  9686.      PCLASSINFO pclsi;
  9687.  
  9688. This Windows function retrieves information at wIndex in the WNDCLASS 
  9689. structure. The Presentation Manager function is similar, except that the 
  9690. Presentation Manager function is invoked with the name of the class instead of 
  9691. a window handle. The class structure has changed; see translation of GC?_* 
  9692. constants. 
  9693.  
  9694.  
  9695. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9696.  
  9697. Windows 
  9698.  
  9699. int GetClassName(hwnd, lpClassName, wMax);
  9700.     HWND hwnd;
  9701.     LPSTR lpClassName;
  9702.     INT wMax;
  9703.  
  9704. Presentation Manager 
  9705.  
  9706. SHORT WinQueryClassName(hwnd, cchMax, pch)
  9707.       HWND hwnd;
  9708.       SHORT cchMax;
  9709.       PSZ pch;
  9710.  
  9711. This Windows function copies hWnd's class name (up to wMax characters) into 
  9712. lpClassName. The Presentation Manager function is equivalent. 
  9713.  
  9714.  
  9715. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9716.  
  9717. Windows 
  9718.  
  9719. WORD GetClassWord(hwnd, wIndex);
  9720.      HWND hwnd;
  9721.      INT wIndex;
  9722.  
  9723. Presentation Manager 
  9724.  
  9725. BOOL WinQueryClassInfo(hab, pszClassName, pclsi)
  9726.      HAB hab;
  9727.      PSZ pszClassName;
  9728.      PCLASSINFO pclsi;
  9729.  
  9730. This Windows function retrieves information at wIndex in the WNDCLASS 
  9731. structure. The Presentation Manager function is similar, except that the 
  9732. Presentation Manager function is invoked with the name of the class instead of 
  9733. a window handle. The class structure has changed; see translation of GC?_* 
  9734. constants. 
  9735.  
  9736.  
  9737. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9738.  
  9739. Windows 
  9740.  
  9741. VOID GetClientRect(hwnd, lpRect);
  9742.      HWND hwnd;
  9743.      LPRECT lpRect;
  9744.  
  9745. Presentation Manager 
  9746.  
  9747. BOOL WinQueryWindowRect(hwnd, prclDest)
  9748.      HWND hwnd;
  9749.      PRECTL prclDest;
  9750.  
  9751. This Windows function copies client coordinates for the window client area to 
  9752. pWRect. In Presentation Manager, window origins are in the bottom left corner 
  9753. instead of the upper left corner. The Presentation Manager function returns 
  9754. coordinates relative to the lower left corner of the frame window. 
  9755.  
  9756.  
  9757. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9758.  
  9759. Windows 
  9760.  
  9761. HANDLE GetClipboardData(wFormat);
  9762.        WORD wFormat;
  9763.  
  9764. Presentation Manager 
  9765.  
  9766. ULONG WinQueryClipbrdData(hab, fmt)
  9767.       HAB hab;
  9768.       USHORT fmt;
  9769.  
  9770. This Windows function retrieves data from the clipboard in the format given by 
  9771. wFormat. The Presentation Manager function is equivalent. 
  9772.  
  9773.  
  9774. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9775.  
  9776. Windows 
  9777.  
  9778. int GetClipboardFormatName(wFormat, lpName, wMax);
  9779.     WORD wFormat;
  9780.     LPSTR lpName;
  9781.     INT wMax;
  9782.  
  9783. Presentation Manager 
  9784.  
  9785. HATOMTBL HATOMTBL WinQuerySystemAtomTable(VOID)
  9786.  
  9787. USHORT WinQueryAtomName(hAtomTbl, atom, pchBuffer, cchBufferMax)
  9788.        HATOMTBL hAtomTbl;
  9789.        ATOM atom;
  9790.        PSZ pchBuffer;
  9791.        USHORT cchBufferMax;
  9792.  
  9793. This Windows function copies wFormat's name (up to wMax characters) into 
  9794. lpName. In Presentation Manager, the application should first call 
  9795. WinQuerySystemAtomTable to obtain the handle to the system atom table. Once 
  9796. this is obtained, the application can call WinQueryAtomName to obtain the name 
  9797. for wFormat. wFormat should be a format which has been previously registered by 
  9798. an application. 
  9799.  
  9800.  
  9801. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9802.  
  9803. Windows 
  9804.  
  9805. HWND GetClipboardOwner();
  9806.  
  9807. Presentation Manager 
  9808.  
  9809. HWND WinQueryClipbrdOwner(hab, fLock)
  9810.      HAB hab;
  9811.      BOOL fLock;
  9812. This Windows function retrieves the window handle of the current owner of the 
  9813. clipboard. The Presentation Manager function is equivalent. 
  9814.  
  9815.  
  9816. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9817.  
  9818. Windows 
  9819.  
  9820. HWND GetClipboardViewer();
  9821.  
  9822. Presentation Manager 
  9823.  
  9824. No equivalent. 
  9825.  
  9826. This Windows function retrieves the window handle of the first window in the 
  9827. clipboard viewer chain. The Presentation Manager function gets the clipboard 
  9828. viewer; viewers may not be chained in Presentation Manager. 
  9829.  
  9830.  
  9831. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9832.  
  9833. Windows 
  9834.  
  9835. SHORT GetClipBox(hDC, lpRect);
  9836.       HDC hDC;
  9837.       LPRECT lpRect;
  9838.  
  9839. Presentation Manager 
  9840.  
  9841. BOOL WinMakeRect(hab, pwrc)
  9842.      HAB hab;
  9843.      PWRECT pwrc;
  9844.  
  9845. LONG GpiQueryClipBox(hps, prctlBound)
  9846.      HPS hps;
  9847.      PRECTL prctlBound;
  9848.  
  9849. This Windows function copies the dimensions of the bounding rectangle of the 
  9850. current clip boundary to lpRect. The Presentation Manager function is 
  9851. equivalent. The Presentation Manager function WinMakeRect transforms a long 
  9852. WRECT structure into a long RECTL structure and can be called to obtain 
  9853. prctlBound. 
  9854.  
  9855. See Also:
  9856.  
  9857.  RECTL 
  9858.  
  9859.  
  9860. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9861.  
  9862. Windows 
  9863.  
  9864. HANDLE GetCodeHandle(lpFunc);
  9865.        FARPROC lpFunc;
  9866.  
  9867. Presentation Manager 
  9868.  
  9869. No equivalent 
  9870.  
  9871. This Windows function retrieves the handle of the code segment containing the 
  9872. given function. There is no Presentation Manager translation for this function. 
  9873.  
  9874.  
  9875. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9876.  
  9877. Windows 
  9878.  
  9879. DWORD GetCurrentPosition(hDC);
  9880.       HDC hDC;
  9881.  
  9882. Presentation Manager 
  9883.  
  9884. BOOL GpiQueryCurrentPosition(hps, pptlPoint)
  9885.      HPS hps;
  9886.      PPOINTL pptlPoint;
  9887.  
  9888. This Windows function gets the coordinates of the current position. The 
  9889. Presentation Manager function is equivalent. 
  9890.  
  9891.  
  9892. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9893.  
  9894. Windows 
  9895.  
  9896. LONG GetCurrentTime();
  9897.  
  9898. Presentation Manager 
  9899.  
  9900. ULONG WinGetCurrentTime(hab)
  9901.       HAB hab;
  9902.  
  9903. This Windows function returns the time elapsed since the system was booted to 
  9904. the current time. The Presentation Manager function is equivalent. 
  9905.  
  9906.  
  9907. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9908.  
  9909. Windows 
  9910.  
  9911. VOID GetCursorPos(lpPoint);
  9912.      LPPOINT lpPoint;
  9913.  
  9914. Presentation Manager 
  9915.  
  9916. BOOL WinQueryPointerPos(hwndDesktop, pptl)
  9917.      HWND hwndDesktop;    /* handle of desktop window */
  9918.      PPOINTL pptl;        /* pointer to structure     */
  9919.  
  9920. This Windows function stores mouse cursor position in a POINT structure. The 
  9921. Presentation Manager function is equivalent; HWND_DESKTOP should be used for 
  9922. hDesktop. 
  9923.  
  9924.  
  9925. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9926.  
  9927. Windows 
  9928.  
  9929. HDC GetDC(hWnd);
  9930.     HWND hWnd;
  9931.  
  9932. Presentation Manager 
  9933.  
  9934. HPS WinGetPS(hwnd)
  9935.     HWND hwnd;
  9936.  
  9937. This Windows function retrieves the display context for the client area of the 
  9938. specified windows. The Presentation Manager function is equivalent, retrieving 
  9939. a micro-ps for the specified window. 
  9940.  
  9941.  
  9942. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9943.  
  9944. Windows 
  9945.  
  9946. SHORT GetDeviceCaps(hDC, wIndex);
  9947.       HDC hDC;
  9948.       SHORT wIndex;
  9949.  
  9950. Presentation Manager 
  9951.  
  9952. BOOL DevQueryCaps(hdc, lStartitem, cItems, alItems)
  9953.      HDC hdc;            /* handle to device context      */
  9954.      LONG lStartitem;    /* first item to be returned     */
  9955.      LONG cItems;        /* count of items to be returned */
  9956.      PLONG alItems;      /* array of elements             */
  9957.  
  9958. This Windows function retrieves the device-specific information specified by 
  9959. wIndex. The Presentation Manager message is equivalent. wElementNum specifies 
  9960. the first element of the array in which information should be stored (starting 
  9961. from 1). wCount specifies the maximum number of items which may be returned in 
  9962. the array. The constants used for the Windows call have changed, see 
  9963. translations. 
  9964.  
  9965.  
  9966. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9967.  
  9968. Windows 
  9969.  
  9970. HWND GetDlgItem(hDlg, wId);
  9971.      HWND hDlg;
  9972.      INT wId;
  9973.  
  9974. Presentation Manager 
  9975.  
  9976. HWND WinWindowFromID(hwndParent, id)
  9977.      HWND hwndParent;
  9978.      USHORT id;
  9979.  
  9980. This Windows function retrieves the handle of a dialog item from the given 
  9981. dialog box. The Presentation Manager function is equivalent. 
  9982.  
  9983.  
  9984. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  9985.  
  9986. Windows 
  9987.  
  9988. unsigned(hDlg, wId, lpfSuccess, fSigned);
  9989.      HWND hDlg;
  9990.      INT wId;
  9991.      BOOL FAR * lpfSuccess;
  9992.      BOOL fSigned;
  9993.  
  9994. Presentation Manager 
  9995.  
  9996. BOOL WinQueryDlgItemShort(hwndDlg, idItem, pResult, fSigned)
  9997.      HWND hwndDlg;
  9998.      USHORT idItem;
  9999.      PSHORT pResult;
  10000.      BOOL fSigned;
  10001.  
  10002. This Windows function translates text of wId into integer value, returning 
  10003. FALSE in lpfSuccess if error occurs. The Presentation Manager function is 
  10004. equivalent. 
  10005.  
  10006.  
  10007. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10008.  
  10009. Windows 
  10010.  
  10011. INT GetDlgItemText(hDlg, wId, lpText, wMax);
  10012.     HWND hDlg;
  10013.     INT wId;
  10014.     LPSTR lpText;
  10015.     INT wMax;
  10016.  
  10017. Presentation Manager 
  10018.  
  10019. SHORT WinQueryDlgItemText(hwndDlg, idItem, cchBufferMax, pchBuffer);
  10020.       HWND hwndDlg;
  10021.       USHORT idItem;
  10022.       USHORT cchBufferMax;
  10023.       PSZ pchBuffer;
  10024.  
  10025. This Windows function copies wId's control text (up to wMax chars) into lpText. 
  10026. The Presentation Manager function is equivalent. 
  10027.  
  10028.  
  10029. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10030.  
  10031. Windows 
  10032.  
  10033. WORD GetDoubleClickTime();
  10034.  
  10035. Presentation Manager 
  10036.  
  10037. LONG WinQuerySysValue(hwndDesktop, iSysValue)
  10038.      HWND hwndDesktop;
  10039.      SHORT iSysValue;
  10040.  
  10041. This Windows function retrieves the current double-click time of the system 
  10042. mouse. The Presentation Manager function may be called with hwndDesktop set to 
  10043. HWND_DESKTOP and iSysValue set to SV_DBLCLKTIME. 
  10044.  
  10045.  
  10046. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10047.  
  10048. Windows 
  10049.  
  10050. short GetEnvironment(lpPortName, lpEnviron, wMaxCount);
  10051.       LPSTR lpPortName;
  10052.       LPSTR lpEnviron;
  10053.       WORD wMaxCount;
  10054.  
  10055. Presentation Manager 
  10056.  
  10057. USHORT DosGetEnv(pselEnviron, pusOffsetCmd)
  10058.        PUSHORT pselEnviron;     /* pointer to variable for selector */
  10059.        PUSHORT pusOffsetCmd;    /* pointer to variable for offset   */
  10060.  
  10061. USHORT DosScanEnv(pszVarName, ppszResult)
  10062.        PSZ pszVarName;          /* pointer to environment-variable name   */
  10063.        PSZ FAR * ppszResult;    /* pointer to variable for result pointer */
  10064.  
  10065. This Windows function copies to lpEnviron the environment associated with the 
  10066. device attached to the given port. The Presentation Manager function returns 
  10067. the segment containing the environment and the offset into the segment where 
  10068. the command line starts. The Presentation Manager application may search the 
  10069. environment for specific values if desired by calling DosScanEnv. 
  10070.  
  10071.  
  10072. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10073.  
  10074. Windows 
  10075.  
  10076. HWND GetFocus();
  10077.  
  10078. Presentation Manager 
  10079.  
  10080. HWND WinQueryFocus(hwndDesktop, fLock)
  10081.      HWND hwndDesktop;
  10082.      BOOL fLock;
  10083.  
  10084. This Windows function retrieves the handle of the window currently owning the 
  10085. input focus. The Presentation Manager function should be called with 
  10086. HWND_DESKTOP used for hwndDesktop. If the application will be sending messages 
  10087. to a window with the focus after obtaining the handle, that window should be 
  10088. locked. 
  10089.  
  10090.  
  10091. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10092.  
  10093. Windows 
  10094.  
  10095. char GetGValue(rgbColor);
  10096. DWORD rgbColor;
  10097.  
  10098. Presentation Manager 
  10099.  
  10100. No equivalent 
  10101.  
  10102. This Windows function retrieves the green value of the given color. In PM, this 
  10103. can be done by the following statement: 
  10104.  
  10105.     Green = (BYTE) (((WORD) rgbColor ) <> 8)
  10106.  
  10107.  
  10108. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10109.  
  10110. Windows 
  10111.  
  10112. int GetInstanceData(hPrev, pData, wSize);
  10113.     HANDLE hPrev;
  10114.     NPSTR pData;
  10115.     INT wSize;
  10116.  
  10117. Presentation Manager 
  10118.  
  10119. No equivalent 
  10120.  
  10121. This Windows function copies wSize bytes of data from offset pData in instance 
  10122. hPrevto same offset in current instance. There is no Presentation Manager 
  10123. equivalent to this function. In Presentation Manager, every application has its 
  10124. own space. Therefore, two instances of an application don't overlap each other 
  10125. and there is no problem with overlap. 
  10126.  
  10127.  
  10128. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10129.  
  10130. Windows 
  10131.  
  10132. INT GetKeyState(wVirtKey);
  10133.     INT wVirtKey;
  10134.  
  10135. Presentation Manager 
  10136.  
  10137. SHORT WinGetKeyState(hwndDesktop, vkey)
  10138.       HWND hwndDesktop;
  10139.       SHORT vkey;
  10140.  
  10141. This Windows function retrieves the state of the virtual key specified by 
  10142. wVirtKey. The Presentation Manager function returns the state of the key at the 
  10143. time that the last message obtained from the queue was posted. HWND_DESKTOP 
  10144. should be used for hDesktop. The wState parameter format has remained the same. 
  10145.  
  10146. See Also:
  10147.  
  10148.  WinGetPhysicalKeyState 
  10149.  
  10150.  
  10151. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10152.  
  10153. Windows 
  10154.  
  10155. short GetMapMode(hDC);
  10156.       HDC hDC;
  10157.  
  10158. Presentation Manager 
  10159.  
  10160. ULONG GpiQueryPS(hps, psizlPage)
  10161.       HPS hps;
  10162.       PSIZEL psizlPage;
  10163.  
  10164. This Windows function retrieves the current mapping mode. In Presentation 
  10165. Manager, GpiQueryPS may be called to obtain the PS options and the page units 
  10166. of the PS. The return value specifies the mapmode and type of PS, and is a 
  10167. combination of the following flags:  PU_ARBITRARY, PU_PELS, PU_LOMETRIC, 
  10168. PU_HIMETRIC, PU_LOENGLISH, PU_HIENGLISH, PU_TWIPS, GPIT_MICRO, and GPIA_ASSOC. 
  10169.  
  10170.  
  10171. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10172.  
  10173. Windows 
  10174.  
  10175. HMENU GetMenu(hWnd);
  10176.       HWND hWnd;
  10177.  
  10178. Presentation Manager 
  10179.  
  10180. HWND WinWindowFromID(hwndParent, id)
  10181.      HWND hwndParent;
  10182.      USHORT id;
  10183.  
  10184. This Windows function retrieves the handle to the menu of the specified window. 
  10185. For Presentation Manager function, call with hwndParent set to the frame window 
  10186. handle and FID_MENU for id. 
  10187.  
  10188.  
  10189. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10190.  
  10191. Windows 
  10192.  
  10193. INT GetMenuString(hMenu, wId, lpString, wMax, wPosFlag);
  10194.     HMENU hMenu;
  10195.     WORD wId;
  10196.     LPSTR lpString;
  10197.     INT wMax;
  10198.     WORD wPosFlag;
  10199.  
  10200. Presentation Manager 
  10201.  
  10202. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  10203.         HWND hwnd;
  10204.         USHORT msg;
  10205.         MPARAM mp1;
  10206.         MPARAM mp2;
  10207.  
  10208. This Windows function copies wId's menu label (up to wMax chars) into lpString, 
  10209. with wPosFlag set to either MF_BYPOSITION or MF_BYCOMMAND. In Presentation 
  10210. Manager, application should send MM_QUERYITEMTEXT message to menu window handle 
  10211. with mp1 set to (menu id, wMax) and mp2 set to be a long pointer to buffer. 
  10212. Return value is the number of bytes copied. 
  10213.  
  10214. See Also:
  10215.  
  10216.  WinSendMsg 
  10217.  
  10218.  
  10219. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10220.  
  10221. Windows 
  10222.  
  10223. BOOL GetMessage(lpMsg, hwnd, wFilterMin, wFilterMax);
  10224.      LPMSG lpMsg;
  10225.      HWND hwnd;
  10226.      USHORT wFilterMin;
  10227.      USHORT wFilterMax;
  10228.  
  10229. Presentation Manager 
  10230.  
  10231. BOOL WinGetMsg(hab, pqmsg, hwndFilter, msgFilterFirst, msgFilterLast)
  10232.      HAB hab;
  10233.      PQMSG pqmsg;
  10234.      HWND hwndFilter;
  10235.      USHORT msgFilterFirst;
  10236.      USHORT msgFilterLast;
  10237.  
  10238. This Windows function retrieves a message in the range wFilterMin to wFilterMax 
  10239. and stores it at lpMsg. The Presentation Manager function is equivalent. 
  10240.  
  10241.  
  10242. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10243.  
  10244. Windows 
  10245.  
  10246. DWORD GetMessagePos();
  10247.  
  10248. Presentation Manager 
  10249.  
  10250. BOOL WinQueryMsgPos(hab, pptl)
  10251.      HAB hab;
  10252.      PPOINTL pptl;
  10253.  
  10254. This Windows function returns mouse position, in screen coordinates, at the 
  10255. time of the last message retrieved by GetMessage. The Presentation Manager 
  10256. function is similar, and returns position in a pointer to an array of two 
  10257. points. The origin used to specify the mouse position has changed in 
  10258. Presentation Manager to be the lower left corner of the screen. 
  10259.  
  10260.  
  10261. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10262.  
  10263. Windows 
  10264.  
  10265. LONG GetMessageTime();
  10266.  
  10267. Presentation Manager 
  10268.  
  10269. ULONG WinQueryMsgTime(hab)
  10270.       HAB hab;
  10271.  
  10272. This Windows function returns the message time for the last message retrieved 
  10273. by GetMessage. The Presentation Manager function is the same. 
  10274.  
  10275.  
  10276. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10277.  
  10278. Windows 
  10279.  
  10280. HANDLE GetMetaFile(lpFileName);
  10281.        LPSTR lpFileName;
  10282.  
  10283. Presentation Manager 
  10284.  
  10285. HMF GpiLoadMetaFile(hab, pszFilename)
  10286.     HAB hab;
  10287.     PSZ pszFilename;
  10288.  
  10289. This Windows function creates a handle for the metafile named by lpFileName. 
  10290. The Presentation Manager function is equivalent. 
  10291.  
  10292.  
  10293. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10294.  
  10295. Windows 
  10296.  
  10297. HANDLE GetMetaFileBits(hMF);
  10298.        HANDLE hMF;
  10299.  
  10300. Presentation Manager 
  10301.  
  10302. BOOL GpiQueryMetaFileBits(hmf, off, cbBuffer, pbBuffer)
  10303.      HMF hmf;
  10304.      LONG off;
  10305.      LONG cbBuffer;
  10306.      PBYTE pbBuffer;
  10307.  
  10308. LONG GpiQueryMetaFileLength(hmf)
  10309.      HMF hmf;
  10310.  
  10311. This Windows function stores the specified metafile as a collection of bits in 
  10312. the global memory block. The Presentation Manager function is similar, and 
  10313. should be called with off set to the offset within the metafile structure to 
  10314. start reading, cbBuffer set to the size of pbBuffer, and pbBuffer pointing to 
  10315. the storage area to hold the metafile. GpiQueryMetaFileLength should be called 
  10316. when using GpiQueryMetaFileBits to insure that the buffer is large enough to 
  10317. hold the metafile. 
  10318.  
  10319.  
  10320. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10321.  
  10322. Windows 
  10323.  
  10324. int GetModuleFileName(hModule, lpFileName, wSize);
  10325.     HANDLE hModule;
  10326.     LPSTR lpFileName;
  10327.     INT wSize;
  10328.  
  10329. Presentation Manager 
  10330.  
  10331. No equivalent 
  10332.  
  10333. This Windows function copies the module filename (up to wSize characters) to 
  10334. lpFileName. There is no Presentation Manager translation for this function. 
  10335.  
  10336.  
  10337. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10338.  
  10339. Windows 
  10340.  
  10341. HANDLE GetModuleHandle(lpModuleName);
  10342.        LPSTR lpModuleName;
  10343.  
  10344. Presentation Manager 
  10345.  
  10346. No equivalent 
  10347.  
  10348. This Windows function returns the module handle of a module named by 
  10349. lpModuleName. There is no Presentation Manager translation for this function. 
  10350.  
  10351.  
  10352. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10353.  
  10354. Windows 
  10355.  
  10356. int GetModuleUsage(hModule);
  10357.     HANDLE hModule;
  10358.  
  10359. Presentation Manager 
  10360.  
  10361. No equivalent 
  10362.  
  10363. This Windows function returns the reference count of the module hModule. There 
  10364. is no Presentation Manager translation for this function. Memory management in 
  10365. Presentation Manager is handled differently. 
  10366.  
  10367.  
  10368. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10369.  
  10370. Windows 
  10371.  
  10372. DWORD GetNearestColor(hDC, rgbColor);
  10373.       HDC hDC;
  10374.       DWORD rgbColor;
  10375.  
  10376. Presentation Manager 
  10377.  
  10378. LONG GpiQueryNearestColor(hps, flOptions, lRgbColorIn)
  10379.      HPS hps;
  10380.      ULONG flOptions;
  10381.      LONG lRgbColorIn;
  10382.  
  10383. This Windows function returns the device color closest to rgbColor. The 
  10384. Presentation Manager function is equivalent (colors are specified in RGB terms) 
  10385. and can be called with flOptions set to 0. Note that the nearest color returned 
  10386. is one which is available in the physical palette on the device. This may, or 
  10387. may not, be actually realizable with the currently loaded logical color table. 
  10388.  
  10389. See Also:
  10390.  
  10391.  GpiCreateLogColorTable, GpiRealizeColorTable 
  10392.  
  10393.  
  10394. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10395.  
  10396. Windows 
  10397.  
  10398. SHORT GetObject(hObject, wCount, lpObject);
  10399.       HANDLE hObject;
  10400.       SHORT wCount;
  10401.       LPSTR lpObject;
  10402.  
  10403. Presentation Manager 
  10404.  
  10405. No equivalent 
  10406.  
  10407. This Windows function copies wCount bytes of logical data defining hObject to 
  10408. lpObject. In Presentation Manager, pens and brushes are not objects, so this 
  10409. function has no equivalent. 
  10410.  
  10411.  
  10412. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10413.  
  10414. Windows 
  10415.  
  10416. HWND GetParent(hwnd);
  10417.      HWND hwnd;
  10418.  
  10419. Presentation Manager 
  10420.  
  10421. HWND WinQueryWindow(hwnd, cmd, fLock)
  10422.      HWND hwnd;
  10423.      SHORT cmd;
  10424.      BOOL fLock;
  10425.  
  10426. This Windows function retrieves the window handle of the specified window's 
  10427. parent (if any). The Presentation Manager function may be called with the 
  10428. constant QW_PARENT used for cmd in order to get the parent window. 
  10429.  
  10430.  
  10431. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10432.  
  10433. Windows 
  10434.  
  10435. DWORD GetPixel(hDC, X, Y);
  10436.       HDC hDC;
  10437.       SHORT X;
  10438.       SHORT Y;
  10439.  
  10440. Presentation Manager 
  10441.  
  10442. LONG GpiQueryPel(hps, pgptPoint)
  10443.      HPS hps;
  10444.      PPOINTL pptl;
  10445.  
  10446. This windows function retrieves the RGB color value of the pixel at the point 
  10447. specified by X and Y. The Presentation Manager function returns the color index 
  10448. of the pixel specified byt the pptl parameter. 
  10449.  
  10450.  
  10451. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10452.  
  10453. Windows 
  10454.  
  10455. VOID GetPolyFillMode(hDC);
  10456.      HDC hDC;
  10457.  
  10458. Presentation Manager 
  10459.  
  10460. No equivalent 
  10461.  
  10462. This Windows fucntion retrieves the current polygon-filling mode. There is no 
  10463. Presentation Manager equivalent to this function. This attribute is specified 
  10464. when the polygon is to be drawn and is not stored in the PS. 
  10465.  
  10466.  
  10467. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10468.  
  10469. Windows 
  10470.  
  10471. FARPROC GetProcAddress(hModule, lpProcName);
  10472.         HANDLE hModule;
  10473.         LPSTR lpProcName;
  10474.  
  10475. Presentation Manager 
  10476.  
  10477. No equivalent 
  10478.  
  10479. This Windows function returns address of the function named by lpProcName in 
  10480. module hModule. There is no Presentation Manager translation for this function. 
  10481.  
  10482.  
  10483. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10484.  
  10485. Windows 
  10486.  
  10487. int GetProfileInt(lpSection, lpKey, wDefault);
  10488.     LPSTR lpSection;
  10489.     LPSTR lpKey;
  10490.     INT wDefault;
  10491.  
  10492. Presentation Manager 
  10493.  
  10494. SHORT WinQueryProfileInt(hab, pszAppName, pszKeyName, sDefault)
  10495.       HAB hab;
  10496.       PSZ pszAppName;
  10497.       PSZ pszKeyName;
  10498.       SHORT sDefault;
  10499.  
  10500. This Windows function returns integer value named by lpKey in section lpSection 
  10501. from the win.ini file; if name or section not found, wDefault is returned. The 
  10502. Presentation Manager function is equivalent. In Presentation Manager, the 
  10503. initialization file is Presentation Manager.ini. 
  10504.  
  10505.  
  10506. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10507.  
  10508. Windows 
  10509.  
  10510. INT GetProfileString(lpSection, lpKey, lpDefault, lpReturned, wMax);
  10511.     LPSTR lpSection;
  10512.     LPSTR lpKey;
  10513.     LPSTR lpDefault;
  10514.     LPSTR lpReturned;
  10515.     INT wMax;
  10516.  
  10517. Presentation Manager 
  10518.  
  10519. USHORT WinQueryProfileString(hab, pAppName, pKeyName, pDefault,
  10520.                              pProfileString, cchMaxPstring)
  10521.        HAB hab;
  10522.        PVOID pAppName;
  10523.        PVOID pKeyName;
  10524.        PVOID pDefault;
  10525.        PVOID pProfileString;
  10526.        USHORT cchMaxPstring;
  10527.  
  10528. This Windows function returns character string named by lpKey in section 
  10529. lpSection from the win.ini file; if name or section not found, lpDefault is 
  10530. returned. The Presentation Manager function is equivalent. In Presentation 
  10531. Manager, the initialization file is Presentation Manager.ini. 
  10532.  
  10533.  
  10534. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10535.  
  10536. Windows 
  10537.  
  10538. HANDLE GetProp(hwnd, lpName);
  10539.        HWND hwnd;
  10540.        LPSTR lpName;
  10541.  
  10542. Presentation Manager 
  10543.  
  10544. No equivalent This Windows function retrieves the data handle associated with 
  10545. lpName from the window property list. There is no Presentation Manager 
  10546. equivalent. It is possible to create and manage a property list by allocating 
  10547. memory for it and managing it by hand. 
  10548.  
  10549.  
  10550. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10551.  
  10552. Windows 
  10553.  
  10554. short GetRelAbs(hDC);
  10555. HDC hDC;
  10556.  
  10557. Presentation Manager 
  10558.  
  10559. No equivalent 
  10560.  
  10561. This Windows function retrieves the relabs flag. This function has no 
  10562. Presentation Manager equivalent. In GPI, there is no equivalent to the relabs 
  10563. flag; coordinates are always specified in absolute mode. 
  10564.  
  10565.  
  10566. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10567.  
  10568. Windows 
  10569.  
  10570. short GetROP2(hDC);
  10571.       HDC hDC;
  10572.  
  10573. Presentation Manager 
  10574.  
  10575. LONG GpiQueryMix(hps)
  10576.      HPS hps;
  10577.  
  10578. This Windows function is used to retrieve the current drawing mode. The 
  10579. Presentation Manager function returns the mix mode (the equivalent to the 
  10580. Windows drawing mode). These functions are equivalent. The constants used for 
  10581. these functions have changed (see translation of R2_* constants). 
  10582.  
  10583.  
  10584. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10585.  
  10586. Windows 
  10587.  
  10588. char GetRValue(rgbColor);
  10589.      DWORD rgbColor;
  10590.  
  10591. Presentation Manager 
  10592.  
  10593. No equivalent 
  10594.  
  10595. This Windows function retrieves the red value of the given color. In 
  10596. Presentation Manager, this can be done by the following statement: 
  10597.  
  10598.     Red = (BYTE) (rgbColor <> 16).
  10599.  
  10600.  
  10601. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10602.  
  10603. Windows 
  10604.  
  10605. INT GetScrollPos(hwnd, wBar);
  10606.     HWND hwnd;
  10607.     INT wBar;
  10608.  
  10609. Presentation Manager 
  10610.  
  10611. HWND WinWindowFromID(hwndParent, id)
  10612.      HWND hwndParent;
  10613.      USHORT id;
  10614.  
  10615. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  10616.         HWND hwnd;
  10617.         USHORT msg;
  10618.         MPARAM mp1;
  10619.         MPARAM mp2;
  10620.  
  10621. This Windows function retrieves the current position of scroll bar elevator. In 
  10622. Presentation Manager, applications should send SBM_QUERYPOS to the scroll bar 
  10623. control. In order to get the handle to the scroll bar control, application can 
  10624. call WinWindowFromID with ScrollId set to FID_HORZSCROLL or FID_VERTSCROLL. 
  10625.  
  10626. See Also:
  10627.  
  10628.  WinSendMsg 
  10629.  
  10630.  
  10631. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10632.  
  10633. Windows 
  10634.  
  10635. VOID GetScrollRange(hwnd, wBar, lpMin, lpMax);
  10636.      HWND hwnd;
  10637.      INT wBar;
  10638.      LPINT lpMin;
  10639.      LPINT lpMax;
  10640.  
  10641. Presentation Manager 
  10642.  
  10643. HWND WinWindowFromID(hwndParent, id)
  10644.      HWND hwndParent;
  10645.      USHORT id;
  10646.  
  10647. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  10648.         HWND hwnd;
  10649.         USHORT msg;
  10650.         MPARAM mp1;
  10651.         MPARAM mp2;
  10652.  
  10653. This Windows function copies minimum and maximum scroll bar positions for given 
  10654. scroll bar to lpMin and lpMax. In Presentation Manager, the application should 
  10655. send SBM_QUERYRANGE message to scroll bar control. The return value is the 
  10656. union of the maximum and minimum values of the scroll bar. The windows handle 
  10657. for the scroll bar control may be obtained by calling WinWindowFromID with 
  10658. ScollId set to either FID_HORZSCROLL or FID_VERTSCROLL. 
  10659.  
  10660. See Also:
  10661.  
  10662.  WinSendMsg 
  10663.  
  10664.  
  10665. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10666.  
  10667. Windows 
  10668.  
  10669. HANDLE GetStockObject(wIndex);
  10670.        short wIndex;
  10671.  
  10672. Presentation Manager 
  10673.  
  10674. No equivalent 
  10675.  
  10676. This Windows function retrieves a handle to a predefined stock pen, brush, or 
  10677. font. In Presentation Manager, there are pen or brush objects. There are, 
  10678. however, types which constitute the set of attributes normally associated with 
  10679. pens and brushes. The Presentation Manager application may fill out a structure 
  10680. of this type and select it into the PS in a similar manner to the way in which 
  10681. a Windows application creates a pen or brush and selects it into the DC. For 
  10682. more information, see translation of specific type (LOGPEN, LOGBRUSH, or 
  10683. LOGFONT), translations of the constants used for this function, and the 
  10684. translation for SelectObject. 
  10685.  
  10686.  
  10687. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10688.  
  10689. Windows 
  10690.  
  10691. SHORT GetStretchBltMode(hDC);
  10692.       HDC hDC;
  10693.  
  10694. Presentation Manager 
  10695.  
  10696. No equivalent 
  10697.  
  10698. This Windows functions returns the current stretching mode stored in the hDC. 
  10699. In Presentation Manager, the stretching mode is not stored as a state 
  10700. attribute, so this function has no equivalent. 
  10701.  
  10702.  
  10703. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10704.  
  10705. Windows 
  10706.  
  10707. HMENU GetSubMenu(HMENU, wPos);
  10708.       hMenu HMENU;
  10709.       INT wPos;
  10710.  
  10711. Presentation Manager 
  10712.  
  10713. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  10714.         HWND hwnd;
  10715.         USHORT msg;
  10716.         MPARAM mp1;
  10717.         MPARAM mp2;
  10718.  
  10719. This Windows function retrieves the menu handle of a popup menu. In 
  10720. Presentation Manager, the application should send the MM_ITEMIDFROMPOSITION 
  10721. message to the menu control window with the menu position in the low word of 
  10722. mp1 to obtain the id of the popup menu. After this is obtained, a MM_QUERYITEM 
  10723. message should be sent with the id in the low word of lParam1 and a pointer to 
  10724. the MENUITEM structure in mp2. On return, the hwnd of the submenu will be in 
  10725. field hwndSubMenu of the MENUITEM structure. 
  10726.  
  10727. See Also:
  10728.  
  10729.  WinSendMsg 
  10730.  
  10731.  
  10732. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10733.  
  10734. Windows 
  10735.  
  10736. DWORD GetSysColor(wIndex);
  10737.       INT wIndex;
  10738.  
  10739. Presentation Manager 
  10740.  
  10741. LONG WinQuerySysColor(hwndDesktop, iColor, lReserved)
  10742.      HWND hwndDesktop;
  10743.      LONG iColor;
  10744.      LONG lReserved;
  10745.  
  10746. This Windows function retrieves the system color identified by wIndex. The 
  10747. Presentation Manager function is equivalent and returns the RGB value 
  10748. corresponding to the index value specified by the iColor parameter. The 
  10749. constants for wIndex have changed, see translation for COLOR_* constants. 
  10750.  
  10751. See Also:
  10752.  
  10753.  WinSetSysColors 
  10754.  
  10755.  
  10756. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10757.  
  10758. Windows 
  10759.  
  10760. HWND GetSysModalWindow();
  10761.  
  10762. Presentation Manager 
  10763.  
  10764. HWND WinQuerySysModalWindow(hwndDesktop, fLock)
  10765.      HWND hwndDesktop;
  10766.      BOOL fLock;
  10767.  
  10768. This Windows function returns the handle of a system-modal window, if one is 
  10769. present. The Presentation Manager function is equivalent; HWND_DESKTOP should 
  10770. be used for hwndDeskTop. 
  10771.  
  10772.  
  10773. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10774.  
  10775. Windows 
  10776.  
  10777. HMENU GetSystemMenu(hwnd, fRevert);
  10778.       HWND hwnd;
  10779.       BOOL fRevert;
  10780.  
  10781. Presentation Manager 
  10782.  
  10783. HWND WinWindowFromID(hwndParent, id)
  10784.      HWND hwndParent;
  10785.      USHORT id;
  10786.  
  10787. This Windows function allows access to the system menu for copying and 
  10788. modification; fRevert is nonzero to restore the original system menu. For 
  10789. Presentation Manager function, call with hwndParent set to the frame window 
  10790. handle and FID_SYSMENU for wId. Presentation Manager doesn't keep a separate 
  10791. copy of the system menu the way that Windows does. 
  10792.  
  10793.  
  10794. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10795.  
  10796. Windows 
  10797.  
  10798. int GetSystemMetrics(wIndex);
  10799.     int wIndex;
  10800.  
  10801. Presentation Manager 
  10802.  
  10803. LONG WinQuerySysValue(hwndDesktop, iSysValue)
  10804.      HWND hwndDesktop;
  10805.      SHORT iSysValue;
  10806.  
  10807. This Windows function retrieves information about the system metrics identified 
  10808. by wIndex. The Presentation Manager function is equivalent. The format for the 
  10809. constants used for wIndex has changed, see translation of SM_* constants. 
  10810.  
  10811. See Also:
  10812.  
  10813.  WinGetSysValue 
  10814.  
  10815.  
  10816. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10817.  
  10818. Windows 
  10819.  
  10820. DWORD GetTextColor(hDC);
  10821.       HDC hDC;
  10822.  
  10823. Presentation Manager 
  10824.  
  10825. LONG GpiQueryAttrs(hps, lPrimType, flAttrsMask, pbunAttrs)
  10826.      HPS hps;
  10827.      LONG lPrimType;
  10828.      ULONG flAttrsMask;
  10829.      PBUNDLE pbunAttrs;
  10830.  
  10831. This Windows function retrieves the current text color. The Presentation 
  10832. Manager application can call GpiQueryAttrs with lPrimType set to PRIM_CHAR, 
  10833. lAttrs set to CBB_COLOR, and pAttrs set to be a long pointer to a CHARBUNDLE 
  10834. structure. On return from this function, field lColor in the CHARBUNDLE 
  10835. structure should contain the current text color. 
  10836.  
  10837.  
  10838. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10839.  
  10840. Windows 
  10841.  
  10842. short GetTextFace(hDC, wCount, lpFaceName);
  10843.       HDC hDC;
  10844.       SHORT wCount;
  10845.       LPSTR lpFaceName;
  10846.  
  10847. Presentation Manager 
  10848.  
  10849. BOOL GpiQueryFontMetrics(hps, cbMetrics, pfmMetrics)
  10850.      HPS hps;
  10851.      LONG cbMetrics;
  10852.      PFONTMETRICS pfmMetrics;
  10853.  
  10854. This Windows function copies the current font's facename (up to wCount 
  10855. characters) into lpFaceName. In PM, the application must call 
  10856. GpiQueryFontMetrics to get the metrics information. The facename is store in 
  10857. field FaceName. 
  10858.  
  10859.  
  10860. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10861.  
  10862. Windows 
  10863.  
  10864. BOOL GetTextMetrics(hDC, lpMetrics);
  10865.      HDC hDC;
  10866.      LPTEXTMETRIC lpMetrics;
  10867.  
  10868. Presentation Manager 
  10869.  
  10870. BOOL GpiQueryFontMetrics(hps, cbMetrics, pfmMetrics)
  10871.      HPS hps;
  10872.      LONG cbMetrics;
  10873.      PFONTMETRICS pfmMetrics;
  10874.  
  10875. This Windows function fills buffer given by lpMetrics with metrics for 
  10876. currently selected font. Refer to the TEXTMETRIC structure for more 
  10877. information. The GpiQueryFonts function returns a font metrics record for the 
  10878. currently selected logical font. Refer to the FONTMETRICS structure for more 
  10879. information. FONTMETRICS, 
  10880.  
  10881.  
  10882. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10883.  
  10884. Windows 
  10885.  
  10886. VOID  GetThresholdStatus();
  10887.  
  10888. Presentation Manager 
  10889.  
  10890. No equivalent 
  10891.  
  10892. This Windows function returns a bit mask containing the threshold event status; 
  10893. if a bit is set, the given voice queue is below threshold.  There is no PM 
  10894. equivalent; sound functions are not supported in PM. 
  10895.  
  10896.  
  10897. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10898.  
  10899. Windows 
  10900.  
  10901. BOOL GetUpdateRect(hWnd, lpRect, fErase);
  10902.      HWND hWnd;
  10903.      LPRECT lpRect;
  10904.      BOOL fErase;
  10905.  
  10906. Presentation Manager 
  10907.  
  10908. BOOL WinQueryUpdateRect(hwnd, prcl)
  10909.      HWND hwnd;
  10910.      PRECTL prcl;
  10911.  
  10912. This Windows function copies dimensions of bounding rectangle of window region 
  10913. that needs to updating to lpRect, with fErase specifying whether the background 
  10914. needs erasing. The Presentation Manager function is equivalent, but cannot be 
  10915. used to specify that the background should be erased. 
  10916.  
  10917.  
  10918. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10919.  
  10920. Windows 
  10921.  
  10922. WORD GetVersion();
  10923.  
  10924. Presentation Manager 
  10925.  
  10926. ULONG WinQueryVersion(hab)
  10927.       HAB hab;
  10928.  
  10929. This Windows function returns the current version of Windows. The PM function 
  10930. is similar. The return value of the PM value is composed of a long which has 
  10931. the environment in the high word and the version in the low word. 
  10932.  
  10933.  
  10934. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10935.  
  10936. Windows 
  10937.  
  10938. DWORD GetViewportExt(hDC);
  10939.       HDC hDC;
  10940.  
  10941. Presentation Manager 
  10942.  
  10943. BOOL GpiQueryModelTransformMatrix(hps, cElements, pmatlfTransform)
  10944.      HPS hps;
  10945.      LONG cElements;
  10946.      PMATRIXLF pmatlfTransform;
  10947.  
  10948. This Windows function retrieves the x and y extents of the display context's 
  10949. viewport. The Presentation Manager function returns the transformation matrix 
  10950. which PM uses to transform the coordinates. Applications using this function 
  10951. should be careful because there are now many possible levels of transformation 
  10952. and this function only returns the matrix at the model transformation level. 
  10953. This function returns up to nine values in the provided array. These values are 
  10954. used to transform a given x, y as follows: 
  10955.  
  10956.     New X = (Val1 * x + Val4 * y + Val7).
  10957.     New Y = (Val2 * x + Val5 * y + Val8).
  10958. Values 1, 2, 4, and 5 are stored in fixed point notation. To convert from fixed 
  10959. values to floats, the following statement may be used: 
  10960.  
  10961.     FloatVal = ((float) FixVal / (float) 0x10000).
  10962.  
  10963.  
  10964. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10965.  
  10966. Windows 
  10967.  
  10968. DWORD GetViewportOrg(hDC);
  10969.       HDC hDC;
  10970.  
  10971. Presentation Manager 
  10972.  
  10973. BOOL GpiQueryModelTransformMatrix(hps, cElements, pmatlfTransform)
  10974.      HPS hps;
  10975.      LONG cElements;
  10976.      PMATRIXLF pmatlfTransform;
  10977.  
  10978. This Windows function retrieves the x and y coordinates of the display 
  10979. context's viewport. 
  10980.  
  10981. See Also:
  10982.  
  10983.  GetViewportExt 
  10984.  
  10985.  
  10986. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  10987.  
  10988. Windows 
  10989.  
  10990. DWORD GetWindowExt(hDC);
  10991.       HDC hDC;
  10992.  
  10993. Presentation Manager 
  10994.  
  10995. BOOL GpiQueryModelTransformMatrix(hps, cElements, pmatlfTransform)
  10996.      HPS hps;
  10997.      LONG cElements;
  10998.      PMATRIXLF pmatlfTransform;
  10999.  
  11000. This Windows function retrieves the x and y coordinates of the display 
  11001. context's window. 
  11002.  
  11003. See Also:
  11004.  
  11005.  GetViewportExt 
  11006.  
  11007.  
  11008. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11009.  
  11010. Windows 
  11011.  
  11012. LONG GetWindowLong(hwnd, wIndex);
  11013.      HWND hwnd;
  11014.      INT wIndex;
  11015.  
  11016. Presentation Manager 
  11017.  
  11018. ULONG WinQueryWindowULong(hwnd, index)
  11019.       HWND hwnd;
  11020.       SHORT index;
  11021.  
  11022. This Windows function retrieves information identified by wIndex about the 
  11023. given window. The Presentation Manager function is equivalent, although the 
  11024. indices into the window information have changed. 
  11025.  
  11026.  
  11027. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11028.  
  11029. Windows 
  11030.  
  11031. DWORD GetWindowOrg(hDC);
  11032.       HDC hDC;
  11033.  
  11034. Presentation Manager 
  11035.  
  11036. BOOL GpiQueryModelTransformMatrix(hps, cElements, pmatlfTransform)
  11037.      HPS hps;
  11038.      LONG cElements;
  11039.      PMATRIXLF pmatlfTransform;
  11040.  
  11041. This Windows function retrieves the x and y coordinates of the display 
  11042. context's origin. 
  11043.  
  11044. See Also:
  11045.  
  11046.  GetViewportExt 
  11047.  
  11048.  
  11049. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11050.  
  11051. Windows 
  11052.  
  11053. VOID GetWindowRect(hwnd, lpRect);
  11054.      HWND hwnd;
  11055.      LPRECT lpRect;
  11056.  
  11057. Presentation Manager 
  11058.  
  11059. BOOL WinQueryWindowRect(hwnd, prclDest)
  11060.      HWND hwnd;
  11061.      PRECTL prclDest;
  11062.  
  11063. BOOL WinMakePoints(hab, pwpt, cwpt)
  11064.      HAB hab;
  11065.      PWPOINT pwpt;
  11066.      SHORT cwpt;
  11067.  
  11068. BOOL WinMapWindowPoints(hwndFrom, hwndTo, pptl, cwpt)
  11069.      HWND hwndFrom;
  11070.      HWND hwndTo;
  11071.      PPOINTL pptl;
  11072.      SHORT cwpt;
  11073.  
  11074. This Windows function copies dimensions, in screen coordinates, of entire 
  11075. window to lpRect. In PM, the function WinQueryWindowRect obtains the dimensions 
  11076. of the frame window relative to the lower left corner of the window. These 
  11077. coordinates can then be put into points and the function WinMakePoints converts 
  11078. the word points into long points. Finally, WinMapWindowPoints can be called 
  11079. with hWndFrom set to the frame window and hWndTo set to HWND_DESKTOP. This 
  11080. converts the points into screen coordinates. 
  11081.  
  11082. See Also:
  11083.  
  11084.  WinMakePoints WinMapWindowPoints 
  11085.  
  11086.  
  11087. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11088.  
  11089. Windows 
  11090.  
  11091. INT GetWindowText(hwnd, lpText, wMax);
  11092.     HWND hwnd;
  11093.     LPSTR lpText;
  11094.     INT wMax;
  11095.  
  11096. Presentation Manager 
  11097.  
  11098. SHORT WinQueryWindowText(hwnd, cchBufferMax, pszBuffer)
  11099.       HWND hwnd;
  11100.       SHORT cchBufferMax;
  11101.       PSZ pszBuffer;
  11102.  
  11103. This Windows function copies hwnd's window caption (up to wMax chars) into 
  11104. lpText. The Presentation Manager function is equivalent. 
  11105.  
  11106.  
  11107. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11108.  
  11109. Windows 
  11110.  
  11111. WORD GetWindowWord(hwnd, wIndex);
  11112.      HWND hwnd;
  11113.      INT wIndex;
  11114.  
  11115. Presentation Manager 
  11116.  
  11117. USHORT WinQueryWindowUShort(hwnd, index)
  11118.        HWND hwnd;
  11119.        SHORT index;
  11120.  
  11121. This Windows function retrieves information identified by wIndex about the 
  11122. given window. The Presentation Manager function is equivalent although many of 
  11123. the constants used for wIndex have changed. 
  11124.  
  11125.  
  11126. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11127.  
  11128. Windows 
  11129.  
  11130. HANDLE GlobalAlloc(wFlags, dwBytes);
  11131.        WORD wFlags;
  11132.        DWORD dwBytes;
  11133.  
  11134. Presentation Manager 
  11135.  
  11136. USHORT DosAllocHuge(usNumSeg, usPartialSeg, psel, usMaxNumSeg, fAlloc)
  11137.        USHORT usNumSeg;     /* number of 65,536-byte segments             */
  11138.        USHORT usPartialSeg; /* number of bytes in last segment            */
  11139.        PSEL psel;           /* pointer to variable for selector allocated */
  11140.        USHORT usMaxNumSeg;  /* max. number of 65,536-byte segments        */
  11141.        USHORT fAlloc;       /* alloc/discardable flags                    */
  11142.  
  11143. USHORT DosGetHugeShift(pusShiftCount)
  11144.        PUSHORT pusShiftCount;    /* shift count returned */
  11145.  
  11146. USHORT  DosAllocSeg(usSize, psel, fAlloc)
  11147.         USHORT usSize;    /* number of bytes requested   */
  11148.         PSEL psel;        /* Receives selector allocated */
  11149.         USHORT fAlloc;    /* allocation flags            */
  11150.  
  11151. USHORT DosSubSet(sel, fFlags, cbSeg)
  11152.        SEL sel;          /* segment selector  */
  11153.        USHORT fFlags;    /* parameter flags   */
  11154.        USHORT cbSeg;     /* new size of block */
  11155.  
  11156. USHORT DosSubAlloc(sel, pusOffset, usSize)
  11157.        SEL sel;              /* segment selector               */
  11158.        PUSHORT pusOffset;    /* pointer to variable for offset */
  11159.        USHORT usSize;        /* size of allocation             */
  11160.  
  11161. This Windows function allocates dwBytes of memory from the global heap with the 
  11162. memory type (fixed or moveable) set by wFlags. The Presentation Manager 
  11163. functions allocate global memory and return the address of the segment in 
  11164. SegSel. If more than 64 K bytes is to be allocated, DosAllocHuge should be 
  11165. called with wSizeLast set to the number of bytes in the last segment to be 
  11166. allocated and wShareInd set to 1 if the memory will be shared with other 
  11167. applications or 0 otherwise. wMaxSegs indicates the maximum number of segments 
  11168. that this memory block will cover (it may be reallocated to be a larger size). 
  11169. In order to access a subsequent segment (beyond the first), the application 
  11170. needs to call DosGetHugeShift to get wShiftCount. The application then adds '2 
  11171. to the wShiftCount power' to SegSel to get the next segment. The DosAllocSeg 
  11172. function is similar, and allocates the memory from one segment. In many Windows 
  11173. applications, GlobalAlloc is used to allocate small chunks of memory instead of 
  11174. large memory blocks. If this is the case, the application can use DosAllocSeg 
  11175. to allocate a segment and can call DosSubSet on that segment to prepare it for 
  11176. sub-allocation. The wFlags parameter is 0 if the application has already called 
  11177. DosSubSet at least once for the segment, and the segment should be increased by 
  11178. wSize. Otherwise, wFlags should be 1. After calling DosSubSet, the application 
  11179. can allocate memory from the segment by calling DosSubAlloc. 
  11180.  
  11181.  
  11182. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11183.  
  11184. Windows 
  11185.  
  11186. DWORD GlobalCompact(dwMinFree);
  11187.       DWORD dwMinFree;
  11188.  
  11189. Presentation Manager 
  11190.  
  11191. USHORT DosMemAvail(pulAvailMem)
  11192.        PULONG pulAvailMem;    /* available memory */
  11193.  
  11194. This Windows function compacts global memory to generate dwMinFree free bytes. 
  11195. In Presentation Manager, no compaction of global memory is performed. 
  11196. DosMemAvail returns the largest existing memory block which may be allocated. 
  11197.  
  11198.  
  11199. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11200.  
  11201. Windows 
  11202.  
  11203. HANDLE GlobalDiscard(hMem);
  11204.        HANDLE hMem;
  11205.  
  11206. Presentation Manager 
  11207.  
  11208. No equivalent 
  11209.  
  11210. This Windows function discards globals memory block hMem if reference count is 
  11211. zero. There is no PM or Presentation Manager equivalent to this function. 
  11212.  
  11213.  
  11214. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11215.  
  11216. Windows 
  11217.  
  11218. WORD GlobalFlags(hMem);
  11219.      HANDLE hMem;
  11220.  
  11221. Presentation Manager 
  11222.  
  11223. No equivalent 
  11224.  
  11225. This Windows function returns the memory type of global memory block hMem. 
  11226. There is no PM or Presentation Manager equivalent to this function. 
  11227.  
  11228.  
  11229. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11230.  
  11231. Windows 
  11232.  
  11233. HANDLE GlobalFree(hMem);
  11234.        HANDLE hMem;
  11235.  
  11236. Presentation Manager 
  11237.  
  11238. USHORT DosFreeSeg(sel)
  11239.        SEL sel;    /* selector */
  11240.  
  11241. USHORT DosSubFree(sel, offBlock, cbBlock)
  11242.        SEL sel;            /* segment selector */
  11243.        USHORT offBlock;    /* block offset     */
  11244.        USHORT cbBlock;     /* size of block    */
  11245.  
  11246. This Windows function removes global memory block hMem from memory if reference 
  11247. count is zero. If the memory block was allocated by DosAllocHuge or 
  11248. DosAllocSeg, the function DosFreeSeg should be called. If the memory block was 
  11249. allocated by DosSubAlloc, then DosSubFree should be called. 
  11250.  
  11251. See Also:
  11252.  
  11253.  DosAllocHuge DosSubAlloc DosAllocSeg 
  11254.  
  11255.  
  11256. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11257.  
  11258. Windows 
  11259.  
  11260. DWORD GlobalHandle(wMem);
  11261.       WORD wMem;
  11262.  
  11263. Presentation Manager 
  11264.  
  11265. No equivalent 
  11266.  
  11267. This Windows function retrieves the handle of the global memory object whose 
  11268. segment address is wMem. There is no PM or Presentation Manager equivalent to 
  11269. this function. 
  11270.  
  11271.  
  11272. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11273.  
  11274. Windows 
  11275.  
  11276. LPSTR GlobalLock(hMem);
  11277.       HANDLE hMem;
  11278.  
  11279. Presentation Manager 
  11280.  
  11281. USHORT DosLockSeg(sel)
  11282.        SEL sel;    /* selector to lock */
  11283.  
  11284. This Windows function returns address of global memory block hMem, locks block 
  11285. in memory, and increases reference count by one. The Presentation Manager 
  11286. function is only applicable for global memory blocks allocated with the 
  11287. DosAllocSeg call and specified as discardable. For these blocks, this call 
  11288. prevents them from being discarded. 
  11289.  
  11290. See Also:
  11291.  
  11292.  DosAllocSeg 
  11293.  
  11294.  
  11295. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11296.  
  11297. Windows 
  11298.  
  11299. HANDLE GlobalReAlloc(hMem, dwBytes, wFlags);
  11300.        HANDLE hMem;
  11301.        DWORD dwBytes;
  11302.        WORD wFlags;
  11303.  
  11304. Presentation Manager 
  11305.  
  11306. USHORT DosReallocSeg(usNewSize, sel)
  11307.        USHORT usNewSize;    /* new segment size */
  11308.        SEL sel;             /* selector         */
  11309.  
  11310. USHORT DosReallocHuge(usNumSeg, usPartialSize, sel)
  11311.        USHORT usNumSeg;         /* number of 65,536-byte segments  */
  11312.        USHORT usPartialSize;    /* number of bytes in last segment */
  11313.        SEL sel;                 /* selector                        */
  11314.  
  11315. This Windows function reallocates the global memory block hMem to dwBytes and 
  11316. memory type wFlags. These Presentation Manager functions are equivalent. 
  11317.  
  11318.  
  11319. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11320.  
  11321. Windows 
  11322.  
  11323. DWORD GlobalSize(hMem);
  11324. HANDLE hMem;
  11325.  
  11326. Presentation Manager 
  11327.  
  11328. No equivalent
  11329.  
  11330. This Windows function returns the size, in bytes, of global memory block
  11331. hMem. There is no Presentation Manager equivalent to this function.
  11332.  
  11333.  
  11334. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11335.  
  11336. Windows 
  11337.  
  11338. BOOL GlobalUnlock(hMem);
  11339.      HANDLE hMem;
  11340.  
  11341. Presentation Manager 
  11342.  
  11343. USHORT DosUnlockSeg(sel)
  11344.        SEL sel;    /* selector of segment to be unlocked */
  11345.  
  11346. This Windows function unlocks global memory block hMem and decreases the 
  11347. reference count by one. The Presentation Manager function is only applicable 
  11348. for memory blocks allocated with the DosAllocSeg call and specified as 
  11349. discardable. For these blocks, this call reduces the reference counter, and 
  11350. these blocks may be discarded when the reference counter reaches 0. 
  11351.  
  11352. See Also:
  11353.  
  11354.  DosAllocSeg 
  11355.  
  11356.  
  11357. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11358.  
  11359. Windows 
  11360.  
  11361. BOOL GrayString(hDC, hBrush, lpOutputFunc, lpData, wCount, X, Y,
  11362.                 wWidth, wHeight);
  11363.      HDC hDC;
  11364.      HBRUSH hBrush;
  11365.      FARPROC lpOutputFunc;
  11366.      DWORD lpData;
  11367.      INT wCount;
  11368.      INT X;
  11369.      INT Y;
  11370.      INT wWidth;
  11371.      INT wHeight;
  11372.  
  11373. Presentation Manager 
  11374.  
  11375. SHORT WinDrawText(hps, cchText, pchText, pcrl, clrFore, clrBack, rgfCmd)
  11376.       HPS hps;
  11377.       SHORT cchText;
  11378.       PSZ pchText;
  11379.       PRECTL prcl;
  11380.       LONG clrFore;
  11381.       LONG clrBack;
  11382.       USHORT rgfCmd;
  11383.  
  11384. LONG GpiCharString(hps, cchString, pchString)
  11385.      HPS hps;
  11386.      LONG cchString;
  11387.      PCH pchString;
  11388.  
  11389. This Windows function writes wCount characters of string at X, Y, using 
  11390. lpOutputFunc (or TextOut if NULL), graying text using hBrush; lpData specifies 
  11391. output string or data to be passed to lpOutputFunc. In PM, the application may 
  11392. call WinDrawText with DT_HALFTONE as one of the options (see DT_* translation 
  11393. for other options). Additionally, the application may call GpiCharString which 
  11394. draws the character string using the attributes currently selected into the PS. 
  11395.  
  11396.  
  11397. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11398.  
  11399. Windows 
  11400.  
  11401. VOID HideCaret(hwnd);
  11402.      HWND hwnd;
  11403.  
  11404. Presentation Manager 
  11405.  
  11406. BOOL WinShowCursor(hwnd, fShow)
  11407.      HWND hwnd;
  11408.      BOOL fShow;
  11409.  
  11410. This Windows function removes the system caret from the given window. The 
  11411. Presentation Manager function is similar and should be called with fShow set to 
  11412. FALSE. 
  11413.  
  11414.  
  11415. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11416.  
  11417. Windows 
  11418.  
  11419. BOOL HiliteMenuItem(hwnd, hMenu, wId, wHilite);
  11420.      HWND hwnd;
  11421.      HMENU hMenu;
  11422.      WORD wId;
  11423.      WORD wHilite;
  11424.  
  11425. Presentation Manager 
  11426.  
  11427. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  11428.         HWND hwnd;
  11429.         USHORT msg;
  11430.         MPARAM mp1;
  11431.         MPARAM mp2;
  11432.  
  11433. This windows function highlights or removes the highlighting from a top-level 
  11434. (menu bar) menu item. In PM, application can send MM_SETATTR message to menu 
  11435. window handle. Set lParam1 to be menu id in low word and bIncludeSubmenus in 
  11436. high word. Set lParam2 to be MIA_HILITED in low word and either MIA_HILITED or 
  11437. 0 in high word. To unhilite a menu item, for example, send 
  11438. MAKELONG(MIA_HILITED, 0) as the last parameter. Return value is old hilite 
  11439. state of item. 
  11440.  
  11441. See Also:
  11442.  
  11443.  WinSendMsg 
  11444.  
  11445.  
  11446. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11447.  
  11448. Windows 
  11449.  
  11450. INT InflateRect(lpRect, X, Y);
  11451.     LPRECT lpRect;
  11452.     INT X;
  11453.     INT Y;
  11454.  
  11455. Presentation Manager 
  11456.  
  11457. BOOL WinInflateRect(hab, prcl, cx, cy)
  11458.      HAB hab;
  11459.      PRECTL prcl;
  11460.      SHORT cx;
  11461.      SHORT cy;
  11462.  
  11463. This Windows function expands or shrinks the rectangle specified by lpRect by X 
  11464. units on the left and right ends of the rectangle and Y units on the top and 
  11465. bottom. The Presentation Manager function is equivalent. 
  11466.  
  11467.  
  11468. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11469.  
  11470. Windows 
  11471.  
  11472. BOOL InitAtomTable(wSize);
  11473.      int wSize;
  11474.  
  11475. Presentation Manager 
  11476.  
  11477. HATOMTBL WinCreateAtomTable(cbInitial, cbBuckets)
  11478.          USHORT cbInitial;
  11479.          USHORT cbBuckets;
  11480.  
  11481. This Windows function initializes atom hash table and sets it to wSize atoms. 
  11482. The Presentation Manager function is similar and may be called with wBytes set 
  11483. to 0 in order to use the default value as the initial size. 
  11484.  
  11485.  
  11486. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11487.  
  11488. Windows 
  11489.  
  11490. BOOL InSendMessage();
  11491.  
  11492. Presentation Manager 
  11493.  
  11494. BOOL WinInSendMsg(hab)
  11495.      HAB hab;
  11496.  
  11497. This Windows function returns TRUE if window function is processing a message 
  11498. sent with SendMessage. The Presentation Manager function is equivalent. 
  11499.  
  11500.  
  11501. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11502.  
  11503. Windows 
  11504.  
  11505. short IntersectClipRect(hDC, X1, Y1, X2, Y2);
  11506.       HDC hDC;
  11507.       SHORT X1;
  11508.       SHORT Y1;
  11509.       SHORT X2;
  11510.       SHORT Y2;
  11511.  
  11512. Presentation Manager 
  11513.  
  11514. BOOL WinMakeRect(hab, pwrc)
  11515.      HAB hab;
  11516.      PWRECT pwrc;
  11517.  
  11518. LONG GpiIntersectClipRectangle(hps, pgrc)
  11519.      HPS hps;
  11520.      PRECTL pgrc;
  11521.  
  11522. This Windows function forms new clipping region from intersection of current 
  11523. clipping region and given rectangle. The Presentation Manager function is is 
  11524. equivalent. The Presentation Manager function WinMakeRect transforms a word 
  11525. WRECT structure into a RECTL structure and can be called to obtain pRectL. 
  11526.  
  11527. See Also:
  11528.  
  11529.  WinMakeRect 
  11530.  
  11531.  
  11532. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11533.  
  11534. Windows 
  11535.  
  11536. int IntersectRect(lpDest, lpSrc1, lpSrc2);
  11537.     LPRECT lpDest;
  11538.     LPRECT lpSrc1;
  11539.     LPRECT lpSrc2;
  11540.  
  11541. Presentation Manager 
  11542.  
  11543. BOOL WinIntersectRect(hab, prclDst, prclSrc1, prclSrc2)
  11544.      HAB hab;
  11545.      PRECTL prclDst;
  11546.      PRECTL prclSrc1;
  11547.      PRECTL prclSrc2;
  11548.  
  11549. This Windows function finds the intersection of two rectangles and copies it to 
  11550. lpDest. The Presentation Manager function is equivalent. 
  11551.  
  11552.  
  11553. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11554.  
  11555. Windows 
  11556.  
  11557. VOID InvalidateRect(hwnd, lpRect, fErase);
  11558.      HWND hwnd;
  11559.      LPRECT lpRect;
  11560.      BOOL fErase;
  11561.  
  11562. Presentation Manager 
  11563.  
  11564. BOOL WinInvalidateRect(hwnd, prcl, fIncludeChildren)
  11565.      HWND hwnd;
  11566.      PRECTL prcl;
  11567.      BOOL fIncludeChildren;
  11568.  
  11569. This Windows function marks for repainting the rectangle specified by lpRect 
  11570. (in client coordinates); the rectangle is erased if fErase is nonzero. The 
  11571. Presentation Manager function is the same. 
  11572.  
  11573.  
  11574. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11575.  
  11576. Windows 
  11577.  
  11578. VOID InvalidateRgn(hwnd, hrgn, fErase);
  11579.      HWND hwnd;
  11580.      HRGN hrgn;
  11581.      BOOL fErase;
  11582.  
  11583. Presentation Manager 
  11584.  
  11585. BOOL WinInvalidateRegion(hwnd, hrgn, fIncludeChildren)
  11586.      HWND hwnd;
  11587.      HRGN hrgn;
  11588.      BOOL fIncludeChildren;
  11589.  
  11590. This Windows function marks hrgn for repainting; the region is erased if fErase 
  11591. is nonzero. The Presentation Manager function is the same. 
  11592.  
  11593.  
  11594. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11595.  
  11596. Windows 
  11597.  
  11598. INT InvertRect(hDC, lpRect);
  11599.     HDC hDC;
  11600.     LPRECT lpRect;
  11601.  
  11602. Presentation Manager 
  11603.  
  11604. BOOL WinInvertRect(hps, prcl)
  11605.      HPS hps;
  11606.      PRECTL prcl;
  11607.  
  11608. This Windows function inverts the display bits of the specified rectangle. The 
  11609. Presentation Manager function is equivalent. 
  11610.  
  11611.  
  11612. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11613.  
  11614. Windows 
  11615.  
  11616. BOOL InvertRgn(hDC, hRGN);
  11617.      HDC hDC;
  11618.      HRGN hRGN;
  11619.  
  11620. Presentation Manager 
  11621.  
  11622. BOOL GpiSetMix(hps, lMixMode)
  11623.      HPS hps;
  11624.      LONG lMixMode;
  11625.  
  11626. LONG GpiPaintRegion(hps, hrgn)
  11627.      HPS hps;
  11628.      HRGN hrgn;
  11629.  
  11630. This Windows function inverts the colors in the region specified by hRGN. In 
  11631. PM, the application can call GpiSetMix to set the mix-mode to FM_INVERT. After 
  11632. this is done, GpiPaintRegion can be called with the specified region. 
  11633.  
  11634. See Also:
  11635.  
  11636.  GpiPaintRegion 
  11637.  
  11638.  
  11639. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11640.  
  11641. Windows 
  11642.  
  11643. BOOL IsChild(hParent, hWnd);
  11644.      HWND hParent;
  11645.      HWND hWnd;
  11646.  
  11647. Presentation Manager 
  11648.  
  11649. BOOL WinIsChild(hwnd, hwndParent)
  11650.      HWND hwnd;
  11651.      HWND hwndParent;
  11652.  
  11653. This Windows function returns TRUE if given window is a child of hParent. The 
  11654. Presentation Manager function returns TRUE if hChild is a descendent of 
  11655. hParent. 
  11656.  
  11657.  
  11658. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11659.  
  11660. Windows 
  11661.  
  11662. BOOL IsClipboardFormatAvailable(wFormat);
  11663.      WORD wFormat;
  11664.  
  11665. Presentation Manager 
  11666.  
  11667. BOOL WinQueryClipbrdFmtInfo(hab, fmt, pfFmtInfo)
  11668.      HAB hab;
  11669.      USHORT fmt;
  11670.      PUSHORT pfFmtInfo;
  11671.  
  11672. This Windows function returns TRUE if data in given format is available. The 
  11673. Presentation Manager function is equivalent. Additionally, if the format is 
  11674. available, lpInfo will contain the CFI_* flags (CFI_SELECTOR, CFI_OWNERFRand 
  11675. CFI_OWNERDISPLAY) which were used when the data was put on the clipboard. 
  11676.  
  11677.  
  11678. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11679.  
  11680. Windows 
  11681.  
  11682. BOOL IsDialogMessage(hDlg, lpMsg);
  11683.      HWND hDlg;
  11684.      LPMSG lpMsg;
  11685.  
  11686. Presentation Manager 
  11687.  
  11688. USHORT WinProcessDlg(hwndDlg)
  11689.        HWND hwndDlg;
  11690.  
  11691. This Windows function determines whether lpMsg is intended for the given 
  11692. modeless dialog box; if so, the message is processed and fUsed is nonzero. The 
  11693. Presentation Manager function is the same. 
  11694.  
  11695.  
  11696. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11697.  
  11698. Windows 
  11699.  
  11700. WORD IsDlgButtonChecked(hDlg, wId);
  11701.      HWND hDlg;
  11702.      int wId;
  11703.  
  11704. Presentation Manager 
  11705.  
  11706. MRESULT WinSendDlgItemMsg(hwndDlg, idItem, msg, mp1, mp2)
  11707.         HWND hwndDlg;
  11708.         USHORT idItem;
  11709.         USHORT msg;
  11710.         MPARAM mp1;
  11711.         MPARAM mp2;
  11712.  
  11713. This Windows function tests whether wId button is checked; for a 3-state 
  11714. button, returns 2 for grayed, 1 for checked, zero for neither. The PM 
  11715. application should send BM_QUERYCHECK message to the button control with both 
  11716. message parameters 0. The return value is the check position. 
  11717.  
  11718.  
  11719. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11720.  
  11721. Windows 
  11722.  
  11723. BOOL IsIconic(hwnd);
  11724.      HWND hwnd;
  11725.  
  11726. Presentation Manager 
  11727.  
  11728. BOOL WinQueryWindowPos(hwnd, pswp)
  11729.      HWND hwnd;
  11730.      PSWP pswp;
  11731.  
  11732. This Windows function specifies whether or not a window is open or closed 
  11733. (iconic). After the Presentation Manager function is called, the fs field of 
  11734. pSwp structure should be checked to see if SWP_MINIMIZE is set. 
  11735.  
  11736.  
  11737. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11738.  
  11739. Windows 
  11740.  
  11741. BOOL IsWindow(hwnd);
  11742.      HWND hwnd;
  11743.  
  11744. Presentation Manager 
  11745.  
  11746. BOOL WinIsWindow(hab, hwnd)
  11747.      HAB hab;
  11748.      HWND hwnd;
  11749.  
  11750. This Windows function determines whether or not hwnd is a valid, existing 
  11751. window. The Presentation Manager function is the same. 
  11752.  
  11753.  
  11754. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11755.  
  11756. Windows 
  11757.  
  11758. BOOL IsWindowEnabled(hwnd);
  11759.      HWND hwnd;
  11760.  
  11761. Presentation Manager 
  11762.  
  11763. BOOL WinIsWindowEnabled(hwnd)
  11764.      HWND hwnd;
  11765.  
  11766. This Windows function specifies whether or not hwnd is enabled for mouse and 
  11767. keyboard input. The Presentation Manager function is the same. 
  11768.  
  11769.  
  11770. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11771.  
  11772. Windows 
  11773.  
  11774. BOOL IsWindowVisible(hwnd);
  11775.      HWND hwnd;
  11776.  
  11777. Presentation Manager 
  11778.  
  11779. BOOL WinIsWindowVisible(hwnd)
  11780.      HWND hwnd;
  11781.  
  11782. This Windows function determines whether or not the given window is visible on 
  11783. the screen. The Presentation Manager function is the same. 
  11784.  
  11785.  
  11786. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11787.  
  11788. Windows 
  11789.  
  11790. BOOL KillTimer(hWnd, wIdEvent);
  11791.      HWND hWnd;
  11792.      SHORT wIdEvent;
  11793.  
  11794. Presentation Manager 
  11795.  
  11796. BOOL WinStopTimer(hab, hwnd, idTimer)
  11797.      HAB hab;
  11798.      HWND hwnd;
  11799.      USHORT idTimer;
  11800.  
  11801. This Windows function kills the timer event identified by hWnd and wIdEvent. 
  11802. The Presentation Manager function is equivalent. 
  11803.  
  11804.  
  11805. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11806.  
  11807. Windows 
  11808.  
  11809. void LineDDA(X1, Y1, X2, Y2, lpLineFunc, lpData);
  11810.      SHORT X1;
  11811.      SHORT Y1;
  11812.      SHORT X2;
  11813.      SHORT Y2;
  11814.      FARPROC lpLineFunc;
  11815.      LPSTR lpData;
  11816.  
  11817. Presentation Manager 
  11818.  
  11819. No equivalent 
  11820.  
  11821. Windows function computes successive points in line starting at X1, Y1 and 
  11822. ending at X2, Y2, passing each point and lpData parameter to lpLineFunc 
  11823. function. 
  11824.  
  11825.  
  11826. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11827.  
  11828. Windows 
  11829.  
  11830. BOOL LineTo(hDC, X, Y);
  11831.      HDC hDC;
  11832.      SHORT X;
  11833.      SHORT Y;
  11834.  
  11835. Presentation Manager 
  11836.  
  11837. LONG GpiLine(hps, pptl)
  11838.      HPS hps;
  11839.      PPOINTL pptl;
  11840.  
  11841. This Windows function draws a line with the current pen from the current 
  11842. position up to the point X, Y. The Presentation Manager function is equivalent. 
  11843.  
  11844.  
  11845. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11846.  
  11847. Windows 
  11848.  
  11849. HANDLE LoadAccelerators(hInst, lpTableName);
  11850.        HANDLE hInst;
  11851.        LPSTR lpTableName;
  11852.  
  11853. Presentation Manager 
  11854.  
  11855. HACCEL WinLoadAccelTable(hab, hmod, idAccelTable)
  11856.        HAB hab;
  11857.        HMODULE hmod;
  11858.        USHORT idAccelTable;
  11859.  
  11860. This Windows function is used to load the accelerator table named by 
  11861. lpTableName. In Windows, applications needed to load accelerator table and call 
  11862. TranslateAccelerator in message loop. In PM, this is done automatically if the 
  11863. top level window is created with WinCreateStdWindow and the wId parameter 
  11864. matches the id of the accelerator table. WinLoadAccelTable allows applications 
  11865. to load the accelerator table manually. 
  11866.  
  11867. See Also:
  11868.  
  11869.  TranslateAccelerator WinCreateStdWindow 
  11870.  
  11871.  
  11872. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11873.  
  11874. Windows 
  11875.  
  11876. HBITMAP LoadBitmap(hInst, lpName);
  11877.         HANDLE hInst;
  11878.         LPSTR lpName;
  11879.  
  11880. Presentation Manager 
  11881.  
  11882. HBITMAP GpiLoadBitmap(hps, hModule, idBitmap, lWidth, lHeight)
  11883.         HPS hps;
  11884.         USHORT hModule;
  11885.         USHORT idBitmap;
  11886.         LONG lWidth;
  11887.         LONG lHeight;
  11888.  
  11889. This Windows function loads the bitmap resource named by lpName from the 
  11890. application resource file. The Presentation Manager function is equivalent; 
  11891. idMod can be set to NULL if the application resource file is to be used. 
  11892.  
  11893.  
  11894. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11895.  
  11896. Windows 
  11897.  
  11898. HCURSOR LoadCursor(hInst, lpCursorName);
  11899.         HANDLE hInst;
  11900.         LPSTR lpCursorName;
  11901.  
  11902. Presentation Manager 
  11903.  
  11904. HPOINTER WinQuerySysPointer(hwndDesktop, iptr, fLoad)
  11905.          HWND hwndDesktop;
  11906.          SHORT iptr;
  11907.          BOOL fLoad;
  11908.  
  11909. HPOINTER WinLoadPointer(hwndDesktop, hmod, idres)
  11910.          HWND hwndDesktop;
  11911.          HMODULE hmod;
  11912.          USHORT idres;
  11913.  
  11914. This Windows function loads the cursor resource named by lpCursorName. The 
  11915. Presentation Manager function is equivalent; if the cursor should be loaded 
  11916. from the application resource file, WinLoadPointer should be called with NULL 
  11917. sent for hMod. If the cursor requested is one of the system pointers, 
  11918. WinQuerySysPointer should be called. The constants for the system pointers have 
  11919. changed; see translations for IDC_* constants. 
  11920.  
  11921. See Also:
  11922.  
  11923.  WinQuerySysPointer 
  11924.  
  11925.  
  11926. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11927.  
  11928. Windows 
  11929.  
  11930. HANDLE LoadLibrary(lpLibFileName);
  11931.        LPSTR lpLibFileName;
  11932.  
  11933. Presentation Manager 
  11934.  
  11935. USHORT DosLoadModule(pszFailName, cbFileName, pszModName, phMod)
  11936.        PSZ pszFailName;   /* pointer to buffer for failure name    */
  11937.        USHORT cbFileName; /* length of failure-name buffer         */
  11938.        PSZ pszModName;    /* pointer to module name                */
  11939.        PHMODULE phmod;    /* pointer to variable for module handle */
  11940.  
  11941. This Windows function loads the library module named by lpLibFileName. The 
  11942. Presentation Manager function loads the dynamic link module specified by 
  11943. pModName. If an error occurs, the name of the object which led to the error is 
  11944. stored in pObjectBuf. Otherwise, wpModHandle will contain the handle to the 
  11945. loaded module. 
  11946.  
  11947.  
  11948. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11949.  
  11950. Windows 
  11951.  
  11952. HMENU LoadMenu(hInst, lpMenuName);
  11953.       HANDLE hInst;
  11954.       LPSTR lpMenuName;
  11955.  
  11956. Presentation Manager 
  11957.  
  11958. HWND WinLoadMenu(owner, hmod, menuid)
  11959.      HWND owner;
  11960.      HMODULE hmod;
  11961.      USHORT menuid;
  11962. The Windows functions loads a menu from the resource file and returns a handle. 
  11963. The Presentation Manager function is similar. If hwnd is specified as NULL, the 
  11964. menu is created but is not associated with a window. If hMod is NULL, the menu 
  11965. template is retrieved from the application resource file. 
  11966.  
  11967.  
  11968. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11969.  
  11970. Windows 
  11971.  
  11972. HANDLE LoadResource(hInst, hResInfo);
  11973.        HANDLE hInst;
  11974.        HANDLE hResInfo;
  11975.  
  11976. Presentation Manager 
  11977.  
  11978. No equivalent 
  11979.  
  11980. This Windows function loads the resource hResInfo and returns a handle to the 
  11981. resource. 
  11982.  
  11983.  
  11984. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  11985.  
  11986. Windows 
  11987.  
  11988. INT LoadString(hInst, wId, lpString, wMax);
  11989.     HANDLE hInst;
  11990.     USHORT wId;
  11991.     LPSTR lpString;
  11992.     INT wMax;
  11993.  
  11994. Presentation Manager 
  11995.  
  11996. SHORT WinLoadString(hab, hmod, id, cchMax, pchBuffer)
  11997.       HAB hab;
  11998.       HMODULE hmod;
  11999.       USHORT id;
  12000.       SHORT cchMax;
  12001.       PSZ pchBuffer;
  12002.  
  12003. This Windows function loads string resource wId into the buffer lpString, 
  12004. copying up to wMax characters. The Presentation Manager function is equivalent 
  12005. to the Windows function. If NULL is passed in for hMod, the stringtable is 
  12006. accessed from the application resource file. 
  12007.  
  12008.  
  12009. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12010.  
  12011. Windows 
  12012.  
  12013. HANDLE LocalAlloc(wFlags, wBytes);
  12014.        WORD wFlags;
  12015.        WORD wBytes;
  12016.  
  12017. Presentation Manager 
  12018.  
  12019. NPBYTE WinAllocMem(hHeap, cb)
  12020.        HHEAP hHeap;    /* handle to heap              */
  12021.        USHORT cb;      /* number of bytes to allocate */
  12022.  
  12023. This Windows function allocates wBytes of memory from the local heap; memory 
  12024. type (e.g., fixed or moveable) is set by wFlags. The Presentation Manager 
  12025. function also allocates a memory block from the local heap. In Presentation 
  12026. Manager, the heap must be created by the application (see translation for 
  12027. WinMain). hHeap is the handle returned by WinCreateHeap. The pointer returned 
  12028. by WinAllocMem points to 2 reserved words followed by the memory block. If the 
  12029. block is be a moveable block (specified in Windows by the LMEM_MOVEABLE flag), 
  12030. a pointer to the memory block can be stored in the first word. When this block 
  12031. is moved, the pointer stored in the first word is updated to reflect the new 
  12032. position of the block. This is similar to the way in which Windows updates the 
  12033. handle to the memory block when it is moved, the difference being that in 
  12034. Windows, copies of the handle are updated also. If the block is non-moveable, 
  12035. the first reserved word should remain 0. The second reserved word stores the 
  12036. size of the memory block which follows. 
  12037.  
  12038. See Also:
  12039.  
  12040.  WinCreateHeap 
  12041.  
  12042.  
  12043. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12044.  
  12045. Windows 
  12046.  
  12047. WORD LocalCompact(wMinFree);
  12048.      WORD wMinFree;
  12049.  
  12050. Presentation Manager 
  12051.  
  12052. No equivalent 
  12053.  
  12054. This Windows function compacts local memory to generate wMinFree free bytes. 
  12055.  
  12056.  
  12057. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12058.  
  12059. Windows 
  12060.  
  12061. HANDLE LocalDiscard(hMem);
  12062.        HANDLE hMem;
  12063.  
  12064. Presentation Manager 
  12065.  
  12066. No equivalent 
  12067.  
  12068. This Windows function discards the local memory block hMem if reference count 
  12069. is zero. In PM, memory blocks cannot be discarded so this function has no 
  12070. equivalent. 
  12071.  
  12072.  
  12073. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12074.  
  12075. Windows 
  12076.  
  12077. WORD LocalFlags(hMem);
  12078.      HANDLE hMem;
  12079.  
  12080. Presentation Manager 
  12081.  
  12082. No equivalent 
  12083.  
  12084. This Windows function returns the status of the memory block, i.e. whether it 
  12085. has been discarded or is marked as discardable. In PM, memory blocks cannot be 
  12086. discarded so this function has no equivalent. 
  12087.  
  12088.  
  12089. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12090.  
  12091. Windows 
  12092.  
  12093. HANDLE LocalFree(hMem);
  12094.        HANDLE hMem;
  12095.  
  12096. Presentation Manager 
  12097.  
  12098. NPBYTE WinFreeMem(hHeap, npMem, cbMem)
  12099.        HHEAP hHeap;
  12100.        NPBYTE npMem;
  12101.        USHORT cbMem;
  12102.  
  12103. This Windows function frees local memory block hMem from memory if reference 
  12104. count is 0. The Presentation Manager function also frees allocated memory 
  12105. blocks in the local heap. If the Presentation Manager heap is moveable (see 
  12106. WinMain translation), the wBytes parameter is ignored. hHeap is the handle to 
  12107. the heap returned by WinCreateHeap. 
  12108.  
  12109. See Also:
  12110.  
  12111.  WinCreateHeap 
  12112.  
  12113.  
  12114. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12115.  
  12116. Windows 
  12117.  
  12118. VOID LocalFreeze(wDummy);
  12119.      WORD wDummy;
  12120.  
  12121. Presentation Manager 
  12122.  
  12123. No equivalent 
  12124.  
  12125. This Windows function prevents the heap from being compacted. There is no PM 
  12126. equivalent. 
  12127.  
  12128.  
  12129. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12130.  
  12131. Windows 
  12132.  
  12133. HANDLE LocalHandle(wMem);
  12134.        WORD wMem;
  12135.  
  12136. Presentation Manager 
  12137.  
  12138. No equivalent 
  12139.  
  12140. This Windows function retrieves the handle of the local memory object whose 
  12141. address is wMem. There is no PM equivalent to this function. 
  12142.  
  12143.  
  12144. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12145.  
  12146. Windows 
  12147.  
  12148. WORD LocalHandleDelta(wNewDelta);
  12149.      WORD wNewDelta;
  12150.  
  12151. Presentation Manager 
  12152.  
  12153. No equivalent 
  12154.  
  12155. This Windows function sets the number of new handles entries to be added to the 
  12156. handle table when it is filled. In PM, the equivalent to handles are stored at 
  12157. the beginning of each memory block (see LocalAlloc and WinMain translations), 
  12158. so this function has no equivalent. 
  12159.  
  12160.  
  12161. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12162.  
  12163. Windows 
  12164.  
  12165. BOOL LocalInit(wValue, pString, pString);
  12166.      WORD wValue;
  12167.      NPCH pString;
  12168.      NPCH pString;
  12169.  
  12170. Presentation Manager 
  12171.  
  12172. No equivalent 
  12173.  
  12174. This Windows function initializes the local heap. There is no equivalent in PM. 
  12175.  
  12176.  
  12177. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12178.  
  12179. Windows 
  12180.  
  12181. CHAR * LocalLock(hMem);
  12182.      HANDLE hMem;
  12183.  
  12184. Presentation Manager 
  12185.  
  12186. No equivalent 
  12187.  
  12188. This function locks a memory block, preventing it from being moved or 
  12189. discarded. In PM, the first reserved word in a memory block (see LocalAlloc and 
  12190. WinMain translations) indicates whether it can be moved. If this word is 0, the 
  12191. block may not be moved. In PM, memory blocks are never discarded. 
  12192.  
  12193.  
  12194. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12195.  
  12196. Windows 
  12197.  
  12198. VOID LocalMelt(dummy);
  12199.      WORD dummy;
  12200.  
  12201. Presentation Manager 
  12202.  
  12203. No equivalent 
  12204.  
  12205. This Windows function is the complement of the LocalFreeze function and 
  12206. specifies that the heap can be compacted. There is no PM equivalent. 
  12207.  
  12208.  
  12209. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12210.  
  12211. Windows 
  12212.  
  12213. FARPROC LocalNotify(lpFunc);
  12214.         FARPROC lpFunc;
  12215.  
  12216. Presentation Manager 
  12217.  
  12218. No equivalent 
  12219.  
  12220. This Windows function sets the callback function for handling notification 
  12221. messages from local memory. There is no equivalent Presentation Manager 
  12222. function. 
  12223.  
  12224.  
  12225. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12226.  
  12227. Windows 
  12228.  
  12229. HANDLE LocalReAlloc(hMem, wNewSize, wFlags);
  12230.        HANDLE hMem;
  12231.        WORD wNewSize;
  12232.        WORD wFlags;
  12233.  
  12234. Presentation Manager 
  12235.  
  12236. NPBYTE WinReallocMem(hHeap, npMem, cbOld, cbNew)
  12237.        HHEAP hHeap;
  12238.        NPBYTE npMem;
  12239.        USHORT cbOld;
  12240.        USHORT cbNew;
  12241. The Windows function reallocates the memory block, changing the size to that 
  12242. specified. The Presentation Manager function performs the same operation. hHeap 
  12243. is the handle to the heap returned by WinCreateHeap. If the heap was specified 
  12244. as moveable, the wOldSize parameter is ignored (see WinMain translation). 
  12245.  
  12246. See Also:
  12247.  
  12248.  WinCreateHeap 
  12249.  
  12250.  
  12251. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12252.  
  12253. Windows 
  12254.  
  12255. WORD LocalSize(hMem);
  12256.      HANDLE hMem;
  12257.  
  12258. Presentation Manager 
  12259.  
  12260. No equivalent 
  12261.  
  12262. This Windows function returns the current size of the memory block. In PM, the 
  12263. size of the memory block is stored in the second reserved word at the beginning 
  12264. of the block (see LocalAlloc and WinMain translations). 
  12265.  
  12266.  
  12267. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12268.  
  12269. Windows 
  12270.  
  12271. BOOL LocalUnlock(hMem);
  12272.      HANDLE hMem;
  12273.  
  12274. Presentation Manager 
  12275.  
  12276. No equivalent 
  12277.  
  12278. This Windows function unlocks a memory block, allowing it to be moved or 
  12279. discarded (depending on the style set when allocating it). In Presentation 
  12280. Manager, the first reserved word in a memory block (see LocalAlloc and WinMain 
  12281. translations) indicates whether it can be moved. If it is non-zero, the block 
  12282. may be moved. In Presentation Manager, memory blocks are never discarded. 
  12283.  
  12284.  
  12285. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12286.  
  12287. Windows 
  12288.  
  12289. HANDLE LockData(Dummy);
  12290.        WORD Dummy;
  12291.  
  12292. Presentation Manager 
  12293.  
  12294. No equivalent 
  12295.  
  12296. This Windows function locks the data segment in memory. There is no PM 
  12297. equivalent to this function. 
  12298.  
  12299.  
  12300. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12301.  
  12302. Windows 
  12303.  
  12304. LPSTR LockResource(hResInfo);
  12305.       HANDLE hResInfo;
  12306.  
  12307. Presentation Manager 
  12308.  
  12309. No equivalent 
  12310.  
  12311. This Windows function returns the memory address of the resource hResInfo, 
  12312. locks the resource in memory, and increases the reference count by one. 
  12313.  
  12314.  
  12315. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12316.  
  12317. Windows 
  12318.  
  12319. HANDLE LockSegment(wSegment);
  12320.        WORD wSegment;
  12321.  
  12322. Presentation Manager 
  12323.  
  12324. USHORT DosLockSeg(sel)
  12325.        SEL sel;    /* selector to lock */
  12326.  
  12327. This Windows function locks the segment whose segment address is wSegment. The 
  12328. Presentation Manager function is only applicable for segments allocated with 
  12329. the DosAllocSeg call and specified as discardable. For these segments, this 
  12330. call prevents them from being discarded. 
  12331.  
  12332. See Also:
  12333.  
  12334.  DosAllocSeg 
  12335.  
  12336.  
  12337. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12338.  
  12339. Windows 
  12340.  
  12341. BOOL LPtoDP(hDC, pPoints, wNum);
  12342.      HDC hDC;
  12343. PPOINT pPoints;
  12344. short wNum;
  12345.  
  12346. Presentation Manager 
  12347.  
  12348. BOOL GpiConvert(hps, lSrc, lTarg, cPoints, paptlPoints)
  12349.      HPS hps;
  12350.      LONG lSrc;
  12351.      LONG lTarg;
  12352.      LONG cPoints;
  12353.      PPOINTL paptlPoints;
  12354.  
  12355. This Windows function converts logical points into device points. The 
  12356. Presentation Manager function is equivalent and may be called with lSrc set to 
  12357. CVTC_WORLD and lTarg set to CVTC_DEVICE. 
  12358.  
  12359.  
  12360. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12361.  
  12362. Windows 
  12363.  
  12364. FARPROC MakeProcInstance(lpProc, hInst);
  12365.         FARPROC lpProc;
  12366.         HANDLE hInst;
  12367.  
  12368. Presentation Manager 
  12369.  
  12370. No equivalent 
  12371.  
  12372. This Windows function returns a function instance address for function lpProc, 
  12373. with the new address insuring that calls to it will use the same data segment 
  12374. as specified with hInst. There is no PM equivalent to this function. In PM, 
  12375. applications don't need to perform this call for functions which PM will 
  12376. callback. 
  12377.  
  12378.  
  12379. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12380.  
  12381. Windows 
  12382.  
  12383. VOID MapDialogRect(hDlg, lpRect);
  12384.      HWND hDlg;
  12385.      LPRECT lpRect;
  12386.  
  12387. Presentation Manager 
  12388.  
  12389. BOOL WinMapDlgPoints(hwndDlg, pptl, cwpt, fCalcWindowCoords)
  12390.      HWND hwndDlg;
  12391.      PPOINTL pptl;
  12392.      SHORT cwpt;
  12393.      BOOL fCalcWindowCoords;
  12394. This Windows function converts the dialog box coordinates given in lpRect to 
  12395. client coordinates. The Presentation Manager function is more general and can 
  12396. be used to map any number of points from either dialog coordinates to window 
  12397. coordinates or window coordinates to dialog coordinates. 
  12398.  
  12399.  
  12400. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12401.  
  12402. Windows 
  12403.  
  12404. BOOL MessageBeep(wMessageBoxType);
  12405.      WORD wMessageBoxType;
  12406.  
  12407. Presentation Manager 
  12408.  
  12409. BOOL WinAlarm(hwndDesktop, rgfType)
  12410.      HWND hwndDesktop;    /* handle of desktop */
  12411.      USHORT rgfType;      /* alarm style       */
  12412.  
  12413. This Windows function generates a beep at the system speaker when a message box 
  12414. is displayed. The Presentation Manager function is equivalent, with the 
  12415. following flags specified for wWarningType: WA_DEFAULT, WA_WARNING, WA_NOTE, 
  12416. and WA_ERROR. 
  12417.  
  12418.  
  12419. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12420.  
  12421. Windows 
  12422.  
  12423. INT MessageBox(hwnd, lpText, lpCaption, wType);
  12424.     HWND hwnd;
  12425.     LPSTR lpText;
  12426.     LPSTR lpCaption;
  12427.     WORD wType;
  12428.  
  12429. Presentation Manager 
  12430.  
  12431. USHORT WinMessageBox(hwndParent, hwndOwner, pszText, pszCaption,
  12432.                      idWindow, flStyle)
  12433.        HWND hwndParent;
  12434.        HWND hwndOwner;
  12435.        PSZ pszText;
  12436.        PSZ pszCaption;
  12437.        USHORT idWindow;
  12438.        USHORT flStyle;
  12439.  
  12440. This Windows function creates a window with given lpText and lpCaption 
  12441. containing the predefined icons and push buttons defined by wType. PM 
  12442. applications should send HWND_DESKTOP for hDesktop and 0 for wIdHelp. The 
  12443. constants used for wType are the same as in the Windows MessageBox function. 
  12444.  
  12445.  
  12446. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12447.  
  12448. Windows 
  12449.  
  12450. DWORD MoveTo(hDC, X, Y);
  12451.       HDC hDC;
  12452.       SHORT X;
  12453.       SHORT Y;
  12454.  
  12455. Presentation Manager 
  12456.  
  12457. No equivalent 
  12458.  
  12459. This Windows function moves the current position to the point specified by X 
  12460. and Y.  The Presentation Manager function GpiMove does the same. 
  12461.  
  12462. See Also:
  12463.  
  12464.  GpiMove 
  12465.  
  12466.  
  12467. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12468.  
  12469. Windows 
  12470.  
  12471. VOID MoveWindow(hWnd, XPos, YPos, wWidth, wHeight, fRepaint);
  12472.      HWND hWnd;
  12473.      INT XPos;
  12474.      INT YPos;
  12475.      INT wWidth;
  12476.      INT wHeight;
  12477.      BOOL fRepaint;
  12478.  
  12479. Presentation Manager 
  12480.  
  12481. BOOL WinSetWindowPos(hwnd, hwndInsertBehind, x, y, cx, cy, fs)
  12482.      HWND hwnd;
  12483.      HWND hwndInsertBehind;
  12484.      SHORT x;
  12485.      SHORT y;
  12486.      SHORT cx;
  12487.      SHORT cy;
  12488.      USHORT fs;
  12489.  
  12490. This Windows function causes WM_SIZE message to be sent to hwnd; X, Y, wWidth, 
  12491. and wHeight give the new size of the window. In PM, application should call 
  12492. function with wCmd set to SWP_MOVE | SWP_SIZE and hwndInsertBehind set to NULL. 
  12493. If the application is moving the main application window, the handle to the 
  12494. frame window should be passed for hwnd. 
  12495.  
  12496. See Also:
  12497.  
  12498.  WinSetWindowPos, 
  12499.  
  12500.  
  12501. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12502.  
  12503. Windows 
  12504.  
  12505. BOOL OemToAnsi(lpOemStr, lpAnsiStr);
  12506.      LPSTR lpOemStr;
  12507.      LPSTR lpAnsiStr;
  12508.  
  12509. Presentation Manager 
  12510.  
  12511. BOOL WinCpTranslateString(hab, cpSrc, pszSrc, cpDst, cchDestMax, pchDest)
  12512.      HAB hab;
  12513.      USHORT cpSrc;
  12514.      PSZ pszSrc;
  12515.      USHORT cpDst;
  12516.      USHORT cchDestMax;
  12517.      PSZ pchDest;
  12518.  
  12519. This Windows function converts the OEM string to an ANSI string. The PM 
  12520. function is equivalent, translating a string from one code page to another. 
  12521.  
  12522.  
  12523. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12524.  
  12525. Windows 
  12526.  
  12527. short OffsetClipRgn(hDC, X, Y);
  12528.       HDC hDC;
  12529.       SHORT X;
  12530.       SHORT Y;
  12531.  
  12532. Presentation Manager 
  12533.  
  12534. LONG GpiOffsetClipRegion(hps, pptl)
  12535.      HPS hps;
  12536.      PPOINTL pptl;
  12537.  
  12538. This Windows function moves clipping region X units along the x-axis and Y 
  12539. units along the y-axis. The Presentation Manager function is equivalent. 
  12540.  
  12541.  
  12542. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12543.  
  12544. Windows 
  12545.  
  12546. int OffsetRect(lpRect, X, Y);
  12547. LPRECT lpRect;
  12548.        INT X;
  12549.        INT Y;
  12550.  
  12551. Presentation Manager 
  12552.  
  12553. BOOL WinOffsetRect(hab, prcl, cx, cy)
  12554.      HAB hab;
  12555.      PRECTL prcl;
  12556.      SHORT cx;
  12557.      SHORT cy;
  12558.  
  12559. This Windows function moves given rectangle X units along the x-axis and Y 
  12560. units along the y-axis. The Presentation Manager function is equivalent. 
  12561.  
  12562.  
  12563. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12564.  
  12565. Windows 
  12566.  
  12567. short OffsetRgn(hRGN, X, Y);
  12568.       HRGN hRGN;
  12569.       SHORT X;
  12570.       SHORT Y;
  12571.  
  12572. Presentation Manager 
  12573.  
  12574. BOOL GpiOffsetRegion(hps, hrgn, pptl)
  12575.      HPS hps;
  12576.      HRGN hrgn;
  12577.      PPOINTL pptl;
  12578.  
  12579. This Windows function moves the given region X units along the x-axis and Y 
  12580. units along the y-axis. The Presentation Manager function is equivalent. 
  12581.  
  12582.  
  12583. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12584.  
  12585. Windows 
  12586.  
  12587. BOOL OpenClipboard(hwnd);
  12588.      HWND hwnd;
  12589.  
  12590. Presentation Manager 
  12591.  
  12592. BOOL WinOpenClipbrd(hab)
  12593.      HAB hab;
  12594.  
  12595. This Windows function opens clipboard; prevents other applications from 
  12596. modifying its contents. The Presentation Manager function is equivalent. 
  12597.  
  12598.  
  12599. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12600.  
  12601. Windows 
  12602.  
  12603. int OpenFile(lpFileName, lpStruct, wStyle);
  12604.     LPSTR lpFileName;
  12605.     LPOFSTRUCT lpStruct;
  12606.     WORD wStyle;
  12607.  
  12608. Presentation Manager 
  12609.  
  12610. USHORT DosOpen(pszFileName, phf, pusAction, ulFileSize, usAttribute,
  12611.                fOpenFlags, fOpenMode, ulReserved)
  12612.        PSZ pszFileName;       /* pointer to filename                       */
  12613.        PHFILE phf;            /* new pointer to variable for file's handle */
  12614.        PUSHORT pusAction;     /* pointer to variable for action taken      */
  12615.        ULONG ulFileSize;      /* initial allocation size                   */
  12616.        USHORT usAttribute;    /* file attribute                            */
  12617.        USHORT fOpenFlags;     /* open function type                        */
  12618.        USHORT fOpenMode;      /* open mode of file                         */
  12619.        ULONG ulReserved;      /* Must be zero                              */
  12620.  
  12621. USHORT DosDelete(pFile, lReserved);
  12622.        PSZ pFile;
  12623.        DWORD lReserved;
  12624.  
  12625. This Windows function creates, opens, reopens, or deletes file named by 
  12626. lpFileName. 
  12627.  
  12628.  
  12629. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12630.  
  12631. Windows 
  12632.  
  12633. BOOL OpenIcon(IconHwnd);
  12634.      HWND IconHwnd;
  12635.  
  12636. Presentation Manager 
  12637.  
  12638. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  12639.         HWND hwnd;
  12640.         USHORT msg;
  12641.         MPARAM mp1;
  12642.         MPARAM mp2;
  12643.  
  12644. This Windows message opens the specified window by copying the window's caption 
  12645. and client area to the screen and removing its icon from the icon area. In 
  12646. order to open a window which has been minimized, the PM application should send 
  12647. a WM_SYSCOMMAND message to the frame window with the low word of lParam1 
  12648. containing SC_MINIMIZE. This should restore the size and position of the window 
  12649. to its previous values when iconized. 
  12650.  
  12651. See Also:
  12652.  
  12653.  WinSendMsg 
  12654.  
  12655.  
  12656. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12657.  
  12658. Windows 
  12659.  
  12660. VOID OpenSound();
  12661.  
  12662. Presentation Manager 
  12663.  
  12664. No equivalent
  12665. This Windows function opens the play device for exclusive use. There is no
  12666. PM equivalent; sound functions are not supported in PM.
  12667.  
  12668.  
  12669. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12670.  
  12671. Windows 
  12672.  
  12673. BOOL PaintRgn(hDC, hRGN);
  12674.      HDC hDC;
  12675.      HRGN hRGN;
  12676.  
  12677. Presentation Manager 
  12678.  
  12679. LONG GpiPaintRegion(hps, hrgn)
  12680.      HPS hps;
  12681.      HRGN hrgn;
  12682.  
  12683. This Windows function fills the region specified by hRGN with the currently 
  12684. selected brush. The Presentation Manager function is equivalent. 
  12685.  
  12686.  
  12687. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12688.  
  12689. Windows 
  12690.  
  12691. BOOL PatBlt(hDest, X, Y, wWidth, wHeight, dwROP);
  12692.      HDC hDest;
  12693.      SHORT X;
  12694.      SHORT Y;
  12695.      SHORT wWidth;
  12696.      SHORT wHeight;
  12697.      DWORD dwROP;
  12698.  
  12699. Presentation Manager 
  12700.  
  12701. LONG GpiBitBlt(hpsTarg, hpsSrc, cPoints, paptlPoints, lRop, flOptions)
  12702.      HPS hpsTarg;
  12703.      HPS hpsSrc;
  12704.      LONG cPoints;
  12705.      PPOINTL paptlPoints;
  12706.      LONG lRop;
  12707.      LONG flOptions;
  12708.  
  12709. Windows function creates bit pattern on the specified device using dwROP to 
  12710. combine the current brush with the pattern already on the device. The PM 
  12711. function may be called with a ROP which does not include the source (such as 
  12712. ROP_PATCOPY). If such a ROP is specified, hSrc should be NULL and lMode should 
  12713. be BLTMODE_NOSCALE. In addition, lNum should be 2 and pPointL should contains 2 
  12714. points, the bottom left corner of the destination area and the upper right 
  12715. corner of the destination area. 
  12716.  
  12717.  
  12718. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12719.  
  12720. Windows 
  12721.  
  12722. BOOL PeekMessage(lpMsg, hwnd, wFilterMin, wFilterMax, fRemove);
  12723.      LPMSG lpMsg;
  12724.      HWND hwnd;
  12725.      unsigned wFilterMin;
  12726.      WORD wFilterMax;
  12727.      BOOL fRemove;
  12728.  
  12729. Presentation Manager 
  12730.  
  12731. BOOL WinPeekMsg(hab, pqmsg, hwndFilter, msgFilterFirst, msgFilterLast, fs)
  12732.      HAB hab;
  12733.      PQMSG pqmsg;
  12734.      HWND hwndFilter;
  12735.      USHORT msgFilterFirst;
  12736.      USHORT msgFilterLast;
  12737.      USHORT fs;
  12738.  
  12739. This Windows function checks application queue and places message (if any) at 
  12740. lpMsg. Presentation Manager function is similar; wMsgCommand is either 
  12741. PM_REMOVE to remove messages or PM_NOREMOVE to leave. 
  12742.  
  12743.  
  12744. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12745.  
  12746. Windows 
  12747.  
  12748. BOOL PlayMetaFile(hDC, hMF);
  12749.      HDC hDC;
  12750.      HANDLE hMF;
  12751.  
  12752. Presentation Manager 
  12753.  
  12754. LONG GpiPlayMetaFile(hps, hmf, cOptions, alOptions, pcSegments, cchDesc,
  12755.                      pszDesc)
  12756.      HPS hps;
  12757.      HMF hmf;
  12758.      LONG cOptions;
  12759.      PLONG alOptions;
  12760.      PLONG pcSegments;
  12761.      LONG cchDesc;
  12762.      PSZ pszDesc;
  12763.  
  12764. This Windows function plays the contents for the specified metafile on the 
  12765. given device context. The Presentation Manager function is equivalent and may 
  12766. be called with lNum set to 0, lOptionArray set to NULL, lSegCount pointing to 
  12767. 0, lDescLen set to 0, and pDesc set to NULL. 
  12768.  
  12769.  
  12770. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12771.  
  12772. Windows 
  12773.  
  12774. BOOL Polygon(hDC, lpPoints, wNum);
  12775.      HDC hDC;
  12776.      LPPOINT lpPoints;
  12777.      short wNum;
  12778.  
  12779. Presentation Manager 
  12780.  
  12781. BOOL GpiBeginArea(hps, fOptions)
  12782.      HPS hps;
  12783.      ULONG fOptions;
  12784.  
  12785. LONG GpiEndArea(hps)
  12786.      HPS hps;
  12787.  
  12788. LONG GpiPolyLine(hps, cPoints, paptlPoints)
  12789.      HPS hps;
  12790.      LONG cPoints;
  12791.      PPOINTL paptlPoints;
  12792.  
  12793. This Windows function is used to draw a polygon consisting of two or more 
  12794. vertices connected by lines using the current polyfill mode, brush, and pen. In 
  12795. PM, the application begins drawing an area by calling GpiBeginArea with lMode 
  12796. set to the translation of ALTERNATE or WINDING (0 or 1). After the area is 
  12797. begun, the application may call any line drawing primitive, such as GpiLine and 
  12798. GpiPolyLine, to define the vertix and edges of the polygon which will be 
  12799. filled. GpiEndArea should be called when the area has been defined. The area is 
  12800. then drawn with the current LINEBUNDLE and AREABUNDLE attributes stored in the 
  12801. PS. 
  12802.  
  12803. See Also:
  12804.  
  12805.  GpiMove 
  12806.  
  12807.  
  12808. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12809.  
  12810. Windows 
  12811.  
  12812. BOOL Polyline(hDC, lpPoints, wNum);
  12813.      HDC hDC;
  12814.      LPPOINT lpPoints;
  12815.      short wNum;
  12816.  
  12817. Presentation Manager 
  12818.  
  12819. LONG GpiPolyLine(hps, cPoints, paptlPoints)
  12820.      HPS hps;
  12821.      LONG cPoints;
  12822.      PPOINTL paptlPoints;
  12823.  
  12824. This Windows function draws a set of line segments, connecting the wNum points 
  12825. given by lpPoints. The Presentation Manager function is similar, but uses the 
  12826. current position as the first point. After this call, the current position is 
  12827. updated to be the final point. 
  12828.  
  12829. See Also:
  12830.  
  12831.  GpiMove 
  12832.  
  12833.  
  12834. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12835.  
  12836. Windows 
  12837.  
  12838. BOOL PostAppMessage(hTask, wMsg, wParam, lParam);
  12839.      HANDLE hTask;
  12840.      USHORT wMsg;
  12841.      WORD wParam;
  12842.      LONG lParam;
  12843.  
  12844. Presentation Manager 
  12845.  
  12846. BOOL WinPostQueueMsg(hmq, msg, mp1, mp2)
  12847.      HMQ hmq;
  12848.      USHORT msg;
  12849.      MPARAM mp1;
  12850.      MPARAM mp2;
  12851.  
  12852. This Windows function posts message to application; returns without waiting for 
  12853. processing. The Presentation Manager function posts message directly to an 
  12854. application's message queue and returns. 
  12855.  
  12856.  
  12857. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12858.  
  12859. Windows 
  12860.  
  12861. BOOL PostMessage(hwnd, wMsg, wParam, lParam);
  12862.      HWND hwnd;
  12863.      USHORT wMsg;
  12864.      WORD wParam;
  12865.      LONG lParam;
  12866.  
  12867. Presentation Manager 
  12868.  
  12869. BOOL WinPostMsg(hwnd, msg, mp1, mp2)
  12870.      HWND hwnd;
  12871.      USHORT msg;
  12872.      MPARAM mp1;
  12873.      MPARAM mp2;
  12874.  
  12875. This Windows function places message in application queue; returns without 
  12876. waiting for processing. The Presentation Manager function is equivalent. 
  12877.  
  12878.  
  12879. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12880.  
  12881. Windows 
  12882.  
  12883. VOID PostQuitMessage(wExitCode);
  12884.      INT wExitCode;
  12885.  
  12886. Presentation Manager 
  12887.  
  12888. BOOL WinPostMsg(hwnd, msg, mp1, mp2)
  12889.      HWND hwnd;
  12890.      USHORT msg;
  12891.      MPARAM mp1;
  12892.      MPARAM mp2;
  12893.  
  12894. This Windows function posts a WM_QUIT message to the application and returns 
  12895. immediately. The PM application can use WinPostMsg to send WM_QUIT message to 
  12896. the application. PM applications should note that the WM_QUIT message should 
  12897. not be sent as a response to the WM_DESTROY message. See translations for 
  12898. WM_CLOSE and WM_DESTROY. 
  12899.  
  12900.  
  12901. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12902.  
  12903. Windows 
  12904.  
  12905. BOOL PtInRect(lpRect, Pt);
  12906.      LPRECT lpRect;
  12907.      POINT Pt;
  12908.  
  12909. Presentation Manager 
  12910.  
  12911. BOOL WinPtInRect(hab, prcl, pptl)
  12912.      HAB hab;
  12913.      PRECTL prcl;
  12914.      PPOINTL pptl;
  12915.  
  12916. This Windows function indicates whether or not a specified point lies within a 
  12917. given rectangle. The Presentation Manager function is equivalent. 
  12918.  
  12919.  
  12920. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12921.  
  12922. Windows 
  12923.  
  12924. BOOL PtInRegion(hRGN, X, Y);
  12925.      HRGN hRGN;
  12926.      short X;
  12927.      short Y;
  12928.  
  12929. Presentation Manager 
  12930.  
  12931. LONG GpiPtInRegion(hps, hrgn, pptl)
  12932.      HPS hps;
  12933.      HRGN hrgn;
  12934.      PPOINTL pptl;
  12935.  
  12936. This Windows function tests if X, Y is within the given region. The PM function 
  12937. is equivalent. 
  12938.  
  12939.  
  12940. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12941.  
  12942. Windows 
  12943.  
  12944. BOOL PtVisible(hDC, X, Y);
  12945.      HDC hDC;
  12946.      SHORT X;
  12947.      SHORT Y;
  12948.  
  12949. Presentation Manager 
  12950.  
  12951. BOOL WinMakePoints(hab, pwpt, cwpt)
  12952.      HAB hab;
  12953.      PWPOINT pwpt;
  12954.      SHORT cwpt;
  12955.  
  12956. LONG GpiPtVisible(hps, pptl)
  12957.      HPS hps;
  12958.      PPOINTL pptl;
  12959.  
  12960. This Windows function tests if X, Y is within the clipping region of the given 
  12961. display context. In PM, the word point should first be converted to be a long 
  12962. point by calling WinMakePoints. GpiPtVisible may then be called. The return 
  12963. value, wVisible, is defined as follows: 0 if an error occured, 1 if the point 
  12964. is not visible, and 2 if the point is visible. 
  12965.  
  12966. See Also:
  12967.  
  12968.  WinMakePoints 
  12969.  
  12970.  
  12971. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  12972.  
  12973. Windows 
  12974.  
  12975. BOOL Rectangle(hDC, X1, Y1, X2, Y2);
  12976.      HDC hDC;
  12977.      SHORT X1;
  12978.      SHORT Y1;
  12979.      SHORT X2;
  12980.      SHORT Y2;
  12981.  
  12982. Presentation Manager 
  12983.  
  12984. LONG GpiBox(hps, cmdControl, pptlPoint, lHRound, lVRound)
  12985.      HPS hps;
  12986.      LONG cmdControl;
  12987.      PPOINTL pptlPoint;
  12988.      LONG lHRound;
  12989.      LONG lVRound;
  12990.  
  12991. Windows function draws rectangle using current pen for border and current brush 
  12992. for filling. In PM, application needs to set current position at one corner of 
  12993. rectangle using GpiMove function. GpiBox then draws a rectangle with wControl 
  12994. controlling the following attributes: if 1, fill interior with current area 
  12995. attributes; if 2, draw outline with current line attributes; if 3, do both. If 
  12996. no rounding of rectangle should occur, set lHorRound and lVerRound to 0. 
  12997.  
  12998. See Also:
  12999.  
  13000.  GpiMove 
  13001.  
  13002.  
  13003. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13004.  
  13005. Windows 
  13006.  
  13007. BOOL RectVisible(hDC, lpRect);
  13008.      HDC hDC;
  13009.      LPRECT lpRect;
  13010.  
  13011. Presentation Manager 
  13012.  
  13013. BOOL WinMakeRect(hab, pwrc)
  13014.      HAB hab;
  13015.      PWRECT pwrc;
  13016.  
  13017. LONG GpiRectVisible(hps, prclRect)
  13018.      HPS hps;
  13019.      PRECTL prclRect;
  13020. p. This Windows function determines if any part of the given rectangle lies 
  13021. within the clipping region. In PM, the application should convert the word 
  13022. rectangle to be a long rectangle by calling WinMakeRect. GpiRectVisible then 
  13023. checks if the rectangle is visible, returning 0 if an error occurred, 1 if none 
  13024. of the rectangle is visible, 2 if part of the rectangle is visible, and 3 if 
  13025. all of the rectangle is visible. 
  13026.  
  13027. See Also:
  13028.  
  13029.  WinMakeRect 
  13030.  
  13031.  
  13032. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13033.  
  13034. Windows 
  13035.  
  13036. BOOL RegisterClass(lpWndClass);
  13037.      LPWNDCLASS lpWndClass;
  13038.  
  13039. Presentation Manager 
  13040.  
  13041. BOOL WinRegisterClass(hab, pszClassName, pfnWndProc, flStyle, cbWindowData)
  13042.      HAB hab;
  13043.      PSZ pszClassName;
  13044.      PFNWP pfnWndProc;
  13045.      ULONG flStyle;
  13046.      USHORT cbWindowData;
  13047.  
  13048. This Windows function registers a window class. The Presentation Manager 
  13049. function is the same except that now menu name, background brush, cursor, icon, 
  13050. and number of extra bytes for window aren't stored in the class. 
  13051.  
  13052.  
  13053. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13054.  
  13055. Windows 
  13056.  
  13057. WORD RegisterClipboardFormat(lpFormatName);
  13058.      LPSTR lpFormatName;
  13059.  
  13060. Presentation Manager 
  13061.  
  13062. HATOMTBL HATOMTBL WinQuerySystemAtomTable(VOID)
  13063.  
  13064. ATOM WinAddAtom(hAtomTbl, pszAtomName)
  13065.      HATOMTBL hAtomTbl;    /* handle to atom table */
  13066.      PSZ pszAtomName;      /* pointer to atom name */
  13067.  
  13068. This Windows function is used to register a new clipboard format whose name is 
  13069. pointed to by lpFormatName. In PM, the application can call 
  13070. WinQuerySystemAtomTable to get the systom atom table. Once this is retrieved, 
  13071. the format name can be added to the table. The return value may be used as a 
  13072. format and is guaranteed to be unique in the system. 
  13073.  
  13074.  
  13075. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13076.  
  13077. Windows 
  13078.  
  13079. unsigned RegisterWindowMessage(lpMessageString);
  13080.          LPSTR lpMessageString;
  13081.  
  13082. Presentation Manager 
  13083.  
  13084. HATOMTBL WinQuerySystemAtomTable(VOID)
  13085.  
  13086. ATOM WinAddAtom(hAtomTbl, pszAtomName)
  13087.      HATOMTBL hAtomTbl;    /* handle to atom table */
  13088.      PSZ pszAtomName;      /* pointer to atom name */
  13089.  
  13090. This Windows function defines a new window message that is guaranteed to be 
  13091. unique. In PM, the application can call WinQuerySystemAtomTable to get the 
  13092. system atom table. Once this is retrieved, the message string can be added to 
  13093. the table. The return value may be passed as a message, and is guaranteed to be 
  13094. unique in the system. 
  13095.  
  13096.  
  13097. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13098.  
  13099. Windows 
  13100.  
  13101. VOID ReleaseCapture();
  13102.  
  13103. Presentation Manager 
  13104.  
  13105. BOOL WinSetCapture(hwndDesktop, hwnd)
  13106.      HWND hwndDesktop;
  13107.      HWND hwnd;
  13108.  
  13109. This Windows function releases mouse input and restores normal input 
  13110. processing. The Presentation Manager function can be called with hWnd set to 
  13111. NULL to cancel the mouse capture mode. 
  13112.  
  13113.  
  13114. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13115.  
  13116. Windows 
  13117.  
  13118. int ReleaseDC(hWnd, hDC);
  13119.     HWND hWnd;
  13120.     HDC hDC;
  13121.  
  13122. Presentation Manager 
  13123.  
  13124. BOOL WinReleasePS(hps)
  13125.      HPS hps;
  13126.  
  13127. This Windows function releases a display context when an application is 
  13128. finished drawing in it. The Presentation Manager function is equivalent. 
  13129.  
  13130.  
  13131. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13132.  
  13133. Windows 
  13134.  
  13135. BOOL RemoveFontResource(lpFileName);
  13136.      LPSTR lpFileName;
  13137.  
  13138. Presentation Manager 
  13139.  
  13140. BOOL GpiUnloadFonts(hab, pszFilename)
  13141.      HAB hab;
  13142.      PSZ pszFilename;
  13143.  
  13144. This Windows function removes from the system font table the font resource 
  13145. named by lpFileName. The Presentation Manager function is equivalent. Before 
  13146. issuing this function, the application must issue the GpiSetCharSet function to 
  13147. a font other than one of those to be unloaded. The application must then issue 
  13148. the GpiDeleteSetId function for each local identifier which references one of 
  13149. the fonts. 
  13150.  
  13151. See Also:
  13152.  
  13153.  GpiDeleteSetId GpiSetCharSet 
  13154.  
  13155.  
  13156. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13157.  
  13158. Windows 
  13159.  
  13160. HANDLE RemoveProp(hwnd, lpName);
  13161.        HWND hwnd;
  13162.        LPSTR lpName;
  13163.  
  13164. Presentation Manager 
  13165.  
  13166. No equivalent 
  13167.  
  13168. This Windows function removes lpName from property list; retrieves 
  13169. corresponding data handle. There is no PM equivalent. 
  13170.  
  13171.  
  13172. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13173.  
  13174. Windows 
  13175.  
  13176. VOID ReplyMessage(lReply);
  13177.      LONG lReply;
  13178.  
  13179. Presentation Manager 
  13180.  
  13181. No equivalent 
  13182.  
  13183. This Windows function replies to message without returning control to the 
  13184. SendMessage caller. There is no corresponding PM function because with the 
  13185. multitasking environment, all applications share the processor. 
  13186.  
  13187.  
  13188. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13189.  
  13190. Windows 
  13191.  
  13192. BOOL RestoreDC(hDC, wSavedDC);
  13193.      HDC hDC;
  13194.      SHORT wSavedDC;
  13195.  
  13196. Presentation Manager 
  13197.  
  13198. BOOL GpiRestorePS(hps, idPS)
  13199.      HPS hps;
  13200.      LONG idPS;
  13201.  
  13202. This Windows function restores display context given by hDC to previous state 
  13203. given by wSavedDC. The Presentation Manager function is equivalent. 
  13204.  
  13205.  
  13206. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13207.  
  13208. Windows 
  13209.  
  13210. BOOL RoundRect(hDC, X1, Y1, X2, Y2, X3, Y3);
  13211.      HDC hDC;
  13212.      SHORT X1;
  13213.      SHORT Y1;
  13214.      SHORT X2;
  13215.      SHORT Y2;
  13216.      SHORT X3;
  13217.      SHORT Y3;
  13218.  
  13219. Presentation Manager 
  13220.  
  13221. LONG GpiBox(hps, cmdControl, pptlPoint, lHRound, lVRound)
  13222.      HPS hps;
  13223.      LONG cmdControl;
  13224.      PPOINTL pptlPoint;
  13225.      LONG lHRound;
  13226.      LONG lVRound;
  13227.  
  13228. Windows function draws rounded rectangle, using current pen for border, current 
  13229. brush attributes for filling. In PM, application needs to set current position 
  13230. at one corner of rectangle using GpiMove function. GpiBox then draws a 
  13231. rectangle with wControl controlling the following attributes: if 1, fill 
  13232. interior with current area attributes; if 2, draw outline with current line 
  13233. attributes; if 3, do both. lHorRound and lVerRound specify the horizontal and 
  13234. vertical length of the axes of the ellipses used for rounding at each corner. 
  13235.  
  13236. See Also:
  13237.  
  13238.  GpiMove 
  13239.  
  13240.  
  13241. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13242.  
  13243. Windows 
  13244.  
  13245. short SaveDC(hDC);
  13246.       HDC hDC;
  13247.  
  13248. Presentation Manager 
  13249.  
  13250. LONG GpiSavePS(hps)
  13251.      HPS hps;
  13252. This Windows function saves the current state of the display context hDC.
  13253. The Presentation Manager function is equivalent.
  13254.  
  13255.  
  13256. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13257.  
  13258. Windows 
  13259.  
  13260. VOID ScreenToClient(hWnd, lpPoint);
  13261.      HWND hWnd;
  13262.      LPPOINT lpPoint;
  13263.  
  13264. Presentation Manager 
  13265.  
  13266. BOOL WinMakePoints(hab, pwpt, cwpt)
  13267.      HAB hab;
  13268.      PWPOINT pwpt;
  13269.      SHORT cwpt;
  13270.  
  13271. BOOL WinMapWindowPoints(hwndFrom, hwndTo, pptl, cwpt)
  13272.      HWND hwndFrom;
  13273.      HWND hwndTo;
  13274.      PPOINTL pptl;
  13275.      SHORT cwpt;
  13276.  
  13277. This Windows function converts the screen coordinates at lpPoint to client 
  13278. coordinates. The Presentation Manager function can be called with hWndFrom set 
  13279. to HWND_DESKTOP to convert points from the screen to the desired window. The 
  13280. points in the array should be long points, the function WinMakePoints may be 
  13281. called to convert word points into long points. 
  13282.  
  13283. See Also:
  13284.  
  13285.  WinMakePoints WinMapWindowPoints 
  13286.  
  13287.  
  13288. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13289.  
  13290. Windows 
  13291.  
  13292. void ScrollWindow(hWnd, dx, dy, lpRect, lpClipRect);
  13293.      HWND hWnd;
  13294.      INT dx;
  13295.      INT dy;
  13296.      LPRECT lpRect;
  13297.      LPRECT lpClipRect;
  13298.  
  13299. Presentation Manager 
  13300.  
  13301. SHORT WinScrollWindow(hwnd, dx, dy, prclScroll, prclClip, hrgnUpdate,
  13302.                       prclUpdate, rgfsw)
  13303.       HWND hwnd;
  13304.       SHORT dx;
  13305.       SHORT dy;
  13306.       PRECTL prclScroll;
  13307.       PRECTL prclClip;
  13308.       HRGN hrgnUpdate;
  13309.       PRECTL prclUpdate;
  13310.       USHORT rgfsw;
  13311.  
  13312. This Windows function moves contents of client area dx units along screen's 
  13313. x-axis and dy units along screen's y axis (right for positive dx, down for 
  13314. positive dy). The Presentation Manager function is similar. The update region 
  13315. and rectangle are returned if hrgnUpdate and pWRectUpdate are not NULL. The 
  13316. wType parameters is a combination of the following flags, SW_SCROLLCHILDREN and 
  13317. SW_INVALIDATEREGION, which specify whether children are to be scrolled and 
  13318. whether a paint message should be generated. Note that the window origin has 
  13319. changed in PM and that if dy is positive the scroll window will move upwards. 
  13320.  
  13321.  
  13322. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13323.  
  13324. Windows 
  13325.  
  13326. short SelectClipRgn(hDC, hRGN);
  13327.       HDC hDC;
  13328.       HRGN hRGN;
  13329.  
  13330. Presentation Manager 
  13331.  
  13332. HRGN GpiSetClipRegion(hps, hrgn)
  13333.      HPS hps;
  13334.      HRGN hrgn;
  13335.  
  13336. This Windows function selects given region as current clipping region for the 
  13337. specified display context. The Presentation Manager function is the same. 
  13338.  
  13339.  
  13340. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13341.  
  13342. Windows 
  13343.  
  13344. HANDLE SelectObject(hDC, hObject);
  13345.        HDC hDC;
  13346.        HANDLE hObject;
  13347.  
  13348. Presentation Manager 
  13349.  
  13350. BOOL GpiSetAttrMode(hps, cmdMode)
  13351.      HPS hps;
  13352.      LONG cmdMode;
  13353.  
  13354. BOOL GpiPop(hps, cAttrs)
  13355.      HPS hps;
  13356.      LONG cAttrs;
  13357.  
  13358. BOOL GpiSetAttrs(hps, lPrimType, flAttrsMask, flDefsMask, pbunAttrs)
  13359.      HPS hps;
  13360.      LONG lPrimType;
  13361.      ULONG flAttrsMask;
  13362.      ULONG flDefsMask;
  13363.      PBUNDLE pbunAttrs;
  13364.  
  13365. This Windows function is used to select hObject as current object, replacing 
  13366. the previous object of the same type. In PM, pens and brushes aren't really 
  13367. objects, but LINEBUNDLES and AREABUNDLES are structures which are similar to 
  13368. pens and brushes in Windows and can be selected into the hPS. lPrim is a flag 
  13369. which indicates what type of attributes are being set: PRIM_LINE, PRIM_CHAR, 
  13370. PRIM_MARKER, PRIM_AREA, or PRIM_IMAGE. lAttrsMask is the union of flags 
  13371. indicating which attributes out of each primitive type are to be set. For line 
  13372. attributes, possible values are LBB_COLOR, LBB_WIDTH, and LBB_TYPE. For area 
  13373. bundles, possible values are MBB_COLOR, MBB_SET, and MBB_SYMBOL. lDefsMask are 
  13374. flags indicating which attributes for the specified primitive type should be 
  13375. defaulted. These attributes are only defaulted if the corresponding bit in 
  13376. lAttrsMask is set. Finally, pAttrs is a pointer to the structure of the 
  13377. specified primitive type. For line or area attributes, it is a pointer to the 
  13378. LINEBUNDLE or AREABUNDLE structure. In order to save the previous state, 
  13379. GpiSetAttrMode can be called with lMode set to 1 to indicate that the previous 
  13380. state should be pushed on the stack when GpiSetAttrs mode is called. In order 
  13381. to restore the state of the PS, GpiPop can be called with lCount set to the 
  13382. number of attributes which were changed in the GpiSetAttrs call. 
  13383.  
  13384.  
  13385. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13386.  
  13387. Windows 
  13388.  
  13389. long SendDlgItemMessage(hDlg, wId, wMessage, wParam, lParam);
  13390.      HWND hDlg;
  13391.      int wId;
  13392.      unsigned wMessage;
  13393.      WORD wParam;
  13394.      LONG lParam;
  13395.  
  13396. Presentation Manager 
  13397.  
  13398. MRESULT WinSendDlgItemMsg(hwndDlg, idItem, msg, mp1, mp2)
  13399.         HWND hwndDlg;
  13400.         USHORT idItem;
  13401.         USHORT msg;
  13402.         MPARAM mp1;
  13403.         MPARAM mp2;
  13404.  
  13405. This Windows function sends a message to wId within the dialog box specified by 
  13406. hDlg. The Presentation Manager function is equivalent. Additionally, the PM 
  13407. function may be used to send messages to frame window controls. 
  13408.  
  13409.  
  13410. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13411.  
  13412. Windows 
  13413.  
  13414. long SendMessage(hwnd, wMsg, wParam, lParam);
  13415.      HWND hwnd;
  13416.      unsigned wMsg;
  13417.      WORD wParam;
  13418.      LONG lParam;
  13419.  
  13420. Presentation Manager 
  13421.  
  13422. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  13423.         HWND hwnd;
  13424.         USHORT msg;
  13425.         MPARAM mp1;
  13426.         MPARAM mp2;
  13427.  
  13428. This Windows function sends a message to a window. The Presentation Manager 
  13429. function is equivalent, although the parameters are different because the 
  13430. message structure has changed. PM applications should call WinTimeoutSendMsg if 
  13431. sending message to window in a different thread. 
  13432.  
  13433. See Also:
  13434.  
  13435.  WinSendMsg 
  13436.  
  13437.  
  13438. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13439.  
  13440. Windows 
  13441.  
  13442. HWND SetActiveWindow(hwnd);
  13443.      HWND hwnd;
  13444.  
  13445. Presentation Manager 
  13446.  
  13447. BOOL WinSetActiveWindow(hwndDesktop, hwnd)
  13448.      HWND hwndDesktop;
  13449.      HWND hwnd;
  13450.  
  13451. This Windows function makes a tiled or popup window the active window. The 
  13452. Presentation Manager function is equivalent. The PM application should send 
  13453. HWND_DESKTOP for hwndDesk. 
  13454.  
  13455.  
  13456. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13457.  
  13458. Windows 
  13459.  
  13460. BOOL SetBitmapBits(hBitMap, dwCount, lpBits);
  13461.      HBITMAP hBitMap;
  13462.      DWORD dwCount;
  13463.      LPSTR lpBits;
  13464.  
  13465. Presentation Manager 
  13466.  
  13467. LONG GpiSetBitmapBits(hps, iScanStart, cScans, pbBuffer, pbmi)
  13468.      HPS hps;
  13469.      LONG iScanStart;
  13470.      LONG cScans;
  13471.      PBYTE pbBuffer;
  13472.      PBITMAPINFO pbmi;
  13473.  
  13474. The Windows function sets the bitmap bits to values given at lpBits with 
  13475. dwCount set to the byte count at lpBits. The Presentation Manager function 
  13476. transfers bits from the location specified by pBits to the bitmap selected into 
  13477. hDC. hDC must refer to a memory display context which has a bitmap currently 
  13478. selected. bmInfo is a structure describing the format of the bits in the pBits 
  13479. structure (see translation for BITMAP). 
  13480.  
  13481.  
  13482. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13483.  
  13484. Windows 
  13485.  
  13486. DWORD SetBitmapDimension(hBitMap, X, Y);
  13487.       HBITMAP hBitMap;
  13488.       short X;
  13489.       short Y;
  13490.  
  13491. Presentation Manager 
  13492.  
  13493. BOOL GpiSetBitmapDimension(hbm, psizlBitmap)
  13494.      HBITMAP hbm;
  13495.      PSIZEL psizlBitmap;
  13496.  
  13497. The Windows function associates a width and height, in 0.1 millimeter units, 
  13498. with a bitmap. The Presentation Manager function is equivalent. The PM 
  13499. application should specify a two element array of long values containing the 
  13500. width and height in 0.1 millimeter units. 
  13501.  
  13502.  
  13503. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13504.  
  13505. Windows 
  13506.  
  13507. DWORD SetBkColor(hDC, rgbColor);
  13508.       HDC hDC;
  13509.       DWORD rgbColor;
  13510.  
  13511. Presentation Manager 
  13512.  
  13513. BOOL GpiSetBackColor(hps, lColor)
  13514.      HPS hps;
  13515.      LONG lColor;
  13516.  
  13517. This Windows function sets the current background to the device color closest 
  13518. to rgbColor. The Presentation Manager function is equivalent and sets the 
  13519. current background color index attribute, for each individual primitive type, 
  13520. to the specified value. 
  13521.  
  13522. See Also:
  13523.  
  13524.  GpiCreateLogColorTable, GpiErase, GpiPop, WinGetLastError 
  13525.  
  13526.  
  13527. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13528.  
  13529. Windows 
  13530.  
  13531. short SetBkMode(hDC, wMode);
  13532.       HDC hDC;
  13533.       short wMode;
  13534.  
  13535. Presentation Manager 
  13536.  
  13537. BOOL GpiSetBackMix(hps, lMixMode)
  13538.      HPS hps;
  13539.      LONG lMixMode;
  13540.  
  13541. This Windows function sets the background mode used with text, hatched brushes, 
  13542. and line styles. The Presentation Manager function sets the background mode. 
  13543. For more information, see translations for TRANSPARENT and OPAQUE. 
  13544.  
  13545.  
  13546. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13547.  
  13548. Windows 
  13549.  
  13550. DWORD SetBrushOrg(hDC, X, Y);
  13551.       HDC hDC;
  13552.       INT X;
  13553.       INT Y;
  13554.  
  13555. Presentation Manager 
  13556.  
  13557. BOOL GpiSetPatternRefPoint(hps, pgptRefPoint)
  13558.      HPS hps;
  13559.      PPOINTL pgptRefPoint;
  13560.  
  13561. The Windows function sets the origin of all brushes selected into the given 
  13562. display context. The Presentation Manager function is equivalent. 
  13563.  
  13564.  
  13565. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13566.  
  13567. Windows 
  13568.  
  13569. HWND SetCapture(hWnd);
  13570.      HWND hWnd;
  13571.  
  13572. Presentation Manager 
  13573.  
  13574. BOOL WinSetCapture(hwndDesktop, hwnd)
  13575.      HWND hwndDesktop;
  13576.      HWND hwnd;
  13577.  
  13578. This Windows function causes mouse input to be sent to hWnd, regardless of 
  13579. mouse cursor position. The Presentation Manager function is equivalent. 
  13580.  
  13581.  
  13582. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13583.  
  13584. Windows 
  13585.  
  13586. VOID SetCaretBlinkTime(wMSeconds);
  13587.      WORD wMSeconds;
  13588.  
  13589. Presentation Manager 
  13590.  
  13591. BOOL WinSetSysValue(hwndDesktop, iSysValue, lValue)
  13592.      HWND hwndDesktop;
  13593.      SHORT iSysValue;
  13594.      LONG lValue;
  13595.  
  13596. This Windows function establishes the caret flash rate. The Presentation 
  13597. Manager function may be called with hDesktop set to HWND_DESKTOP, wIndex set to 
  13598. SV_CARETBLINKTIME, and wValue set to wMSeconds (the blink time in 
  13599. milliseconds). 
  13600.  
  13601.  
  13602. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13603.  
  13604. Windows 
  13605.  
  13606. VOID SetCaretPos(xPos, yPos);
  13607.      INT xPos;
  13608.      INT yPos;
  13609.  
  13610. Presentation Manager 
  13611.  
  13612. BOOL WinCreateCursor(hwnd, x, y, cx, cy, fs, prclClip)
  13613.      HWND hwnd;
  13614.      SHORT x;
  13615.      SHORT y;
  13616.      SHORT cx;
  13617.      SHORT cy;
  13618.      USHORT fs;
  13619.      PRECTL prclClip;
  13620.  
  13621. This Windows function moves the caret to the position specified by xPos and 
  13622. yPos. The Presentation Manager function performs this functionality and can be 
  13623. called with wType set to CURSOR_SETPOS. In this case, wWidth and wHeight are 
  13624. ignored and xPos and yPos are used to set the position. 
  13625.  
  13626.  
  13627. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13628.  
  13629. Windows 
  13630.  
  13631. LONG SetClassLong(hwnd, wIndex, lValue);
  13632.      HWND hwnd;
  13633.      int wIndex;
  13634.      LONG lValue;
  13635.  
  13636. Presentation Manager 
  13637.  
  13638. No equivalent 
  13639.  
  13640. This Windows function replaces long value at the given wIndex in the WNDCLASS 
  13641. structure. In PM, the application can't change the values for a class once the 
  13642. window is created. Instead, the application can create and register a new class 
  13643. with the modified values. 
  13644.  
  13645.  
  13646. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13647.  
  13648. Windows 
  13649.  
  13650. WORD SetClassWord(hwnd, wIndex, wValue);
  13651.      HWND hwnd;
  13652.      int wIndex;
  13653.      WORD wValue;
  13654.  
  13655. Presentation Manager 
  13656.  
  13657. No equivalent 
  13658.  
  13659. This Windows function replaces word value at the given wIndex in the WNDCLASS 
  13660. structure. In PM, the application can't change the values for a class once the 
  13661. window is created. Instead, the application can create and register a new class 
  13662. with the modified values. 
  13663.  
  13664.  
  13665. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13666.  
  13667. Windows 
  13668.  
  13669. HANDLE SetClipboardData(wFormat, hMem);
  13670.        WORD wFormat;
  13671.        HANDLE hMem;
  13672.  
  13673. Presentation Manager 
  13674.  
  13675. BOOL WinSetClipbrdData(hab, ulData, fmt, rgfFmtInfo)
  13676.      HAB hab;
  13677.      ULONG ulData;
  13678.      USHORT fmt;
  13679.      USHORT rgfFmtInfo;
  13680.  
  13681. This Windows function copies hMem, a handle for data having wFormat format, 
  13682. into the clipboard. The Presentation Manager function is equivalent, the 
  13683. wFormatInfo parameter is the union of the following flags: CFI_SELECTOR, 
  13684. CFI_OWNERFREE, CFI_OWNERDISPLAY. These flags allow the PM application to 
  13685. specify that either the data should be freed with DosFreeSeg, that the owner 
  13686. will free the data when necessary, or that the owner will display the data in 
  13687. the clipboard window. 
  13688.  
  13689.  
  13690. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13691.  
  13692. Windows 
  13693.  
  13694. HWND SetClipboardViewer(hViewer);
  13695.      HWND hViewer;
  13696.  
  13697. Presentation Manager 
  13698.  
  13699. BOOL WinSetClipbrdViewer(hab, hwnd)
  13700.      HAB hab;
  13701.      HWND hwnd;
  13702.  
  13703. This Windows function adds hViewer to clipboard viewer chain; hNext is next 
  13704. window in chain. The Presentation Manager function also sets the clipboard 
  13705. viewer. In PM, however, only one application can be specified as the clipboard 
  13706. viewer. 
  13707.  
  13708.  
  13709. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13710.  
  13711. Windows 
  13712.  
  13713. HCURSOR SetCursor(hCursor);
  13714.         HCURSOR hCursor;
  13715.  
  13716. Presentation Manager 
  13717.  
  13718. BOOL WinSetPointer(hwndDesktop, hptrNew)
  13719.      HWND hwndDesktop;
  13720.      HPOINTER hptrNew;
  13721.  
  13722. This Windows function sets cursor shape to hCursor and removes cursor from 
  13723. screen if hCursor is NULL. The Presentation Manager function is equivalent; 
  13724. HWND_DESKTOP should be sent for hDesktop. 
  13725.  
  13726.  
  13727. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13728.  
  13729. Windows 
  13730.  
  13731. VOID SetCursorPos(xPos, yPos);
  13732.      INT xPos;
  13733.      INT yPos;
  13734.  
  13735. Presentation Manager 
  13736.  
  13737. BOOL WinSetPointerPos(hwndDesktop, x, y)
  13738.      HWND hwndDesktop;
  13739.      SHORT x;
  13740.      SHORT y;
  13741.  
  13742. This Windows function sets the position of mouse cursor to the screen 
  13743. coordinates given by xPos and yPos. The Presentation Manager function is 
  13744. equivalent; HWND_DESKTOP should be sent for hDesktop. 
  13745.  
  13746.  
  13747. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13748.  
  13749. Windows 
  13750.  
  13751. void SetDlgItemInt(hDlg, wId, wValue, fSigned);
  13752.      HWND hDlg;
  13753.      INT wId;
  13754.      USHORT wValue;
  13755.      BOOL fSigned;
  13756.  
  13757. Presentation Manager 
  13758.  
  13759. BOOL WinSetDlgItemShort(hwndDlg, idItem, usValue, fSigned)
  13760.      HWND hwndDlg;
  13761.      USHORT idItem;
  13762.      USHORT usValue;
  13763.      BOOL fSigned;
  13764.  
  13765. This Windows function sets text of wId to string representing an integer. The 
  13766. Presentation Manager function is equivalent. 
  13767.  
  13768.  
  13769. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13770.  
  13771. Windows 
  13772.  
  13773. void SetDlgItemText(hDlg, wId, lpText);
  13774.      HWND hDlg;
  13775.      INT wId;
  13776.      LPSTR lpText;
  13777.  
  13778. Presentation Manager 
  13779.  
  13780. SHORT WinSetDlgItemText(hwndDlg, idItem, pszText);
  13781.       HWND hwndDlg;
  13782.       USHORT idItem;
  13783.       PSZ pszText;
  13784.  
  13785. This Windows function sets caption or text of wId to lpText. The PM function is 
  13786. equivalent. 
  13787.  
  13788.  
  13789. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13790.  
  13791. Windows 
  13792.  
  13793. short SetEnvironment(lpPortName, lpEnviron, wCount);
  13794.       LPSTR lpPortName;
  13795.       LPSTR lpEnviron;
  13796.       WORD wCount;
  13797.  
  13798. Presentation Manager 
  13799.  
  13800. No equivalent 
  13801.  
  13802. This Windows function copies data at lpEnviron to environment associated with 
  13803. device attached to given port. In Presentation Manager, this is equivalent to 
  13804. executing the "set" command at the Presentation Manager prompt. However, 
  13805. caution should be used here because spawning a second prompt only sets 
  13806. ╨Éattributes for that thread and when this thread dies these attribute settings 
  13807. also die. 
  13808.  
  13809.  
  13810. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13811.  
  13812. Windows 
  13813.  
  13814. HWND SetFocus(hWnd);
  13815.      HWND hWnd;
  13816.  
  13817. Presentation Manager 
  13818.  
  13819. BOOL WinFocusChange(hwndDesktop, hwndSetFocus, fsFocusChange)
  13820.      HWND hwndDesktop;
  13821.      HWND hwndSetFocus;
  13822.      USHORT @fsFocusChange;
  13823.  
  13824. This Windows function assigns the input focus to the window specified by hWnd. 
  13825. The Presentation Manager function sets the focus to the specified window. 
  13826.  
  13827. See Also:
  13828.  
  13829.  WinSetFocus 
  13830.  
  13831.  
  13832. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13833.  
  13834. Windows 
  13835.  
  13836. short SetMapMode(hDC, wMapMode);
  13837.       HDC hDC;
  13838.       SHORT wMapMode;
  13839.  
  13840. Presentation Manager 
  13841.  
  13842. HPS GpiCreatePS(hab, hdc, psizl, fOptions)
  13843.     HAB hab;
  13844.     HDC hdc;
  13845.     PSIZEL psizl;
  13846.     ULONG fOptions;
  13847.  
  13848. This Windows function sets the mapping mode of the specified display context. 
  13849. The Presentation Manager function creates a presentation space. An initial 
  13850. association of the new presentation space with a device context may be 
  13851. performed. To assign the mapping mode, or the desired mapping mode constant, 
  13852. see translation for MM_* constants into lOptions with the GpiCreatePS call. The 
  13853. pSize parameter should be a long pointer to two longs which are 0. To change 
  13854. the mapping mode, use the GpiSetPS function. 
  13855.  
  13856. See Also:
  13857.  
  13858.  GpiQueryElement, GpiSetPS, WinGetLastError 
  13859.  
  13860.  
  13861. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13862.  
  13863. Windows 
  13864.  
  13865. BOOL SetMenu(hWnd, hMenu);
  13866.      HWND hWnd;
  13867.      HMENU hMenu;
  13868.  
  13869. Presentation Manager 
  13870.  
  13871. BOOL WinSetParent(hwnd, hwndNewParent, fRedraw)
  13872.      HWND hwnd;
  13873.      HWND hwndNewParent;
  13874.      BOOL fRedraw;
  13875.  
  13876. This Windows function sets window menu to hMenu and removes menu if hMenu is 
  13877. NULL. In PM, the application should set present menu to have parent HWND_OBJECT 
  13878. and the new menu to have parent hWnd. 
  13879.  
  13880.  
  13881. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13882.  
  13883. Windows 
  13884.  
  13885. HANDLE SetMetaFileBits(hMem);
  13886.        HANDLE hMem;
  13887.  
  13888. Presentation Manager 
  13889.  
  13890. BOOL GpiSetMetaFileBits(hmf, off, cbBuffer, pbBuffer)
  13891.      HMF hmf;
  13892.      LONG off;
  13893.      LONG cbBuffer;
  13894.      PBYTE pbBuffer;
  13895.  
  13896. This Windows function creates a memory metafile form data in the given global 
  13897. memory block. The Presentation Manager function is similar and allows the bits 
  13898. to be written in separate chunks. lOffset specifies the starting offset of the 
  13899. metafile to write, lLength specifies the length of pBuffer, and pBuffer holds 
  13900. the bytes to be written to the metafile. 
  13901.  
  13902.  
  13903. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13904.  
  13905. Windows 
  13906.  
  13907. DWORD SetPixel(hDC, X, Y, rgbColor);
  13908.       HDC hDC;
  13909.       short X;
  13910.       short Y;
  13911.       DWORD rgbColor;
  13912.  
  13913. Presentation Manager 
  13914.  
  13915. LONG GpiQueryColorIndex(hps, flOptions, lRgbColor)
  13916.      HPS hps;
  13917.      ULONG flOptions;
  13918.      LONG lRgbColor;
  13919.  
  13920. BOOL GpiSetColor(hps, lColor)
  13921.      HPS hps;
  13922.      LONG lColor;
  13923.  
  13924. LONG GpiSetPel(hps, pgptPoint)
  13925.      HPS hps;
  13926.      PPOINTL pgptPoint;
  13927.  
  13928. This Windows function sets pixel at X, Y to the device color closest to 
  13929. rgbColor. If a color table has been realized for the PS, the application may 
  13930. call GpiQueryColorIndex with lOptions set to 0 to get the PM color index 
  13931. closest to the rgb color specified. To set the current color, GpiSetColor can 
  13932. be called with the color. GpiSetPel sets the pel at position X, Y to the 
  13933. current color. 
  13934.  
  13935.  
  13936. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13937.  
  13938. Windows 
  13939.  
  13940. short SetPolyFillMode(hDC, wPolyMode);
  13941.       HDC hDC;
  13942. short wPolyMode;
  13943.  
  13944. Presentation Manager 
  13945.  
  13946. No equivalent 
  13947.  
  13948. This Windows fucntion sets the polygon-filling mode for the specified display 
  13949. context. There is no PM equivalent to this function. This attribute passed to 
  13950. the function which draws the polygon, see the translation for Polygon. 
  13951.  
  13952.  
  13953. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13954.  
  13955. Windows 
  13956.  
  13957. BOOL SetProp(hWnd, lpName, hMem);
  13958.      HWND hWnd;
  13959.      LPSTR lpName;
  13960.      HANDLE hMem;
  13961.  
  13962. Presentation Manager 
  13963.  
  13964. No equivalent 
  13965.  
  13966. This Windows function copies string and data handle to property list of hWnd. 
  13967. There is no PM equivalent, property lists must be maintained by hand. 
  13968.  
  13969.  
  13970. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13971.  
  13972. Windows 
  13973.  
  13974. int SetRect(lpRect, X1, Y1, X2, Y2);
  13975.     LPRECT lpRect;
  13976.     int X1;
  13977.     int Y1;
  13978.     int X2;
  13979.     int Y2;
  13980.  
  13981. Presentation Manager 
  13982.  
  13983. BOOL WinSetRect(hab, prcl, xLeft, yBottom, xRight, yTop)
  13984.      HAB hab;
  13985.      PRECTL prcl;
  13986.      SHORT xLeft;
  13987.      SHORT yBottom;
  13988.      SHORT xRight;
  13989.      SHORT yTop;
  13990.  
  13991. This Windows function fills RECT structure at lpRect with given coordinates. 
  13992. The Presentation Manager function is equivalent. 
  13993.  
  13994.  
  13995. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  13996.  
  13997. Windows 
  13998.  
  13999. INT SetRectEmpty(lpRect);
  14000.     LPRECT lpRect;
  14001.  
  14002. Presentation Manager 
  14003.  
  14004. BOOL WinSetRectEmpty(hab, prcl)
  14005.      HAB hab;
  14006.      PRECTL prcl;
  14007.  
  14008. This Windows function sets the rectangle to an empty rectangle (all coordinates 
  14009. are zero). The Presentation Manager function is equivalent. 
  14010.  
  14011.  
  14012. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14013.  
  14014. Windows 
  14015.  
  14016. short SetRelAbs(hDC, wRelAbsMode);
  14017.       HDC hDC;
  14018.       short wRelAbsMode;
  14019.  
  14020. Presentation Manager 
  14021.  
  14022. No equivalent 
  14023.  
  14024. This Windows function sets the relabs flag. This function has no PM equivalent. 
  14025. In GPI, there is no equivalent to the relabs flag; coordinates are always 
  14026. specified in absolute mode. 
  14027.  
  14028.  
  14029. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14030.  
  14031. Windows 
  14032.  
  14033. FARPROC SetResourceHandler(hInst, lpType, lpLoadFunc);
  14034.         HANDLE hInst;
  14035.         LPSTR lpType;
  14036.         FARPROC lpLoadFunc;
  14037.  
  14038. Presentation Manager 
  14039.  
  14040. No equivalent 
  14041.  
  14042. This Windows function sets the function address of the resource handler for 
  14043. resources with type lpType; a resource handler provides for loading of custom 
  14044. resources. There is no Presentation Manager equivalent. In order to load 
  14045. resources of a nonstandard type, you must write the code yourself. 
  14046.  
  14047.  
  14048. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14049.  
  14050. Windows 
  14051.  
  14052. short SetROP2(hDC, wRopMode);
  14053.       HDC hDC;
  14054.       short wRopMode;
  14055.  
  14056. Presentation Manager 
  14057.  
  14058. BOOL GpiSetMix(hps, lMixMode)
  14059.      HPS hps;
  14060.      LONG lMixMode;
  14061.  
  14062. This Windows function is used to set the current drawing mode. The PM function 
  14063. sets the mix mode (the equivalent to the Windows drawing mode) for all 
  14064. primitives. These functions are equivalent. The constants used for these 
  14065. functions have changed (see translation of R2_* constants). 
  14066.  
  14067.  
  14068. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14069.  
  14070. Windows 
  14071.  
  14072. INT SetScrollPos(hwnd, wBar, wPos, fRedraw);
  14073.     HWND hwnd;
  14074.     INT wBar;
  14075.     INT wPos;
  14076.     BOOL fRedraw;
  14077.  
  14078. Presentation Manager 
  14079.  
  14080. MRESULT WinSendDlgItemMsg(hwndDlg, idItem, msg, mp1, mp2)
  14081.         HWND hwndDlg;
  14082.         USHORT idItem;
  14083.         USHORT msg;
  14084.         MPARAM mp1;
  14085.         MPARAM mp2;
  14086.  
  14087. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  14088.         HWND hwnd;
  14089.         USHORT msg;
  14090.         MPARAM mp1;
  14091.         MPARAM mp2;
  14092.  
  14093. This Windows function sets scroll bar elevator to wPos; redraws scroll bar is 
  14094. fRedraw is nonzero. In PM, the application can send SBM_SETPOS message to 
  14095. scroll bar control. WinSendDlgItemMsg may be called with the scroll bar id and 
  14096. frame window instead of WinSendMsg. The position of the scroll bar elevator 
  14097. should be sent in the low order word of lParam1. 
  14098.  
  14099. See Also:
  14100.  
  14101.  WinSendMsg 
  14102.  
  14103.  
  14104. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14105.  
  14106. Windows 
  14107.  
  14108. void SetScrollRange(hwnd, wBar, wMin, wMax, fRedraw);
  14109.      HWND hwnd;
  14110.      INT wBar;
  14111.      INT wMin;
  14112.      INT wMax;
  14113.      BOOL fRedraw;
  14114.  
  14115. Presentation Manager 
  14116.  
  14117. HWND WinWindowFromID(hwndParent, id)
  14118.      HWND hwndParent;
  14119.      USHORT id;
  14120.  
  14121. MRESULT WinSendMsg(hwnd, msg, mp1, mp2)
  14122.         HWND hwnd;
  14123.         USHORT msg;
  14124.         MPARAM mp1;
  14125.         MPARAM mp2;
  14126.  
  14127. This Windows function sets the minimum and maximum scroll bar positions for 
  14128. given scroll bar. In PM, application should send SBM_SETSCROLLBAR message to 
  14129. scroll bar control with lParam1 set to Position and lParam2 set to the union of 
  14130. wMin and wMax. The handle to the scroll bar control may be obtained by calling 
  14131. WinWindowFromID with ScrollId set to FID_HORZSCROLL or FID_VERTSCROLL. One 
  14132. difference between the way this function works in Windows and PM is that in 
  14133. Windows, if wMin and wMax are the same, the scroll bar will not appear whereas 
  14134. in PM, the scroll bar always appears unless explicitly deleted from the Frame. 
  14135.  
  14136. See Also:
  14137.  
  14138.  WinSendMsg 
  14139.  
  14140.  
  14141. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14142.  
  14143. Windows 
  14144.  
  14145. VOID SetSoundNoise();
  14146.  
  14147. Presentation Manager 
  14148.  
  14149. No equivalent 
  14150.  
  14151. This Windows function sets the source and duration of a noise from the play 
  14152. device. There is no Presentation Manager equivalent; sound functions are not 
  14153. supported in Presentation Manager. 
  14154.  
  14155.  
  14156. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14157.  
  14158. Windows 
  14159.  
  14160. VOID SetSysColors(wNum, lpIndices, lpValues);
  14161.      INT wNum;
  14162.      LPINT lpIndices;
  14163.      LONG FAR * lpValues;
  14164.  
  14165. Presentation Manager 
  14166.  
  14167. BOOL WinSetSysColors(hwndDesktop, flOptions, flFormat, clrFirst, cclr, pclr)
  14168.      HWND hwndDesktop;
  14169.      ULONG flOptions;
  14170.      ULONG flFormat;
  14171.      LONG clrFirst;
  14172.      ULONG cclr;
  14173.      PLONG pclr;
  14174.  
  14175. This Windows function changes one or more system colors. The Presentation 
  14176. Manager function is equivalent and sends a WM_SYSCOLORCHANGE message to all 
  14177. main windows in the sysetm to indicate that the colors have changed. When this 
  14178. message is received, applications that depend on the system colors can query 
  14179. the new color values by using the WinQuerySysColor function. 
  14180.  
  14181. See Also:
  14182.  
  14183.  WinQuerySysColor 
  14184.  
  14185.  
  14186. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14187.  
  14188. Windows 
  14189.  
  14190. HWND SetSysModalWindow(hwnd);
  14191.      HWND hwnd;
  14192.  
  14193. Presentation Manager 
  14194.  
  14195. BOOL WinSetSysModalWindow(hwndDesktop, hwnd)
  14196.      HWND hwndDesktop;
  14197.      HWND hwnd;
  14198.  
  14199. This Windows function makes the specified window a system-modal window. The 
  14200. Presentation Manager function is equivalent; send HWND_DESKTOP for hDeskTop. 
  14201.  
  14202.  
  14203. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14204.  
  14205. Windows 
  14206.  
  14207. DWORD SetTextColor(hDC, rgbColor);
  14208.       HDC hDC;
  14209.       DWORD rgbColor;
  14210.  
  14211. Presentation Manager 
  14212.  
  14213. BOOL GpiSetAttrs(hps, lPrimType, flAttrsMask, flDefsMask, pbunAttrs)
  14214.      HPS hps;
  14215.      LONG lPrimType;
  14216.      ULONG flAttrsMask;
  14217.      ULONG flDefsMask;
  14218.      PBUNDLE pbunAttrs;
  14219.  
  14220. This Windows function sets the current text color. The Presentation Manager 
  14221. application can call GpiSetAttrs with lPrimType set to PRIM_CHAR, lAttrs set to 
  14222. CBB_COLOR, lDefs to be 0, and pAttrs containing a long pointer to a CHARBUNDLE 
  14223. structure. The field lColor in the CHARBUNDLE structure should contain the text 
  14224. color. 
  14225.  
  14226. See Also:
  14227.  
  14228.  GpiQueryAttrs 
  14229.  
  14230.  
  14231. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14232.  
  14233. Windows 
  14234.  
  14235. short SetTimer(hWnd, wIdEvent, wElapse, lpTimerFunc);
  14236.       HWND hWnd;
  14237.       short wIdEvent;
  14238.       unsigned wElapse;
  14239.       FARPROC lpTimerFunc;
  14240.  
  14241. Presentation Manager 
  14242.  
  14243. USHORT WinStartTimer(hab, hwnd, idTimer, dtTimeout)
  14244.        HAB hab;
  14245.        HWND hwnd;
  14246.        USHORT idTimer;
  14247.        USHORT dtTimeout;
  14248. This Windows function creates a system timer event identified by wIdEvent
  14249. with wElapse specifying the elapsed time in milliseconds, and lpTimerFunc
  14250. recieving the timer messages if not NULL. The Presentation Manager function is
  14251. equivalent except that the WM_TIMER messages are always received by the
  14252. window's message procedure.
  14253.  
  14254.  
  14255. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14256.  
  14257. Windows 
  14258.  
  14259. DWORD SetViewportExt(hDC, X, Y);
  14260.       HDC hDC;
  14261.       short X;
  14262.       short Y;
  14263.  
  14264. Presentation Manager 
  14265.  
  14266. BOOL GpiSetModelTransformMatrix(hps, cElements, pmatlfTransform, lType)
  14267.      HPS hps;
  14268.      LONG cElements;
  14269.      PMATRIXLF pmatlfTransform;
  14270.      LONG lType;
  14271.  
  14272. This Windows function sets the x and y extents of the viewport of the specified 
  14273. display context. The Presentation Manager function takes the transformation 
  14274. matrix. The transformation matrix should be an array containing nine points. 
  14275. lNum should be nine and lType should be TRANSFORM_REPLACE. The transformation 
  14276. matrix's third, sixth, and ninth values should be 0. The values 1, 2, 4, and 5 
  14277. must be in fixed point notation. A number is in fixed point notation when the 
  14278. high order word stores the integer part of the number and the low order word 
  14279. stores the fractional part of the number. To convert from an integer to fixed 
  14280. point notation, use the define: FIXEDFRAC(integer, 0). To convert from a float 
  14281. to fixed point, use the following statement: FixVal = (ULONG) (FloatVal * 
  14282. (float) 0x10000). The values needed for the PM transformation array can be 
  14283. expressed in terms of the Window and Viewport values which are used in Windows. 
  14284. Assuming that the values for the viewport and window are in Vx1, Vy1, Vx2, Vy2, 
  14285. Wx1, Wy1, Wx2, Wy2; the values for the transformation matrix should be: 
  14286.  
  14287.            1st value = (Vx2 - Vx1 + 1) / (Wx2 - Wx1 + 1)
  14288. [fixed pt] 2nd value = 0
  14289.            4th value = 1st value with y's for the x's
  14290. [fixed pt] 5th value = 0
  14291.            7th value = Vx1 - 1/2 - (Wx1 - 1/2) (Vx2 - Vx1 + 1) / (Wx2 - Wx1 + 1)
  14292.            8th value = 7th value with y's for the x's
  14293.  
  14294.  
  14295. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14296.  
  14297. Windows 
  14298.  
  14299. DWORD SetViewportOrg(hDC, X, Y);
  14300.       HDC hDC;
  14301.       SHORT X;
  14302.       SHORT Y;
  14303.  
  14304. Presentation Manager 
  14305.  
  14306. BOOL GpiSetModelTransformMatrix(hps, cElements, pmatlfTransform, lType)
  14307.      HPS hps;
  14308.      LONG cElements;
  14309.      PMATRIXLF pmatlfTransform;
  14310.      LONG lType;
  14311.  
  14312. This Windows function sets the x and y origin of the viewport of the specified 
  14313. display context. For an explanation of the Presentation Manager function, see 
  14314. translation for SetViewportExt. 
  14315.  
  14316.  
  14317. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14318.  
  14319. Windows 
  14320.  
  14321. VOID SetVoiceAccent();
  14322.  
  14323. Presentation Manager 
  14324.  
  14325. No equivalent 
  14326.  
  14327. This Windows function places an accent (tempo, volume, mode, and pitch) in the 
  14328. voice queue.  There is no PM equivalent; sound functions are not supported in 
  14329. PM. 
  14330.  
  14331.  
  14332. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14333.  
  14334. Windows 
  14335.  
  14336. VOID SetVoiceEnvelope();
  14337.  
  14338. Presentation Manager 
  14339.  
  14340. No equivalent 
  14341.  
  14342. This Windows function places the envelope (wave shape and repeat count) in the 
  14343. voice queue. There is no PM equivalent; sound functions are not supported in 
  14344. PM. 
  14345.  
  14346.  
  14347. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14348.  
  14349. Windows 
  14350.  
  14351. VOID SetVoiceNote();
  14352.  
  14353. Presentation Manager 
  14354.  
  14355. No equivalent 
  14356.  
  14357. This Windows function places a note in the voice queue. There is no PM 
  14358. equivalent; sound functions are not supported in PM. 
  14359.  
  14360.  
  14361. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14362.  
  14363. Windows 
  14364.  
  14365. VOID SetVoiceQueueSize();
  14366.  
  14367. Presentation Manager 
  14368.  
  14369. No equivalent 
  14370.  
  14371. This Windows function allocates wBytes of memory for the voice queue wVoice. 
  14372. There is no PM equivalent; sound functions are not supported in PM. 
  14373.  
  14374.  
  14375. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14376.  
  14377. Windows 
  14378.  
  14379. VOID SetVoiceSound();
  14380.  
  14381. Presentation Manager 
  14382.  
  14383. No equivalent 
  14384.  
  14385. This Windows function places a sound (frequency and duration) in the voice 
  14386. queue. There is no PM equivalent; sound functions are not supported in PM. 
  14387.  
  14388.  
  14389. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14390.  
  14391. Windows 
  14392.  
  14393. VOID SetVoiceThreshold();
  14394.  
  14395. Presentation Manager 
  14396.  
  14397. No equivalent 
  14398.  
  14399. This Windows function sets the threshold level to nNotes for the voice queue. 
  14400. There is no Presentation Manager equivalent; sound functions are not supported 
  14401. in Presentation Manager. 
  14402.  
  14403.  
  14404. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14405.  
  14406. Windows 
  14407.  
  14408. DWORD SetWindowExt(hDC, X, Y);
  14409.       HDC hDC;
  14410.       SHORT X;
  14411.       SHORT Y;
  14412.  
  14413. Presentation Manager 
  14414.  
  14415. BOOL GpiSetModelTransformMatrix(hps, cElements, pmatlfTransform, lType)
  14416.      HPS hps;
  14417.      LONG cElements;
  14418.      PMATRIXLF pmatlfTransform;
  14419.      LONG lType;
  14420.  
  14421. This Windows function sets the x and y extents of the window of the specified 
  14422. display context. For an explanation of the Presentation Manager function, see 
  14423. translation for SetViewportExt. 
  14424.  
  14425.  
  14426. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14427.  
  14428. Windows 
  14429.  
  14430. LONG SetWindowLong(hwnd, wIndex, lValue);
  14431.      HWND hwnd;
  14432.      int wIndex;
  14433.      LONG lValue;
  14434.  
  14435. Presentation Manager 
  14436.  
  14437. BOOL WinSetWindowULong(hwnd, index, ul)
  14438.      HWND hwnd;
  14439.      SHORT index;
  14440.      ULONG ul;
  14441.  
  14442. This Windows function changes the window attribute identified by wIndex. The 
  14443. Presentation Manager function is equivalent although the contants used for the 
  14444. indices have changed. 
  14445.  
  14446.  
  14447. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14448.  
  14449. Windows 
  14450.  
  14451. DWORD SetWindowOrg(hDC, X, Y);
  14452.       HDC hDC;
  14453.       short X;
  14454.       short Y;
  14455.  
  14456. Presentation Manager 
  14457.  
  14458. BOOL GpiSetModelTransformMatrix(hps, cElements, pmatlfTransform, lType)
  14459.      HPS hps;
  14460.      LONG cElements;
  14461.      PMATRIXLF pmatlfTransform;
  14462.      LONG lType;
  14463.  
  14464. This Windows function sets the x and y coordinates of the window of the 
  14465. specified display context. For an explanation of the Presentation Manager 
  14466. function, see translation for SetViewportExt. 
  14467.  
  14468.  
  14469. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14470.  
  14471. Windows 
  14472.  
  14473. void SetWindowPos(hWnd, hWndInsertAfter, x, y, cx, cy, wFlags);
  14474.      HWND hWnd;
  14475.      HWND hWndInsertAfter;
  14476.      int x;
  14477.      int y;
  14478.      int cx;
  14479.      int cy;
  14480.      WORD wFlags;
  14481.  
  14482. Presentation Manager 
  14483.  
  14484. BOOL WinSetWindowPos(hwnd, hwndInsertBehind, x, y, cx, cy, fs)
  14485.      HWND hwnd;
  14486.      HWND hwndInsertBehind;
  14487.      SHORT x;
  14488.      SHORT y;
  14489.      SHORT cx;
  14490.      SHORT cy;
  14491.      USHORT fs;
  14492.  
  14493. This Windows function changes the size, position, and ordering of child, 
  14494. pop-up, and top-level windows. The Presentation Manager function allows the 
  14495. general positioning of a window. Note the coordinate differences between 
  14496. Windows and Presentation Manager: in Windows the coordinates for child windows 
  14497. are relative to the upper-left corder of the parent window's client area, 
  14498. whereas in Presentation Manager the coordinates are relative to the bottom-left 
  14499. corner of the parent window. Note that in Presentation Manager, most parameters 
  14500. are ignored if the correct fs parameter option is not selected. 
  14501.  
  14502. See Also:
  14503.  
  14504.  WinSetActiveWindow, WinSetMultWindowPos 
  14505.  
  14506.  
  14507. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14508.  
  14509. Windows 
  14510.  
  14511. FARPROC SetWindowsHook(wFilterType, lpFilterFunc);
  14512.         int wFilterType;
  14513.         FARPROC lpFilterFunc;
  14514.  
  14515. Presentation Manager 
  14516.  
  14517. BOOL WinSetHook(hab, hmq, iHook, pfnHook, hmod)
  14518.      HAB hab;
  14519.      HMQ hmq;
  14520.      SHORT iHook;
  14521.      PFN pfnHook;
  14522.      HMODULE hmod;
  14523.  
  14524. This Windows function installs a system and/or application hook function. The 
  14525. Presentation Manager function is significantly different from the Windows 
  14526. function. 
  14527.  
  14528.  
  14529. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14530.  
  14531. Windows 
  14532.  
  14533. void SetWindowText(hwnd, lpText);
  14534.      HWND hwnd;
  14535.      LPSTR lpText;
  14536.  
  14537. Presentation Manager 
  14538.  
  14539. BOOL WinSetWindowText(hwnd, pszText)
  14540.      HWND hwnd;
  14541.      PSZ pszText;
  14542.  
  14543. This Windows function sets window caption (if any) or text (if a control) to 
  14544. lpText. The Presentation Manager function is equivalent. 
  14545.  
  14546.  
  14547. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14548.  
  14549. Windows 
  14550.  
  14551. WORD SetWindowWord(hwnd, wIndex, wValue);
  14552.      HWND hwnd;
  14553.      int wIndex;
  14554.      WORD wValue;
  14555.  
  14556. Presentation Manager 
  14557.  
  14558. BOOL WinSetWindowUShort(hwnd, index, us)
  14559.      HWND hwnd;
  14560.      SHORT index;
  14561.      USHORT us;
  14562. This Windows function changes the window attribute specified by wIndex. The
  14563. Presentation Manager function is similar although the constants used for the indices
  14564. have changed.
  14565.  
  14566.  
  14567. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14568.  
  14569. Windows 
  14570.  
  14571. VOID ShowCaret(hwnd);
  14572.      HWND hwnd;
  14573.  
  14574. Presentation Manager 
  14575.  
  14576. BOOL WinShowCursor(hwnd, fShow)
  14577.      HWND hwnd;
  14578.      BOOL fShow;
  14579.  
  14580. This Windows function displays newly-created caret or redisplays hidden caret. 
  14581. The Presentation Manager function performs this functionality, and can be 
  14582. called with fShow set to TRUE. 
  14583.  
  14584.  
  14585. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14586.  
  14587. Windows 
  14588.  
  14589. int ShowCursor(fShow);
  14590.     BOOL fShow;
  14591.  
  14592. Presentation Manager 
  14593.  
  14594. BOOL WinShowPointer(hwndDesktop, fShow)
  14595.      HWND hwndDesktop;
  14596.      BOOL fShow;
  14597.  
  14598. This Windows function adds 1 to the cursor display count is fShow is nonzero 
  14599. and subtracts 1 if fShow is zero. The Presentation Manager function is 
  14600. equivalent; HWND_DESKTOP should be sent for hDesktop. 
  14601.  
  14602.  
  14603. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14604.  
  14605. Windows 
  14606.  
  14607. BOOL ShowWindow(hWnd, wShowType);
  14608.      HWND hWnd;
  14609.      int wShowType;
  14610.  
  14611. Presentation Manager 
  14612.  
  14613. BOOL WinShowWindow(hwnd, fShow)
  14614.      HWND hwnd;
  14615.      BOOL fShow;
  14616.  
  14617. This Windows function displays or removes the given window as specified by 
  14618. wShowType. The Presentation Manager can be used to set the window visibility 
  14619. state. In order to iconize, restore, or zoom the window, the Presentation 
  14620. Manager application should send a WM_SYSCOMMAND message to the frame with 
  14621. either SC_MAXIMIZE or SC_MINIMIZE in the low word of the first parameter. Note 
  14622. that WinShowWindow does not update the screen. 
  14623.  
  14624.  
  14625. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14626.  
  14627. Windows 
  14628.  
  14629. WORD SizeofResource(hInst, hResInfo);
  14630.      HANDLE hInst;
  14631.      HANDLE hResInfo;
  14632.  
  14633. Presentation Manager 
  14634.  
  14635. No equivalent 
  14636.  
  14637. This Windows function returns the size, in bytes, of resource hResInfo. There 
  14638. is no PM equivalent. 
  14639.  
  14640.  
  14641. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14642.  
  14643. Windows 
  14644.  
  14645. VOID StartSound();
  14646.  
  14647. Presentation Manager 
  14648.  
  14649. No equivalent 
  14650.  
  14651. This Windows function starts play in each voice queue.  There is no PM 
  14652. equivalent; sound functions are not supported in PM. 
  14653.  
  14654.  
  14655. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14656.  
  14657. Windows 
  14658.  
  14659. VOID StopSound();
  14660.  
  14661. Presentation Manager 
  14662.  
  14663. No equivalent 
  14664.  
  14665. This Windows function stops playing all voice queues, and flushes the contents 
  14666. of the queues.  There is no PM equivalent; sound functions are not supported in 
  14667. PM. 
  14668.  
  14669.  
  14670. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14671.  
  14672. Windows 
  14673.  
  14674. BOOL StretchBlt(hDest, X, Y, wWidth, wHeight, hSrc, XSrc, YSrc, wWidthSrc,
  14675.                 wHeightSrc, dwROP);
  14676.      HDC hDest;
  14677.      short X;
  14678.      short Y;
  14679.      short wWidth;
  14680.      short wHeight;
  14681.      HDC hSrc;
  14682.      short XSrc;
  14683.      short YSrc;
  14684.      short wWidthSrc;
  14685.      short wHeightSrc;
  14686.      DWORD dwROP;
  14687.  
  14688. Presentation Manager 
  14689.  
  14690. LONG GpiBitBlt(hpsTarg, hpsSrc, cPoints, paptlPoints, lRop, flOptions)
  14691.      HPS hpsTarg;
  14692.      HPS hpsSrc;
  14693.      LONG cPoints;
  14694.      PPOINTL paptlPoints;
  14695.      LONG lRop;
  14696.      LONG flOptions;
  14697.  
  14698. Windows function moves bitmap from rectangle on source device to rectangle on 
  14699. destination device, with dwRop describing how source, destination, and possibly 
  14700. brush bits are to be combined. GpiBitBlt encompasses the functionality present 
  14701. in BitBlt and StretchBitBlt. For stretched blitting, lMode should be either 
  14702. BLTMODE_OR, BLTMODE_AND, or BLTMODE_IGNORE corresponding to constants in 
  14703. Windows of WHITEONBLACK, BLACKONWHITE, and COLORONCOLOR. lNum should be 4, and 
  14704. pPointL should be an array with the 4 following points: the bottom left corner 
  14705. of the destination blit area, the top right corner of the destination blit 
  14706. area, the bottom left corner of the source blit area, and the top right corner 
  14707. of the source blit area. The ROP codes have changed, see translation of desired 
  14708. ROP code. 
  14709.  
  14710.  
  14711. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14712.  
  14713. Windows 
  14714.  
  14715. BOOL SwapMouseButton(fSwap);
  14716.      BOOL fSwap;
  14717.  
  14718. Presentation Manager 
  14719.  
  14720. BOOL WinSetSysValue(hwndDesktop, iSysValue, lValue)
  14721.      HWND hwndDesktop;
  14722.      SHORT iSysValue;
  14723.      LONG lValue;
  14724.  
  14725. This Windows function swaps the meaning of the left and right mouse buttons if 
  14726. fSwap is TRUE. The Presentation Manager function can be called with hDesktop 
  14727. set to HWND_DESKTOP, wIndex set to SV_SWAPBUTTON, and wValue set to fSwap. 
  14728.  
  14729.  
  14730. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14731.  
  14732. Windows 
  14733.  
  14734. VOID SyncAllVoices();
  14735.  
  14736. Presentation Manager 
  14737.  
  14738. No equivalent 
  14739.  
  14740. This Windows function places a sync mark in each voice queue; voices wait at 
  14741. the sync mark until all queues have encountered it. There is no PM equivalent; 
  14742. sound functions are not supported in PM. 
  14743.  
  14744.  
  14745. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14746.  
  14747. Windows 
  14748.  
  14749. BOOL TextOut(hDC, X, Y, lpString, wCount);
  14750.      HDC hDC;
  14751.      SHORT X;
  14752.      SHORT Y;
  14753.      LPSTR lpString;
  14754.      SHORT wCount;
  14755.  
  14756. Presentation Manager 
  14757.  
  14758. LONG GpiCharStringAt(hps, pptlStart, cchString, pchString)
  14759.      HPS hps;
  14760.      PPOINTL pptlStart;
  14761.      LONG cchString;
  14762.      PCH pchString;
  14763.  
  14764. This Windows function writes character string using current font starting at X, 
  14765. Y. The Presentation Manager function is equivalent. In PM, the origin in text 
  14766. mode is in the bottom left hand corner of the window, versus the top left hand 
  14767. corner in Windows. Additionally, the x and y positions given for 
  14768. GpiCharStringAt determine where the left base side of the text will start. The 
  14769. positions for TextOut determine the upper left side of where the text will 
  14770. start. In order to translate from the Windows y coordinate to the equivalent 
  14771. coordinate in PM, the application can use the following equation: PM Y Coord = 
  14772. Height of Window - (Win Y Coord + Height of Text). 
  14773.  
  14774.  
  14775. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14776.  
  14777. Windows 
  14778.  
  14779. void Throw(lpCatchBuf, wThrowBack);
  14780.      LPCATCHBUF lpCatchBuf;
  14781.      int wThrowBack;
  14782.  
  14783. Presentation Manager 
  14784.  
  14785. VOID WinThrow(pCatchBuf, nThrowBack)
  14786.      PCATCHBUF pcatchbuf;
  14787.      SHORT nThrowBack;
  14788.  
  14789. This Windows function restores the execution environment to the values in 
  14790. buffer lpCatchBuf, with execution continuing at the location specified by the 
  14791. environment with the return value wThrowBack available for processing. The 
  14792. Presentation Manager function is equivalent. 
  14793.  
  14794.  
  14795. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14796.  
  14797. Windows 
  14798.  
  14799. BOOL TranslateAccelerator(hWnd, hAccTable, lpMsg);
  14800.      HWND hWnd;
  14801.      HANDLE hAccTable;
  14802.      LPMSG lpMsg;
  14803.  
  14804. Presentation Manager 
  14805.  
  14806. BOOL WinSetAccelTable(hab, haccel, hwndFrame)
  14807.      HAB hab;
  14808.      HACCEL haccel;
  14809.      HWND hwndFrame;
  14810.  
  14811. This Windows function processes keyboard accelerators for menu commands. The 
  14812. Presentation Manager function can be called once after window creation to 
  14813. associate the accelerator table with the window. 
  14814.  
  14815.  
  14816. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14817.  
  14818. Windows 
  14819.  
  14820. BOOL TranslateMessage(lpMsg);
  14821.      LPMSG lpMsg;
  14822.  
  14823. Presentation Manager 
  14824.  
  14825. No equivalent 
  14826.  
  14827. This Windows function translates virtual keystroke messages into character 
  14828. messages. In PM, this function is not needed becuase the character message has 
  14829. been combined with the virtual keystroke message. See translation of WM_CHAR. 
  14830.  
  14831.  
  14832. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14833.  
  14834. Windows 
  14835.  
  14836. int UnionRect(lpDest, lpSrc1, lpSrc2);
  14837.     LPRECT lpDest;
  14838.     LPRECT lpSrc1;
  14839.     LPRECT lpSrc2;
  14840.  
  14841. Presentation Manager 
  14842.  
  14843. BOOL WinUnionRect(hab, prclDst, prclSrc1, prclSrc2)
  14844.      HAB hab;
  14845.      PRECTL prclDst;
  14846.      PRECTL prclSrc1;
  14847.      PRECTL prclSrc2;
  14848.  
  14849. This Windows function stores the union of two rectangles at lpDest. The PM 
  14850. function is equivalent. 
  14851.  
  14852.  
  14853. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14854.  
  14855. Windows 
  14856.  
  14857. HANDLE UnlockData(Dummy);
  14858.        WORD Dummy;
  14859.  
  14860. Presentation Manager 
  14861.  
  14862. No equivalent 
  14863.  
  14864. This Windows function unlocks the data segment. There is no PM equivalent to 
  14865. this function. 
  14866.  
  14867.  
  14868. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14869.  
  14870. Windows 
  14871.  
  14872. HANDLE UnlockSegment(wSegment);
  14873.        WORD wSegment;
  14874.  
  14875. Presentation Manager 
  14876.  
  14877. USHORT DosUnlockSeg(sel)
  14878.        SEL sel;    /* selector of segment to be unlocked */
  14879.  
  14880. This Windows function unlocks the segment whose segment address is wSegment. 
  14881. The Presentation Manager function is only applicable for segments allocated 
  14882. with the DosAllocSeg call and specified as discardable. For these segments, 
  14883. this call reduces the reference counter, and these segments may be discarded 
  14884. when the reference counter reaches 0. 
  14885.  
  14886. See Also:
  14887.  
  14888.  DosAllocSeg 
  14889.  
  14890.  
  14891. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14892.  
  14893. Windows 
  14894.  
  14895. BOOL UnrealizeObject(hBrush);
  14896.      HBRUSH hBrush;
  14897.  
  14898. Presentation Manager 
  14899.  
  14900. No equivalent 
  14901.  
  14902. The Windows function directs GDI to reset the origin of the given brush the 
  14903. next time it is selected. In Presentation Manager, the reference point or 
  14904. origin is stored in the hPS and is reset each time the hPS is created. There is 
  14905. no Presentation Manager equivalent to this function. In Presentation Manager, 
  14906. brushes are not objects, but the type AREABUNDLE corresponds to the attributes 
  14907. associated with brushes in Windows. 
  14908.  
  14909.  
  14910. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14911.  
  14912. Windows 
  14913.  
  14914. VOID UpdateWindow(hWnd);
  14915.      HWND hWnd;
  14916.  
  14917. Presentation Manager 
  14918.  
  14919. BOOL WinUpdateWindow(hwnd)
  14920.      HWND hwnd;
  14921.  
  14922. This Windows function notifies application when parts of a window need 
  14923. redrawing after changes. The Presentation Manager function is equivalent. In 
  14924. PM, the application may also choose to register the window class with style 
  14925. CS_SYNCPAINT. This style means that the PM window will immediately receive a 
  14926. WM_PAINT message as soon as part of the window becomes invalide. Normally, 
  14927. WM_PAINT messages are combined at the end of the message queue and are only 
  14928. sent when no more messages remain. 
  14929.  
  14930.  
  14931. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14932.  
  14933. Windows 
  14934.  
  14935. VOID ValidateRect(hwnd, lpRect);
  14936.      HWND hwnd;
  14937.      LPRECT lpRect;
  14938.  
  14939. Presentation Manager 
  14940.  
  14941. BOOL WinValidateRect(hwnd, prcl, fIncludeChildren)
  14942.      HWND hwnd;
  14943.      PRECTL prcl;
  14944.      BOOL fIncludeChildren;
  14945.  
  14946. This Windows function releases from repainting rectangle specified by lpRect 
  14947. (in client coordinates); if lpRect is NULL, entire window is validated. The 
  14948. Presentation Manager function is equivalent. 
  14949.  
  14950.  
  14951. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14952.  
  14953. Windows 
  14954.  
  14955. void ValidateRgn(hwnd, hrgn);
  14956.      HWND hwnd;
  14957.      HRGN hrgn;
  14958.  
  14959. Presentation Manager 
  14960.  
  14961. BOOL WinValidateRegion(hwnd, hrgn, fIncludeChildren)
  14962.      HWND hwnd;
  14963.      HRGN hrgn;
  14964.      BOOL fIncludeChildren;
  14965.  
  14966. This Windows function release hRgn from repainting; if hRgn is NULL, entire 
  14967. region is validated. The Presentation Manager function is equivalent. 
  14968.  
  14969.  
  14970. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14971.  
  14972. Windows 
  14973.  
  14974. VOID WaitMessage();
  14975.  
  14976. Presentation Manager 
  14977.  
  14978. BOOL WinWaitMsg(hab, msgFirst, msgLast)
  14979.      HAB hab;
  14980.      USHORT msgFirst;
  14981.      USHORT msgLast;
  14982.  
  14983. This Windows message yields control to other applications when application has 
  14984. no tasks to perform. The Presentation Manager function is equivalent except 
  14985. that application has ability to wait for range of messages. 
  14986.  
  14987.  
  14988. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  14989.  
  14990. Windows 
  14991.  
  14992. VOID WaitSoundState();
  14993.  
  14994. Presentation Manager 
  14995.  
  14996. No equivalent 
  14997.  
  14998. This Windows function waits until the play driver enters the state wState. 
  14999. There is no PM equivalent; sound functions are not supported in PM. 
  15000.  
  15001.  
  15002. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15003.  
  15004. Windows 
  15005.  
  15006. HWND WindowFromPoint(Point);
  15007.      POINT Point;
  15008.  
  15009. Presentation Manager 
  15010.  
  15011. HWND WinWindowFromPoint(hwnd, pptl, fChildren, fLock)
  15012.      HWND hwnd;
  15013.      PPOINTL pptl;
  15014.      BOOL fChildren;
  15015.      BOOL fLock;
  15016.  
  15017. This Windows function identifies the window containing Point (in screen 
  15018. coordinates). The Presentation Manager function is equivalent if called with 
  15019. hWndParent set to HWND_DESKTOP and fEnumChild set to FALSE. 
  15020.  
  15021.  
  15022. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15023.  
  15024. Windows 
  15025.  
  15026. INT WinMain(hInst, hPrev, lpszCmd, cmdShow);
  15027.     HANDLE hInst;
  15028.     HANDLE hPrev;
  15029.     LPSTR lpszCmd;
  15030.     INT cmdShow;
  15031.  
  15032. Presentation Manager 
  15033.  
  15034. HAB WinInitialize(fOptions)
  15035.     USHORT fOptions;
  15036.  
  15037. BOOL WinTerminate(hab)
  15038.      HAB hab;
  15039.  
  15040. HMQ WinCreateMsgQueue(hab, cmsg)
  15041.     HAB hab;
  15042.     SHORT cmsg;
  15043.  
  15044. BOOL WinDestroyMsgQueue(hmq)
  15045.      HMQ hmq;
  15046.  
  15047. HHEAP WinCreateHeap(selHeapBase, cbHeap, cbGrow, cbMinDed, cbMaxDed, fOptions)
  15048.  
  15049. HHEAP WinDestroyHeap(hHeap)
  15050.       HHEAP hHeap;
  15051.  
  15052. This function is the main entry point for the application. In Windows, the 
  15053. application does not need to do much system initialization before registering 
  15054. and creating its window. In PM, the application must first call WinInitialize 
  15055. before calling any Presentation Manager functions. The anchor block handle 
  15056. which is returned is needed for many functions and should be saved. Before the 
  15057. application terminates, WinTerminate should be called to release resources 
  15058. associated with the hAB. Before the main window can be created, the application 
  15059. needs to call WinCreateMsgQueue to create a message queue. Calling this 
  15060. function with wSizeQueue set to 0 creates a queue with the default size. Before 
  15061. the application exits, the message queue should be destroyed by the 
  15062. WinDestroyMsgQueue function. Finally, if the application uses the local heap, 
  15063. it may be created at this time. In Windows, the local heap was created 
  15064. automatically. To create a heap with is similar to that in Windows, call 
  15065. WinCreateHeap with all parameters set to 0, except wOption which is set to 
  15066. HM_MOVEABLE. Although this creates a heap which is compatible to the Windows 
  15067. local heap, local heaps have been significantly enhanced in PM and the 
  15068. application developer may want to investigate them further to take full 
  15069. advantage of their capabilities. 
  15070.  
  15071.  
  15072. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15073.  
  15074. Windows 
  15075.  
  15076. BOOL WriteProfileString(lpSection, lpKey, lpString);
  15077.      LPSTR lpSection;
  15078.      LPSTR lpKey;
  15079.      LPSTR lpString;
  15080.  
  15081. Presentation Manager 
  15082.  
  15083. BOOL WinWriteProfileString(hab, pszAppName, pszKeyName, pszValue)
  15084.      HAB hab;
  15085.      PSZ pszAppName;
  15086.      PVOID pszKeyName;
  15087.      PVOID pszValue;
  15088. p. This Windows function copies character string lpString to the win.ini file; 
  15089. the string replaces the current string named by lpKey in section lpSection; if 
  15090. the key or section does not exist, a new key and section are created. the 
  15091. Presentation Manager function is equivalent. In PM, the initialization file is 
  15092. presserv.ini. 
  15093.  
  15094.  
  15095. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15096.  
  15097. Windows 
  15098.  
  15099. WM_ACTIVATEAPP in WIN3
  15100.  
  15101. Presentation Manager 
  15102.  
  15103. No equivalent 
  15104.  
  15105. This Windows message is sent when the window that is being activated belongs to 
  15106. a different application than the window that previously was active. This 
  15107. message is not available in PM. 
  15108.  
  15109.  
  15110. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15111.  
  15112. Windows 
  15113.  
  15114. WM_ASKCBFORMATNAME in WIN3
  15115.  
  15116. Presentation Manager 
  15117.  
  15118. No equivalent 
  15119.  
  15120. This Windows message is sent when the clipboard contains a data handle for the 
  15121. CF_OWNERDISPLAY format to request a copy of the format name. This message is 
  15122. not available in OS/2. In OS/2, the format names are held in the system atom 
  15123. table. To refer to the format name, use the function WinQuerySystemAtomTable 
  15124. and give a handle to the atom table and the atom. 
  15125.  
  15126. See Also:
  15127.  
  15128.  RegisterClipboardFormat 
  15129.  
  15130.  
  15131. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15132.  
  15133. Windows 
  15134.  
  15135. WM_CHANGECBCHAIN in WIN3
  15136.  
  15137. Presentation Manager 
  15138.  
  15139. No equivalent 
  15140.  
  15141. This Windows message notifies the first window in the clipboard viewer chain 
  15142. that a window is being removed from the clipboard viewer chain. In PM, only one 
  15143. window can be specified as the clipboard viewer; this message is unnecessary. 
  15144.  
  15145.  
  15146. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15147.  
  15148. Windows 
  15149.  
  15150. WM_CLEAR in WIN3
  15151.  
  15152. Presentation Manager 
  15153.  
  15154. EM_CLEAR
  15155.  
  15156. This Windows edit control message deletes the current selection. The PM message 
  15157. is equivalent. 
  15158.  
  15159.  
  15160. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15161.  
  15162. Windows 
  15163.  
  15164. WM_COPY in WIN3
  15165.  
  15166. Presentation Manager 
  15167.  
  15168. EM_COPY
  15169. This Windows edit control message sends the current selection to the clipboard 
  15170. in CF_TEXT format. The PM message is equivalent. 
  15171.  
  15172.  
  15173. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15174.  
  15175. Windows 
  15176.  
  15177. WM_CTLCOLOR in WIN3
  15178.  
  15179. Presentation Manager 
  15180.  
  15181. No equivalent 
  15182.  
  15183. This Windows message is sent to the parent window of a predefined control or 
  15184. message box when the child is about to be drawn; a handle to the brush used to 
  15185. paint the control's backgroud should be returned. This message is not available 
  15186. in PM. 
  15187.  
  15188.  
  15189. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15190.  
  15191. Windows 
  15192.  
  15193. WM_CUT in WIN3
  15194.  
  15195. Presentation Manager 
  15196.  
  15197. EM_CUT
  15198. This Windows edit control message sends the current selection to the clipboard 
  15199. in CF_TEXT format, then deletes the selection from the control window. The PM 
  15200. message is equivalent. 
  15201.  
  15202.  
  15203. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15204.  
  15205. Windows 
  15206.  
  15207. WM_DEADCHAR in WIN3
  15208.  
  15209. Presentation Manager 
  15210.  
  15211. WM_CHAR
  15212. This Windows message is the result of a translated WM_KEYUP or WM_KEYDOWN 
  15213. message; it specifies the character value of a dead key. In PM, dead keys are 
  15214. reported through the WM_CHAR message. 
  15215.  
  15216.  
  15217. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15218.  
  15219. Windows 
  15220.  
  15221. WM_DEVMODECHANGE in WIN3
  15222.  
  15223. Presentation Manager 
  15224.  
  15225. No equivalent 
  15226.  
  15227. This Windows message is sent to all top-level windows whenever the user changes 
  15228. device mode settings. This message is not available in PM. 
  15229.  
  15230.  
  15231. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15232.  
  15233. Windows 
  15234.  
  15235. WM_ENDSESSION in WIN3
  15236.  
  15237. Presentation Manager 
  15238.  
  15239. No equivalent 
  15240.  
  15241. This Windows message is sent to tell an application that has responded nonzero 
  15242. to a WM_QUERYENDSESSION message whether the session is actually being ended. In 
  15243. PM, this message is not available; applications do not have the ability to 
  15244. prevent the session from ending. 
  15245.  
  15246.  
  15247. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15248.  
  15249. Windows 
  15250.  
  15251. WM_ERASEBKGND in WIN3
  15252.  
  15253. Presentation Manager 
  15254.  
  15255. WM_ERASEBACKGROUND
  15256. This Windows message occurs when the window background needs erasing; it is 
  15257. sent in preparation for painting an invalidated region. The OS/2 message is 
  15258. similar. 
  15259.  
  15260.  
  15261. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15262.  
  15263. Windows 
  15264.  
  15265. WM_FONTCHANGE in WIN3
  15266.  
  15267. Presentation Manager 
  15268.  
  15269. No equivalent 
  15270.  
  15271. This Windows message occurs when the pool of font resources changes. This 
  15272. message is not available in PM. 
  15273.  
  15274.  
  15275. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15276.  
  15277. Windows 
  15278.  
  15279. WM_GETDLGCODE in WIN3
  15280.  
  15281. Presentation Manager 
  15282.  
  15283. No equivalent 
  15284.  
  15285. This Windows message is sent by the Windows dialog manager to a control; by 
  15286. responding to the message, an application can take control of a particular type 
  15287. of input and process the input itself. This message is not available in PM. 
  15288.  
  15289.  
  15290. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15291.  
  15292. Windows 
  15293.  
  15294. WM_GETTEXT in WIN3
  15295.  
  15296. Presentation Manager 
  15297.  
  15298. WM_QUERYWINDOWPARAMS
  15299. This Windows message is used to copy the text corresponding to a window. The PM 
  15300. message is equivalent; the field cchText in WNDPARAMS should be set to the 
  15301. maximum buffer size and the field lpszText should point to the buffer. 
  15302.  
  15303.  
  15304. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15305.  
  15306. Windows 
  15307.  
  15308. WM_GETTEXTLENGTH in WIN3
  15309.  
  15310. Presentation Manager 
  15311.  
  15312. WM_QUERYWINDOWPARAMS
  15313. This Windows message is used to find the length, in bytes, of the text 
  15314. associated with a window. The OS/2 message is equivalent; the field cchText of 
  15315. WNDPARAMS contains the text length. 
  15316.  
  15317.  
  15318. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15319.  
  15320. Windows 
  15321.  
  15322. WM_INITDIALOG in WIN3
  15323.  
  15324. Presentation Manager 
  15325.  
  15326. WM_INITDLG
  15327. This Windows message is sent immediately before a dialog box is displayed. The 
  15328. return value for the PM message is the opposite of the return value for the 
  15329. Windows message. 
  15330.  
  15331.  
  15332. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15333.  
  15334. Windows 
  15335.  
  15336. WM_INITMENUPOPUP in WIN3
  15337.  
  15338. Presentation Manager 
  15339.  
  15340. No equivalent 
  15341.  
  15342. This Windows message is sent immediately before a popup menu is displayed. 
  15343. There is no equivalent notification in PM. 
  15344.  
  15345.  
  15346. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15347.  
  15348. Windows 
  15349.  
  15350. WM_KEYDOWN in WIN3
  15351.  
  15352. Presentation Manager 
  15353.  
  15354. No equivalent 
  15355.  
  15356. This Windows message is sent when a non-system key is pressed. In PM, the key 
  15357. down and up events are reported by the system through the WM_CHAR message. 
  15358.  
  15359.  
  15360. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15361.  
  15362. Windows 
  15363.  
  15364. WM_KEYFIRST in WIN3
  15365.  
  15366. Presentation Manager 
  15367.  
  15368. No equivalent 
  15369.  
  15370. This Windows constant marks the position of the first keyboard message. This 
  15371. constant is not available in PM. 
  15372.  
  15373.  
  15374. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15375.  
  15376. Windows 
  15377.  
  15378. WM_KEYLAST in WIN3
  15379.  
  15380. Presentation Manager 
  15381.  
  15382. No equivalent 
  15383.  
  15384. This Windows constant marks the position of the first last message. This 
  15385. constant is not available in PM. 
  15386.  
  15387.  
  15388. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15389.  
  15390. Windows 
  15391.  
  15392. WM_KEYUP in WIN3
  15393.  
  15394. Presentation Manager 
  15395.  
  15396. No equivalent 
  15397.  
  15398. This Windows message is sent when a non-system key is released. In PM, the key 
  15399. down and up events are reported by the system through the WM_CHAR message. 
  15400.  
  15401.  
  15402. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15403.  
  15404. Windows 
  15405.  
  15406. WM_KILLFOCUS in WIN3
  15407.  
  15408. Presentation Manager 
  15409.  
  15410. WM_SETFOCUS
  15411. This Windows message is sent immediately before a window loses the input focus. 
  15412. The PM message is sent when the window gets or loses the input focus. 
  15413.  
  15414.  
  15415. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15416.  
  15417. Windows 
  15418.  
  15419. WM_LBUTTONDOWN in WIN3
  15420.  
  15421. Presentation Manager 
  15422.  
  15423. WM_BUTTON1DOWN
  15424. This Windows message occurs when the user presses the left mouse button. The 
  15425. Presentation Manager function is the same. 
  15426.  
  15427.  
  15428. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15429.  
  15430. Windows 
  15431.  
  15432. WM_LBUTTONUP in WIN3
  15433.  
  15434. Presentation Manager 
  15435.  
  15436. WM_BUTTON1UP
  15437. This Windows message occurs when the user releases the left mouse button. The 
  15438. Presentation Manager function is the same. 
  15439.  
  15440.  
  15441. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15442.  
  15443. Windows 
  15444.  
  15445. WM_MBUTTONDOWN in WIN3
  15446.  
  15447. Presentation Manager 
  15448.  
  15449. WM_BUTTON3DOWN
  15450. This Windows message occurs when the user presses the middle mouse button. The 
  15451. Presentation Manager function is the same. 
  15452.  
  15453.  
  15454. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15455.  
  15456. Windows 
  15457.  
  15458. WM_MBUTTONUP in WIN3
  15459.  
  15460. Presentation Manager 
  15461.  
  15462. WM_BUTTON3UP
  15463. This Windows message occurs when the user releases the middle mouse button. The 
  15464. Presentation Manager function is the same. 
  15465.  
  15466.  
  15467. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15468.  
  15469. Windows 
  15470.  
  15471. WM_NCACTIVATE in WIN3
  15472.  
  15473. Presentation Manager 
  15474.  
  15475. No equivalent 
  15476.  
  15477. This Windows non-client area message is not available in PM. 
  15478.  
  15479.  
  15480. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15481.  
  15482. Windows 
  15483.  
  15484. WM_NCCALCSIZE in WIN3
  15485.  
  15486. Presentation Manager 
  15487.  
  15488. WM_FORMATFRAME
  15489. Windows message is sent when client rect needs to be calculated. PM message is 
  15490. sent to the frame window in above sitiuation in addition to the general case of 
  15491. adding, deleting, or changing controls. 
  15492.  
  15493.  
  15494. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15495.  
  15496. Windows 
  15497.  
  15498. WM_NCCREATE in WIN3
  15499.  
  15500. Presentation Manager 
  15501.  
  15502. No equivalent 
  15503.  
  15504. This Windows non-client area message is not available in PM. 
  15505.  
  15506.  
  15507. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15508.  
  15509. Windows 
  15510.  
  15511. WM_NCDESTROY in WIN3
  15512.  
  15513. Presentation Manager 
  15514.  
  15515. No equivalent 
  15516.  
  15517. This Windows non-client area message is not available in PM. 
  15518.  
  15519.  
  15520. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15521.  
  15522. Windows 
  15523.  
  15524. WM_NCHITTEST in WIN3
  15525.  
  15526. Presentation Manager 
  15527.  
  15528. WM_HITTEST
  15529. Windows message is used to determine where mouse is destined for. PM message is 
  15530. only used to determine how mouse click should be handled (i.e. whether it 
  15531. should be processed or thrown away). 
  15532.  
  15533.  
  15534. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15535.  
  15536. Windows 
  15537.  
  15538. WM_NCLBUTTONUP in WIN3
  15539.  
  15540. Presentation Manager 
  15541.  
  15542. No equivalent 
  15543.  
  15544. This Windows non-client area message is not available in PM. 
  15545.  
  15546.  
  15547. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15548.  
  15549. Windows 
  15550.  
  15551. WM_NCMBUTTONUP in WIN3
  15552.  
  15553. Presentation Manager 
  15554.  
  15555. No equivalent 
  15556.  
  15557. This Windows non-client area message is not available in PM. 
  15558.  
  15559.  
  15560. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15561.  
  15562. Windows 
  15563.  
  15564. WM_NCMOUSEMOVE in WIN3
  15565.  
  15566. Presentation Manager 
  15567.  
  15568. No equivalent 
  15569.  
  15570. This Windows non-client area message is not available in PM. 
  15571.  
  15572.  
  15573. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15574.  
  15575. Windows 
  15576.  
  15577. WM_NCPAINT in WIN3
  15578.  
  15579. Presentation Manager 
  15580.  
  15581. No equivalent 
  15582.  
  15583. This Windows non-client area message is not available in PM. 
  15584.  
  15585.  
  15586. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15587.  
  15588. Windows 
  15589.  
  15590. WM_NCRBUTTONUP in WIN3
  15591.  
  15592. Presentation Manager 
  15593.  
  15594. No equivalent 
  15595.  
  15596. This Windows non-client area message is not available in PM. 
  15597.  
  15598.  
  15599. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15600.  
  15601. Windows 
  15602.  
  15603. WM_PASTE in WIN3
  15604.  
  15605. Presentation Manager 
  15606.  
  15607. EM_PASTE
  15608. This Windows edit control message inserts the data from the clipboard into the 
  15609. control window at the current cursor position. The PM message is equivalent. 
  15610.  
  15611.  
  15612. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15613.  
  15614. Windows 
  15615.  
  15616. WM_QUERYENDSESSION in WIN3
  15617.  
  15618. Presentation Manager 
  15619.  
  15620. No equivalent 
  15621.  
  15622. This Windows message occurs when the user invokes the "End Session" command; 
  15623. the default action is to return TRUE. In OS/2, this message is not available; 
  15624. applications do not have the ability to prevent the session from ending. 
  15625.  
  15626.  
  15627. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15628.  
  15629. Windows 
  15630.  
  15631. WM_QUERYOPEN in WIN3
  15632.  
  15633. Presentation Manager 
  15634.  
  15635. No equivalent 
  15636.  
  15637. This Windows message is sent to an icon when the user is requesting that is be 
  15638. opened; returning zero prevents the icon from being opened. This message is not 
  15639. available in PM. 
  15640.  
  15641.  
  15642. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15643.  
  15644. Windows 
  15645.  
  15646. WM_RBUTTONDOWN in WIN3
  15647.  
  15648. Presentation Manager 
  15649.  
  15650. WM_BUTTON2DOWN
  15651. This Windows message occurs when the user presses the right mouse button. The 
  15652. Presentation Manager function is the same. 
  15653.  
  15654.  
  15655. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15656.  
  15657. Windows 
  15658.  
  15659. WM_RBUTTONUP in WIN3
  15660.  
  15661. Presentation Manager 
  15662.  
  15663. WM_BUTTON2UP
  15664. This Windows message occurs when the user releases the right mouse button. The 
  15665. Presentation Manager function is the same. 
  15666.  
  15667.  
  15668. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15669.  
  15670. Windows 
  15671.  
  15672. WM_SETREDRAW in WIN3
  15673.  
  15674. Presentation Manager 
  15675.  
  15676. No equivalent 
  15677.  
  15678. This Windows message sets or clears the redraw flag, which determines whether 
  15679. updates to a control are displayed. In PM, the application can call 
  15680. WinEnableWindowUpdate with the control handle and FALSE to turn redraw off. To 
  15681. turn the redraw on, the application can call this function with TRUE or 
  15682. WinShowWindow which forces a redraw. 
  15683.  
  15684. See Also:
  15685.  
  15686.  WinEnableWindowUpdate WinShowWindow 
  15687.  
  15688.  
  15689. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15690.  
  15691. Windows 
  15692.  
  15693. WM_SETTEXT in WIN3
  15694.  
  15695. Presentation Manager 
  15696.  
  15697. WM_SETWINDOWPARAMS
  15698. This Windows message is used to set the text of a window. The PM message is 
  15699. equivalent; the field cchText in WNDPARAMS should contain the text length and 
  15700. the field lpszText should point to the text buffer. 
  15701.  
  15702.  
  15703. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15704.  
  15705. Windows 
  15706.  
  15707. WM_SETVISIBLE in WIN3
  15708.  
  15709. Presentation Manager 
  15710.  
  15711. WM_SHOW
  15712. This Windows message is sent immediately before a window is made visible. The 
  15713. PM message is sent when the window is shown. 
  15714.  
  15715.  
  15716. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15717.  
  15718. Windows 
  15719.  
  15720. WM_SHOWWINDOW in WIN3
  15721.  
  15722. Presentation Manager 
  15723.  
  15724. WM_SHOW
  15725. This Windows message is sent whenever a window is to be hidden or shown; 
  15726. DefWindowProc hides or shows the window as specified. The PM message is 
  15727. equivalent. 
  15728.  
  15729.  
  15730. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15731.  
  15732. Windows 
  15733.  
  15734. WM_SYSCHAR in WIN3
  15735.  
  15736. Presentation Manager 
  15737.  
  15738. WM_CHAR
  15739. This Windows message is the result of translating a WM_SYSKEYUP or 
  15740. WM_SYSKEYDOWN message. In PM, the WM_CHAR message reports when a system key has 
  15741. been depressed. 
  15742.  
  15743.  
  15744. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15745.  
  15746. Windows 
  15747.  
  15748. WM_SYSDEADCHAR in WIN3
  15749.  
  15750. Presentation Manager 
  15751.  
  15752. WM_CHAR
  15753. This Windows message is the result of a translated WM_SYSKEYUP or WM_SYSKEYDOWN 
  15754. message; it specifies the character value of a dead key. In PM, the WM_CHAR 
  15755. message reports when a system dead key has been pressed. 
  15756.  
  15757.  
  15758. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15759.  
  15760. Windows 
  15761.  
  15762. WM_SYSKEYUP in WIN3
  15763.  
  15764. Presentation Manager 
  15765.  
  15766. WM_CHAR
  15767. This Windows message occurs whenever the user releases a key that was pressed 
  15768. while the ALT key was held down. In PM, the WM_CHAR message reports when a 
  15769. system key has been pressed. 
  15770.  
  15771.  
  15772. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15773.  
  15774. Windows 
  15775.  
  15776. WM_TIMECHANGE in WIN3
  15777.  
  15778. Presentation Manager 
  15779.  
  15780. No equivalent 
  15781.  
  15782. This Windows message occurs when an application makes a change to the system 
  15783. time. This message is not available in PM. 
  15784.  
  15785.  
  15786. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15787.  
  15788. Windows 
  15789.  
  15790. WM_WININICHANGE in WIN3
  15791.  
  15792. Presentation Manager 
  15793.  
  15794. No equivalent 
  15795.  
  15796. This message occurs when the Windows initialization file (WIN.INI) changes. 
  15797. This message is not available in PM. 
  15798.  
  15799.  
  15800. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15801.  
  15802. /* Font structure for Vio/GpiCreateLogFont */
  15803. typedef struct _FATTRS {    /* fat */
  15804.     USHORT  usRecordLength;
  15805.     USHORT  fsSelection;
  15806.     LONG    lMatch;
  15807.     CHAR    szFacename[FACESIZE];
  15808.     USHORT  idRegistry;
  15809.     USHORT  usCodePage;
  15810.     LONG    lMaxBaselineExt;
  15811.     LONG    lAveCharWidth;
  15812.     USHORT  fsType;
  15813.     USHORT  fsFontUse;
  15814. } FATTRS;
  15815. typedef FATTRS far *PFATTRS;
  15816.  
  15817.  
  15818. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15819.  
  15820. /* Font metrics returned by GpiQueryFonts and others */
  15821. typedef struct _FONTMETRICS { /* fm */
  15822.     CHAR    szFamilyname[FACESIZE];
  15823.     CHAR    szFacename[FACESIZE];
  15824.     USHORT  idRegistry;
  15825.     USHORT  usCodePage;
  15826.     LONG    lEmHeight;
  15827.     LONG    lXHeight;
  15828.     LONG    lMaxAscender;
  15829.     LONG    lMaxDescender;
  15830.     LONG    lLowerCaseAscent;
  15831.     LONG    lLowerCaseDescent;
  15832.     LONG    lInternalLeading;
  15833.     LONG    lExternalLeading;
  15834.     LONG    lAveCharWidth;
  15835.     LONG    lMaxCharInc;
  15836.     LONG    lEmInc;
  15837.     LONG    lMaxBaselineExt;
  15838.     SHORT   sCharSlope;
  15839.     SHORT   sInlineDir;
  15840.     SHORT   sCharRot;
  15841.     USHORT  usWeightClass;
  15842.     USHORT  usWidthClass;
  15843.     SHORT   sXDeviceRes;
  15844.     SHORT   sYDeviceRes;
  15845.     SHORT   sFirstChar;
  15846.     SHORT   sLastChar;
  15847.     SHORT   sDefaultChar;
  15848.     SHORT   sBreakChar;
  15849.     SHORT   sNominalPointSize;
  15850.     SHORT   sMinimumPointSize;
  15851.     SHORT   sMaximumPointSize;
  15852.     USHORT  fsType;
  15853.     USHORT  fsDefn;
  15854.     USHORT  fsSelection;
  15855.     USHORT  fsCapabilities;
  15856.     LONG    lSubscriptXSize;
  15857.     LONG    lSubscriptYSize;
  15858.     LONG    lSubscriptXOffset;
  15859.     LONG    lSubscriptYOffset;
  15860.     LONG    lSuperscriptXSize;
  15861.     LONG    lSuperscriptYSize;
  15862.     LONG    lSuperscriptXOffset;
  15863.     LONG    lSuperscriptYOffset;
  15864.     LONG    lUnderscoreSize;
  15865.     LONG    lUnderscorePosition;
  15866.     LONG    lStrikeoutSize;
  15867.     LONG    lStrikeoutPosition;
  15868.     SHORT   sKerningPairs;
  15869.     SHORT   sFamilyClass;
  15870.     LONG    lMatch;
  15871. } FONTMETRICS;
  15872. typedef FONTMETRICS far *PFONTMETRICS;
  15873.  
  15874.  
  15875. ΓòÉΓòÉΓòÉ <hidden>  ΓòÉΓòÉΓòÉ
  15876.  
  15877. typedef struct _RECTL {     /* rcl */
  15878.     LONG    xLeft;
  15879.     LONG    yBottom;
  15880.     LONG    xRight;
  15881.     LONG    yTop;
  15882. } RECTL;
  15883. typedef RECTL FAR  *PRECTL;
  15884. typedef RECTL near *NPRECTL;
  15885.