Dec 312017
 
Various bugs in OS/2 that only pertain to OS/2 software developers. Most have been fixed with 1.2, but this is a good reference anyhow.
File BUG110.ZIP from The Programmer’s Corner in
Category OS/2 Files
Various bugs in OS/2 that only pertain to OS/2 software developers. Most have been fixed with 1.2, but this is a good reference anyhow.
File Name File Size Zip Size Zip Type
BUG110.DOC 114956 30202 deflated
BUG110.TXT 8064 2017 deflated

Download File BUG110.ZIP Here

Contents of the BUG110.DOC file


Q33214 Application Requests to KBDXLAT Are Not Performed Correctly
OS/2 Software Development Kit
1.00 1.10
OS/2

Question:
I am writing an application that takes input from a terminal in the
form of make and break codes as per the IBM AT technical reference
manual. I would like to use KBDXLAT to convert these to ASCII
characters. Are these make/break codes the same as the scan codes
KBDXLAT expects to receive? Is the application responsible for keeping
track of the make/break on the SHIFT key and setting the SHIFT key
status, or will KBDXLAT handle the SHIFT key status itself? This
question also applies to the ALT, CTRL, etc. keys.

Response:
The make/break codes in the IBM technical reference manual are
indeed what KBDXLAT expects for input. KBDXLAT will also keep track of
SHIFT-state keys for you. However, in researching this question, we
have discovered a problem in KBDXLAT that is present in both Version
1.00 and Version 1.10 of the Microsoft OS/2SDK. Application requests
to KBDXLAT are not being performed independent of the hardware state
as they should be; in particular, the XHotKeyShift field in the KBD
driver can affect the outcome of application translations, returning
inconsistent results to the KBDXLAT caller. This is why KBDXLAT did
not appear to be working properly for you.
Microsoft has confirmed this to be a problem in Versions 1.00 and
1.10. We are researching this problem and will post new information
as it becomes available.

Keywords: buglist1.00 buglist1.10
Updated 88/08/24 05:22
Q42167 OS/2 SDK: Large RAM Disks Used with VDISK.SYS Hang OS/2
Microsoft OS/2 Software Development Kit
1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.10
OS/2

Summary:

Microsoft has confirmed that there is a problem with the version of
VDISK.SYS included with Versions 1.00, 1.01, 1.02, 1.03, 1.04, 1.05,
1.06, and 1.10 of the OS/2 Software Development Kit (SDK). If a very
large size for VDISK.SYS is specified, the system will not behave
properly. With smaller sizes, the system will not have enough extended
memory to operate without swapping to disk, so response time will
increase and system performance will decrease. However, with extremely
large virtual RAM disks (such as a 3-megabyte RAM disk on a system
with 4 megabytes of extended memory), the system will hang
unpredictably.

We are researching this problem and will post new information as it
becomes available. The workaround is to not use a very large virtual
RAM disk with VDISK.SYS, so that the system will have enough extended
memory to work properly and efficiently.

Keywords: buglist1.03 buglist1.04 buglist1.05 buglist1.06 buglist1.10

Keywords: SR# G890220-12301 buglist1.00 buglist1.01 buglist1.02
Updated 89/03/08 13:53
Q42126 PM: GpiSetAttrs() LINEJOIN_DEFAULT Attribute Problem
Microsoft Presentation Manager
1.06 1.10
OS/2

Problem:

I am attempting to set the line join attribute to the value
LINEJOIN_DEFAULT with the GpiSetAttrs() function. The kernel logs the
error INV_LINE_JOIN_ATTR, whether the PS (Presentation Space) is
associated with a screen or a printer. The return value from
GpiSetAttrs() is 0.

Response:

Microsoft has confirmed this to be a problem with the GpiSetAttrs()
function in the OS/2 SDK (Software Development Kit) Versions 1.06 and
1.10. We are researching this problem and will post new information as
it becomes available.

You can work around the problem by using the GpiSetLineJoin() function
instead. The following sample code demonstrates both the problem and
workaround:

case WM_PAINT:
hPS = WinBeginPaint (hWnd, NULL, (PWRECT)NULL);

{
#define COUNT 5
int Count, Alt;
static LONG Join[COUNT] = { LINEJOIN_DEFAULT,
LINEJOIN_BEVEL,
LINEJOIN_ROUND,
LINEJOIN_MITRE,
LINEJOIN_DEFAULT };

static LONG End[COUNT] = { LINEEND_DEFAULT,
LINEEND_FLAT,
LINEEND_SQUARE,
LINEEND_ROUND,
LINEEND_DEFAULT };

LINEBUNDLE lineb;
POINTL points[4];
POINTL ptl;

ptl.x = 50; ptl.y = 50;
points[0].x = 50; points[0].y = 50;
points[1].x = 100; points[1].y = 50;
points[2].x = 100; points[2].y = 100;
points[3].x = 50; points[3].y = 100;


lineb.lGeomWidth = 20L;
GpiSetAttrs(hPS,PRIM_LINE,LBB_GEOM_WIDTH,0L,(PBUNDLE)&lineb);

for (Alt = 0; Alt < 2; Alt++) {
for (Count = 0; Count < COUNT; Count++) {

if (Alt) {
/* This version works. */

GpiSetLineEnd( hPS, End[Count] );

GpiSetLineJoin( hPS, Join[Count] );
}
else {
/* There are two problem with this code:

1. We get a type conversion warning because LINEBUNDLE
defines:

USHORT usType;
USHORT usEnd;
USHORT usJoin;

instead of long as for the constants and other routines.

2. We get the following:

GRE00147E PMERR_INV_LINE_END_ATTR
GRE00148E PMERR_INV_LINE_JOIN_ATTR

whenever we set LINEEND_DEFAULT or LINEJOIN_DEFAULT
via GpiSetAttrs(). It leaves the attribute unchanged.
*/

lineb.usEnd = End[Count];
GpiSetAttrs(hPS,PRIM_LINE,LBB_END,0L,(PBUNDLE)&lineb);

lineb.usJoin = Join[Count];
GpiSetAttrs(hPS,PRIM_LINE,LBB_JOIN,0L,(PBUNDLE)&lineb);
}

GpiBeginPath(hPS,1l);

GpiMove( hPS, &ptl );
GpiPolyLine(hPS, 4L, points);

GpiEndPath(hPS);
GpiStrokePath(hPS,1L,0L);

ptl.x += 100;
points[0].x += 100;
points[1].x += 100;
points[2].x += 100;
points[3].x += 100;
}

ptl.x = 50;
points[0].x = 50;
points[1].x = 100;
points[2].x = 100;
points[3].x = 50;

ptl.y += 100;
points[0].y += 100;
points[1].y += 100;
points[2].y += 100;
points[3].y += 100;
}
}

WinEndPaint (hPS);
break;

Keywords: SR# G890214-11975 buglist1.06 buglist1.10
Updated 89/03/08 13:53
Q43359 QuickHelp SYS1943: Asterisk (*) Causes GP Violation
Microsoft OS/2 Software Development Kit (OS2SDK)
1.06 1.10
OS/2

Summary:

QuickHelp causes a general protection violation when the asterisk
character (*) is used within the search topic field. One or more
additional characters in the search string are usually required to
cause this violation.

Microsoft has confirmed this to be a problem with the QuickHelp
included in the OS/2 SDK Versions 1.06 and 1.10. We are researching
this problem and will post new information as it becomes available.

More Information:

The following sequence of events produces a protection violation with
QuickHelp:

1. Open an OS/2 full-screen command prompt screen group.

2. At the command prompt, type the command "QH".

3. When the "Microsoft QuickHelp" screen is displayed, type "s"
(search).

4. When "Enter topic to search for:" is displayed, type "*tr".

An error window will be displayed with the session title and the
following contents:

SYS1943: A program caused a protection violation.

TRAP 000D
AX=0000 BX=0000 CX=0000 DX=04E7 BP=A520
SI=E4E8 DI=1248 DS=0C5F ES=04E7 FLG=2A96
CS=02FF IP=0c35 ss=0087 SP=A518 MSW=FFFD
CSLIM=19D0 SSLIM=AB8F DSLIM=009F ESLIM=1A41
CSACC=F8 SSACC=F3 DSACC=F3 ESACC=F3
ERRCD=0000 ERLIM=**** ERACC=**

You can then end the program and the session is returned to normal.

Keywords: buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/04/18 07:05
Q42733 WinCompareString() Fails without COUNTRY Line in CONFIG.SYS
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

If you do not specify a COUNTRY line in your CONFIG.SYS file, the
function WinCompareStrings() will return an error when called with
correct string data.

More Information:

The "Microsoft Operating System/2 User's Guide" states that if you do
not place a COUNTRY line in your CONFIG.SYS file, the system will
assume United States country information.

Microsoft is researching this problem and will post new information as
it becomes available. If you do not have a COUNTRY line in CONFIG.SYS,
calls to WinCompareStrings() will return WCS_ERROR rather than
informing you of the alphabetical order of the two strings.

This error is easily observed in the case of list boxes that have
items inserted into them using the LIT_SORTASCENDING or
LIT_SORTDESCENDING flag; the list boxes will NOT be sorted if there
is not a COUNTRY line in CONFIG.SYS.

The following is a sample COUNTRY line for a United States system:

COUNTRY=001,C:\OS2\SYSTEM\COUNTRY.SYS


Keywords: listbox buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/04/26 05:15
Q43683 PM: DevOpenDC() GP Fault Problem
Microsoft Presentation Manager (PRESMAN)
1.06 1.10
OS/2

Summary:

DevOpenDC() references more entries out of the DEVOPENDATA structure
than are given in the count. This can lead to GP faults, depending on
the data in the structure.

Microsoft has confirmed this to be a problem in Presentation Manager
(PM) Versions 1.06 and 1.10. We are researching this problem and will
post new information as it becomes available.

The workaround is to always use a count of six or greater, and fill
the unused fields with NULL.

Keywords: SR# G890417-16462 buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/04/26 05:15
Q44253 Underscore & Strikeout Don't Appear if CHS_CLIP Is Specified
Microsoft Presentation Manager (PRESMAN)
1.06 1.10
OS/2

Problem:

The underscore and strikeout font styles do not appear when using
GpiCharStringPos() or GpiCharStringPosAt() when CHS_CLIP is
specified. The font style gets "clipped."

Response:

Microsoft has confirmed this to be a problem in PM (Presentation
Manager) Versions 1.06 and 1.10. We are researching this problem and
will post new information as it becomes available.

This anomaly occurs because of a problem in the graphics engine while
calculating the clip path for the line it draws. Currently, there is
no known workaround; however, you might try drawing the text to an
off-screen bitmap without the clipping path, then blting this bitmap
onto the screen through a clipping path.

Keywords: SR# G890427-17281 buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/05/11 04:54
Q44600 OS/2 SDK: GINFOSEG cusecTimerInterval Documented Incorrectly
Microsoft OS/2 Software Development Kit (OS2SDK)
1.00 1.01 1.02 1.03 1.04 1.05 1.06 1.10
OS/2

Summary:

Microsoft has confirmed that the cusecTimerInterval parameter of the
GINFOSEG structure is not documented correctly in the versions of
QuickHelp included with the Version 1.06 and Version 1.10 OS/2 SDKs
(Software Development Kits), and on Page 343 of the "Microsoft
Operating System/2 Programmer's Reference Volume 3 for Version 1.1"
manual. The correct documentation should state the following:

cusecTimerInterval Specifies the timer interval (in tenths of
milliseconds, units = 0.0001 seconds)

We will post new information when this error has been corrected in
the documentation.

Keywords: docerr buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/05/23 04:37
Q44604 OS/2 SDK: Intermittent KBD01.SYS CTRL Key Timing Problem
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

Microsoft has confirmed that there is a problem with the KBD01.SYS
file included with the Version 1.10 OS/2 SDK (Software Development
Kit). There is a rare, intermittent timing problem with KBD01.SYS
losing the toggle status of the CTRL key. The symptom occurs when
you press the CTRL key simultaneously with another key. When this
problem occurs, KBD01.SYS assumes that the CTRL key is being pressed,
even though it isn't being pressed. Thus, whatever key you press, a
CTRL character is added before it. For example, if you press "A", "
^A" is displayed on the screen. If you press and release just the
CTRL key, the problem goes away.

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890509-18075 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/05/23 04:37
Q44606 Window Not Positioned Correctly By WinSetWindowPos(), SWP_MOVE
Microsoft Presentation Manager (PRESMAN)
1.06 1.10
OS/2

Problem:

Microsoft has confirmed that the following problem occurs in
Presentation Manager (PM) Version 1.06 and Version 1.10 with the
WinSetWindowPos() function when moving a window with a size of (0,0)
that does not have a SIZEBORDER. The following steps reproduce this
problem:

1. Use WinCreateStdWindow() to create a window with a size of (0, 0)
at position (0, 0). The window will initially have a size and
position of zero if you do not specify the FCF_SHELLPOSITION flag.

2. Use WinSetWindowPos() to set the position to (x, y) and specify
the SWP_MOVE flag (cx=cy=0).

3. A status of "Success" will be returned, even though the window's
position will be moved to (-1,0) rather than to the position
specified in the WinSetWindowPos() call.

To work around this problem, do one of the following:

1. Size the window to something other than (0,0) before moving it.

2. Do the move and sizing operations in one call to WinSetWindowPos(),
rather than making multiple calls to WinSetWindowPos() and then
sizing the window.

This problem only occurs if the window has a border style of
FCF_BORDER. Windows with an FCF_SIZEBORDER can be moved, sized, and
shown in three steps with no problem.

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890508-17937 buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/05/23 04:37
Q21323 BASCOM 5.36 ERROR Handling RESUMEs in ELSE of IF..THEN..ELSE
Microsoft BASIC Compiler (BASICCOM)
5.35 5.36
MS-DOS

Summary:

If an error occurs in an IF statement, then a RESUME NEXT in the
error-trapping routine correctly passes control to the next line of
the main program. However, if the error occurs in an IF...THEN...ELSE
statement, the RESUME NEXT passes control to the ELSE block.

Microsoft has confirmed this to be a problem in BASIC Compiler
Versions 5.35 and 5.36 for MS-DOS, and the Business Basic Compiler
Versions 1.00 and 1.10 (buglist1.00, buglist1.10) for MS-DOS.

More Information:

To work around this behavior, you may use the following
IF...THEN...ELSE structure shown in line 10:

5 ON ERROR GOTO 100
6 x=-1 ' x is true
10 IF x THEN ERROR 3: GOTO 20: ELSE PRINT "Not executed"
20 PRINT "Line 20."
30 END
100 PRINT "ERROR number=", ERR
110 RESUME NEXT

In this structure, when ERROR N is executed and trapped, the RESUME
NEXT returns you to the GOTO 20 statement, which is executed (this
avoids execution of the ELSE clause).

This problem is corrected by Microsoft BASIC Compiler Version 6.00
(and later) for MS-DOS and OS/2, and by the QuickBASIC Compiler
Versions 1.00 and later for the IBM PC.

The problem does not occur in Microsoft BASIC interpreter Version 5.28
for MS-DOS.

The following code example demonstrates the problem:

5 ON ERROR GOTO 100
6 x=-1 ' x is true
10 IF x THEN ERROR 3 ELSE PRINT "Not supposed to be printed, but is"
20 PRINT "Line 20."
30 END
100 PRINT "ERROR number=", ERR
110 RESUME NEXT

Keywords: B_BBasic buglist5.35 buglist5.36 fixlist6.00

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/03/16 21:12
Q45138 Presentation Manager: FCF_MOUSEALIGN Flag Doesn't Work
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

The FCF_MOUSEALIGN frame control flag does not work when used in a
dialog template. To make the dialog box position itself relative to
the mouse (if possible), you need to use the frame style field and
specify FS_MOUSEALIGN. Please refer to the following dialog template:

DLGTEMPLATE IDD_INPUT LOADONCALL MOVEABLE DISCARDABLE
BEGIN
DIALOG "Dialog Box", -1,-56, -11, 185, 76, FS_DLGBORDER |
WS_VISIBLE | FS_MOUSEALIGN, FCF_TITLEBAR
BEGIN
CONTROL "Edit control", IDEDIT, 6, 36, 173, 14, WC_ENTRYFIELD,
ES_LEFT | ES_MARGIN | WS_GROUP | WS_TABSTOP | WS_VISIBLE
CONTROL "OK", DID_OK, 56, 11, 24, 16, WC_BUTTON, BS_PUSHBUTTON |
BS_DEFAULT | WS_GROUP | WS_TABSTOP | WS_VISIBLE
CONTROL "Cancel", DID_CANCEL, 101, 11, 30, 16, WC_BUTTON,
BS_PUSHBUTTON | WS_GROUP | WS_TABSTOP | WS_VISIBLE
END
END

Microsoft has confirmed this to be a problem in Presentation Manager
(PM) Version 1.10. We are researching this problem and will post new
information as it becomes available.

Keywords: SR# G890530-19327 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/06 06:32
Q44705 GpiCreateLogFont() pchName Parameter Problem in PM 1.10
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

If you call GpiCreateLogFont() more than once with a metafile and the
second parameter, pchName, is set to NULL, a GP-fault will occur.

To work around this problem, always pass a value for the pchName
parameter by passing a dummy string of eight characters or less.

Microsoft has confirmed this to be a problem with the
GpiCreateLogFont() function in Presentation Manager (PM) Version 1.10.
We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890510-18133 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/09 14:09
Q45567 VioCreatePS() Can Create Presentation Space Up to 64K
Microsoft OS/2 Software Development Kit (OS2SDK)
1.00 1.01 1.02 1.03 1.05 1.06 1.10
OS/2

Question:

What is the largest buffer I can allocate with VioCreatePS()? Page 203
of the "Microsoft Operating System/2 Programmer's Reference Volume 3"
Version 1.10 manual says that the largest buffer I can allocate is
32K; however, on Page 309 of Charles Petzold's "Programming the OS/2
Presentation Manager" Page 309 it says that the largest buffer I can
allocate is 64K.

Response:

Microsoft has confirmed that the "Microsoft Operating System/2
Programmer's Reference Volume 3" Version 1.10 manual is in error. The
largest size that you can allocate is 64K. As in Petzold's book, IBM's
OS/2 1.10 documentation discusses this properly. Section 11-4 of the
"OS/2 Version 1.10 Technical Reference: Programmer's Reference Volume
2" states that the presentation space size that can be calculated with
the following must not exceed 64K.

(width * depth * (attributes + 1))

The VioCreatePS() documentation in Versions 1.06 and 1.10 of QuickHelp
is also in error.

We will post new information when the documentation is updated to
correct this error.

Keywords: SR# G890529-19281 docerr buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/10 05:46
Q45571 PM: Logo Display Timed Edit Box Shouldn't Allow Large Value
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Problem:

When I choose "Logo Display" in the Control Panel and select "Timed",
I can input a value of 80,000. After closing "Logo Display" and
reopening it again, this time I can only input a value no larger than
14,464. When I input a "Maximum" time of 32,767, this problem does not
occur.

Response:

The "Timed" edit box should not accept values larger than 32,767.
Because it does accept certain values over 32,767 it is in error.

Microsoft has confirmed this to be a problem in the Version 1.10
Presentation Manager (PM). We are researching this problem and will
post new information as it becomes available.

Keywords: SR# G890602-19592 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/10 05:46
Q45527 Epson Printer Driver Cannot be Used from PM File System
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Question:

I have installed the Epson printer driver. When I try to print a
highlighted file from the File System, I get the following message:

PMV1051: Cannot print. Make sure that the default printer is
installed and connected correctly. Then retry.

Why does this message appear?

Response:

Microsoft has confirmed this to be a problem with the Epson printer
driver included with Presentation Manager (PM) Version 1.10. The Epson
printer driver is a Beta release and is still under development.
Unfortunately, it cannot be used with the PM File System. We are
researching this problem and will post new information as it becomes
available.

Keywords: SR# G890601-19481 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/09 14:09
Q45595 MouEventReadQue Doesn't Work Correctly in Windowed-Screen Mode
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Problem:

I am having a problem using MouEventReadQue(). If you run the sample
code listed below in full-screen mode, the output is as follows:

MouInfo.fs -> 4 After pressing the left button
MouInfo.fs -> 0 After releasing the left button
MouInfo.fs -> 16 After pressing the right button
MouInfo.fs -> 0 After releasing the right button

Then, if you run the sample code listed below in windowed-screen mode,
the output is as follows:

MouInfo.fs -> 4 After pressing the left button
MouInfo.fs -> 0 After releasing...
MouInfo.fs -> 1 ... the left button
MouInfo.fs -> 16 After pressing the right button
MouInfo.fs -> 0 After releasing...
MouInfo.fs -> 1 ... the right button

Why is an extra mouse event (MouInfo.fs = 1) occurring when either
button is released, even though the mouse has not moved at all? The
following code can be used to reproduce this problem:

******************** TEST.C ********************

/* Compiled as: cl -AL -Lp x.c */

#define INCL_DOSERRORS
#define INCL_SUB

#include

main ()
{
HMOU MouseHandle; /* mouse handle */
MOUEVENTINFO MouInfo; /* mouse event packet structure */
unsigned MouReadType = 1; /* 0=do not wait, 1=wait for
mouse event */
unsigned moustatus;

/* open the mouse */
MouOpen (0L, &MouseHandle );

MouGetDevStatus (&moustatus, MouseHandle);
moustatus = 0x100;
MouSetDevStatus (&moustatus, MouseHandle);

do {
MouReadEventQue ((PMOUEVENTINFO) &MouInfo,
(unsigned far *)&MouReadType,
MouseHandle);

printf ("MouInfo.fs --> %d\n", MouInfo.fs);
} while (1);
} /* end main */
******************** END TEST.C ********************

Response:

Microsoft has confirmed this to be a problem with the Version 1.10
OS/2 SDK (Software Development Kit). We are researching this problem
and will post new information as it becomes available.

As a temporary workaround, which shouldn't degrade performance very
much, you could make an extra call to determine the mouse position.
Or, you could check the type of screen group you are in. Then, if you
are in a windowed screen group, you could ignore the third parameter
after a 4 0, 16 0, or 20 0 sequence of mouse events.

Keywords: SR# G890601-19493 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/13 05:14
Q41351 PM Version 1.06 File System Eight-Character Filename Problem
Microsoft Presentation Manager (PRESMAN)
1.06
OS/2

Summary:

Microsoft has confirmed that there is a problem with the File System
in Presentation Manager (PM) Versions 1.06 and 1.10. If the base
filename is eight characters long and a path is specified, an error
associating an extension with the path is returned.

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890208-11499 buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/15 05:25
Q45720 OS/2 SDK 1.10 QuickHelp Missing KBDKEYINFO Documentation
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

Microsoft has confirmed that the documentation in the OS/2 Version
1.10 Software Development Kit (SDK) QuickHelp database for the OS/2
API does not include information on the KBDKEYINFO data structure (the
struct called _KBDKEYINFO, a.k.a. the typedef called KBDKEYINFO) used
by the KbdCharIn() API. This problem has been corrected in the
QuickHelp database included with the Microsoft OS/2 Version 1.10
Programmer's Toolkit (PTK). Below is the text for this KBDKEYINFO
structure, taken from the Version 1.10 PTK QuickHelp database.

More Information:

#define INCL_KBD

typedef struct _KBDKEYINFO { /* kbci */
UCHAR chChar;
UCHAR chScan;
UCHAR fbStatus;
UCHAR bNlsShift;
USHORT fsState;
ULONG time;
} KBDKEYINFO;

The KBDKEYINFO structure contains information when a key is pressed.

Parameters Description
---------------------------------------------------------------------
chChar Specifies the character derived from translation of the
chScan field.

chScan Specifies the scan code received from the keyboard,
identifying the key pressed. This scan code may be
modified during the translation process.

fbStatus Specifies the state of the retrieved scan code. It can be
any combination of the following values:

Value Meaning
---------------------------------------------------------
SHIFT_KEY_IN SHIFT key is received (valid only in
binary mode when shift reporting is
turned on).

CONVERSION_REQUEST Conversion requested.

FINAL_CHAR_IN Final character received.

INTERIM_CHAR_IN Interim character received.

bNlsShift Specifies a reserved value; must be zero.

fsState Specifies the state of the SHIFT keys. It can be any
combination of the following values:

Value Meaning
---------------------------------------------------------
RIGHTSHIFT Right SHIFT key down.

LEFTSHIFT Left SHIFT key down.

CONTROL Either CTRL key down.

ALT Either ALT key down.

SCROLLLOCK_ON SCROLL LOCK mode turned on.

NUMLOCK_ON NUM LOCK mode turned on.

CAPSLOCK_ON CAPS LOCK mode turned on.

INSERT_ON INSERT key turned on.

LEFTCONTROL Left CTRL key down.

LEFTALT Left ALT key down.

RIGHTCONTROL Right CTRL key down.

RIGHTALT Right ALT key down.

SCROLLLOCK SCROLL LOCK key down.

NUMLOCK NUM LOCK key down.

CAPSLOCK CAPS LOCK key down.

SYSREQ SYS REQ key down.

time Specifies the time stamp of the keystroke (in
milliseconds).

See Also:

KbdCharIn, KbdPeek, KBD_PEEKCHAR

Keywords: SR# G890612-20286 buglist1.10 docerr

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/16 05:04
Q42749 RC Compiler Doesn't Accept Constant Expression for Some Fields
Microsoft Presentation Manager (PRESMAN)
1.06 1.10
OS/2

Summary:

The resource compiler is inconsistent in its ability to accept
constant expressions for IDs. Specifically, "DLGTEMPLATE id" fails to
parse the "id" if it was defined in a manner such as "#define id
module_base + 1" (after a definition such as "#define module_base
100", of course). The error is that the scanner wants to find a BEGIN
or open brace immediately after the "module_base" portion of
substitution for "id".

This construct does work for string IDs and is quite useful, because a
module can have "local" constants instead of an entire application
placing all constants in one header file.

Microsoft has confirmed this to be a problem with Presentation Manager
(PM) Versions 1.06 and 1.10. We are researching this problem and will
post new information as it becomes available.

Keywords: SR# G890315-14058 buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/16 05:04
Q23646 No Mouse Cursor in OS/2's DOS 3.x Box
Microsoft CodeView Debugger (CODEVIEW)
1.00 1.10 1.11 2.00 2.10
MS-DOS

Problem:
The mouse cursor is not displayed when running real-mode CodeView
under the OS/2 "compatibility box."

Response:
The problem exists because the mouse only draws the pointer in
video page zero; CodeView uses video page one.
To work around this problem, invoke CodeView with the /S switch so
screen swapping is used as the method of screen exchange. This forces
CodeView to swap in and out of page zero.

Keywords: buglist1.00 buglist1.10 buglist2.00 buglist2.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/03/18 00:48
Q45881 OS/2 SDK: QuickHelp 1.10 Numeric Keypad ENTER Key Problem
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

Microsoft has confirmed that the following problem occurs with the
version of QuickHelp included with the Version 1.01 OS/2 SDK (Software
Development Kit). The numeric keypad ENTER key on a 101 keyboard
doesn't always work in QuickHelp. For example, after installing
QuickHelp as a TSR (terminate-and-stay-resident) program, do the
following:

1. Press ALT+Q.

2. Press "V".

3. Press "I".

4. Select QuickHelp.

5. Press "R".

6. When the ENTER key on the numeric keypad is pressed, there is no
response. However, when the ENTER key on the main keyboard is
pressed, the appropriate response is returned.

We are researching this problem and will post new information as
it becomes available.

Keywords: SR# G890613-20384 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/24 05:36
Q45961 KBDKEYINFO and KBDINFO Information Incorrect in Windowed Mode
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

The KBDKEYINFO and KBDINFO structures contain different values,
depending on whether you are running in full-screen or windowed mode.
In certain cases, the information contained in these structures can be
incorrect in windowed mode.

Microsoft has confirmed this to be a problem in the Version 1.10 OS/2
SDK (Software Development Kit). We are researching this problem and
will post new information as it becomes available.

More Information:

The program below illustrates this problem. Before using this program,
turn on all the lock keys (SCROLL LOCK, NUM LOCK, and CAPS LOCK). In
full-screen mode, the fsState after the first KbdGetStatus() is set to
"0X70" which is correct, but in windowed mode, it incorrectly returns
0 (zero). The following is a sample program:

/* test program */
#include

#define KbdHandle 0

main ()
{
KBDKEYINFO kp; /* keyboard packet */
KBDINFO ks;
unsigned err;

printf ("Press ESC to quit...\n");

do {
ks.cb = sizeof (ks);
KbdGetStatus (&ks, KbdHandle);
printf ("After KbdGetStatus:\n");
printf ("\t ks.cb (in hex): %X\n", ks.cb);
printf ("\t ks.fsMask (in hex): %X\n", ks.fsMask);
printf ("\t ks.chTurnAround (in hex): %X\n",
ks.chTurnAround);
printf ("\t ks.fsInterim (in hex): %X\n", ks.fsInterim);
printf ("\t ks.fsState (in hex): %X\n", ks.fsState);

err = KbdCharIn (&kp, IO_WAIT, KbdHandle);

printf ("\nAfter KbdCharIn:\n");
printf ("\t kp.chChar (in hex): %X\n", kp.chChar);
printf ("\t kp.chScan (in hex): %X\n", kp.chScan);
printf ("\t kp.fbStatus (in hex): %X\n", kp.fbStatus);
printf ("\t kp.bNlsShift (in hex): %X\n", kp.bNlsShift);
printf ("\t kp.fsState (in hex): %X\n\n", kp.fsState);
} while (kp.chChar != 0x1B);
}
/* end test program */

Keywords: SR# G890614-20458 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/24 05:36
Q45965 Spooler Is Leaving EPSONPTR.DRV Printer Driver File Open
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

If you try to add (or replace) a printer driver and respond with "yes"
to the "There is already a file of this name in this directory. Do you
want to overwrite it?" message box, the following message is
displayed:

PMV2055: Cannot create C:\OS2\DLL\EPSONPTR.DRV
because there are too many files already open.
End one or more programs that are running on
your system and try again.

This message should not be displayed. The problem is that the spooler
has the printer driver file open. If you go into the Control Panel
spooler options, disable the spooler, and reboot, it will mask the
problem.

Microsoft has confirmed this to be a problem in Presentation Manager
(PM) Version 1.10. We are researching this problem and will post new
information as it becomes available.

Keywords: SR# G890612-20312 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/24 05:36
Q45880 BIOSPARAMETERBLOCK Is Incorrectly Defined in BSEDEV.H
Microsoft OS/2 Programmer's Toolkit (OS2PRTK)
1.00
OS/2

Summary:

Microsoft has confirmed that the data format BIOSPARAMETERBLOCK (the
structure _BIOSPARAMETERBLOCK, which is also the typedef
BIOSPARAMETERBLOCK) is incorrectly defined in the include file
BSEDEV.H, included with the Version 1.10 OS/2 SDK (Software
Development Kit) and the Version 1.00 OS/2 PTK (Programmer's Tool
Kit).

To correct this problem, the field "abReserved" (a 6-byte array)
should be inserted in the _BIOSPARAMETERBLOCK structure, between the
fields "cLargeSectors" and "cCylinders".

However, the definition for "abReserved" is properly defined in the
QuickHelp database, as well as in Volume 3 of the "Microsoft Operating
System/2 Programmer's Reference" manual.

More Information:

The following is the INCORRECT definition, taken from BSEDEV.H:

typedef struct _BIOSPARAMETERBLOCK { /* bspblk */
USHORT usBytesPerSector;
BYTE bSectorsPerCluster;
USHORT usReservedSectors;
BYTE cFATs;
USHORT cRootEntries;
USHORT cSectors;
BYTE bMedia;
USHORT usSectorsPerFAT;
USHORT usSectorsPerTrack;
USHORT cHeads;
ULONG cHiddenSectors;
ULONG cLargeSectors;
USHORT cCylinders;
BYTE bDeviceType;
USHORT fsDeviceAttr;
} BIOSPARAMETERBLOCK;
typedef BIOSPARAMETERBLOCK FAR *PBIOSPARAMETERBLOCK;

The following is the CORRECT definition, taken from the QuickHelp
database and from Volume 3 of the "Microsoft Operating System/2
Programmer's Reference" manual:


typedef struct _BIOSPARAMETERBLOCK { /* bspblk */
USHORT usBytesPerSector;
BYTE bSectorsPerCluster;
USHORT usReservedSectors;
BYTE cFATs;
USHORT cRootEntries;
USHORT cSectors;
BYTE bMedia;
USHORT usSectorsPerFAT;
USHORT usSectorsPerTrack;
USHORT cHeads;
ULONG cHiddenSectors;
ULONG cLargeSectors;
BYTE abReserved[6];
USHORT cCylinders;
BYTE bDeviceType;
USHORT fsDeviceAttr;
} BIOSPARAMETERBLOCK;

The textual description of this field is as follows:

abReserved[6] Specifies six reserved bytes. These must be zero.

An updated version of BSEDEV.H that includes the "abReserved" field
can be found in the Software Library in the file BSEDEV11. This file
can be found in the Software Library by searching for the keyword
BSEDEV11, the Q number of this article, or S12337. BSEDEV11 was
archived using the PKware file-compression utility.

Keywords: BSEDEV11.ARC S12337.EXE

Keywords: SR# G890614-20548 buglist1.00 O_OS2SDK buglist1.10 softlib

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/28 05:00
Q46083 MDI Sample Code Problems
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Question:

I have found the following problems when using the MDI example
included with the Version 1.10 PM SDK:

1. The keystroke sequence of SHIFT+CTRL+F6 does not work.

2. I've been looking through ARRANGE.C in the MDI sample directory
and was trying to figure out how it arranges minimized document
windows (icons). It seems to set the x and y fields in the SWP to
0, and lets "someone else" position them. Is this correct? If so,
who decides where they go and what algorithm is used? When I have
a number of minimized document windows and shrink the main window,
the position of the icons does not seem to follow a set pattern.

Response:

1. Microsoft has confirmed that the MDI application currently does not
properly handle the F6 derivatives in PM Version 1.10. We are
researching this problem and will post new information as it
becomes available.

2. As for the ArrageIconPositions code, it sets the x and y positions
to 0 (zero), then when the windows are arranged, the attempt is
made to put all the icons on top of one another. Currently, this is
not allowed, so the same algorithm is used to reposition the icons
that you see in action if you manually try to position one icon on
top of another. This is currently handled by the system.

Keywords: SR# G890615-20663 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/28 05:00
Q45267 OS/2 1.10 Dualboot Doesn't Work with Compaq's FDISK
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Problem:

I am trying to install the Version 1.10 OS/2 SDK (Software Development
Kit). I am using a version of FDISK developed by Compaq. After a
successful installation of Microsoft OS/2, I tried to install the
dualboot capability. The actual installation of the dualboot
capability appeared to be successful. However, when I rebooted my
computer, I received the following error message:

Can't find file DBMON.COM

Response:

Microsoft has confirmed this to be a problem in OS/2 SDK Version 1.10.
This problem was corrected in Version 1.10.

DUALBOOT expects some return codes to be specific values and the
direction flag to be reset. If these conditions are not met, the error
above is reported.

There is a file in the Software Library named DUALBOOT that contains a
new version of DUALBOOT.EXE that corrects this problem. DUALBOOT can
be found in the Software/Data Library by searching on the keyword
DUALBOOT, the Q number of this article, or S12335. DUALBOOT was
archived using the PKware file-compression utility.

Keywords: DUALBOOT.ARC S12335.EXE

Keywords: SR# G890522-18798 softlib buglist1.10 fixlist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/28 05:00
Q46255 OS/2 SDK 1.10 PM Line Drawing Character Problem
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

The ASCII line drawing characters defined to be 179 and 212 do not
line up correctly in a Presentation Manager (PM) windowed command
processor. The 212 character's vertical line is offset 1 pixel too far
to the left.

Microsoft has confirmed this to be a problem in Version 1.10 of the
OS/2 SDK (Software Development Kit). We are researching this problem
and will post new information as it becomes available.

Keywords: SR# G890623-21256 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/01 07:03
Q46251 Difference of Output When Using OS/2 Version 1.10 MKMSGF.EXE
Microsoft OS/2 Programmer's Toolkit (OS2PRTK)
1.10
OS/2

Summary:

Assume the following message source files FOO.TXT and BAR.TXT:

FOO
FOO0100E: text for msg 0100.
FOO0101E: text for msg 0101.

BAR
BAR0000E: text for msg 0000.
BAR0001E: text for msg 0001.

Please note that the FOO source file has messages starting at 0100,
while the BAR source file has messages starting at 0000. The message
files can be created with the OS/2 MKMSGF.EXE utility to generate .MSG
files from these input .TXT files using the following commands:

MKMSGF FOO.TXT FOO.MSG
MKMSGF BAR.TXT BAR.MSG

This will result in the message files FOO.MSG and BAR.MSG. There is a
difference in the output of these messages using different versions of
the OS/2 MKMSGF.EXE utility.

Using the OS/2 1.00 Programmer's Toolkit MKMSGF.EXE utility to build
the message files, and using the OS/2 HELP utility to display the
following message text will result in the output of the proper message
text:

HELPMSG FOO0100
HELPMSG FOO0101

HELPMSG BAR0000
HELPMSG BAR0001


However, when using the OS/2 1.10 Programmer's Toolkit MKMSGF.EXE to
build the message files, the output using the above HELPMSG commands
will result in proper output for the FOO messages, but the BAR
messages will not work properly. More specifically, the BAR messages
will not be found when they are numbered starting at 0000. In
addition, an incorrect side effect is that when asking for message
FOO0000 (not a valid FOO message number), the message FOO0100 is
displayed. Therefore, until this problem is corrected, you should not
start numbering messages at 0000. You should instead start numbering
messages at 0001 or 0100.

Microsoft has confirmed this to be a problem with the MKMSGF.EXE
utility included with the Microsoft OS/2 PTK (Programmer's Tool Kit)
Version 1.10. We are researching this problem and will post new
information as it becomes available. A current work around is to use
the MKMSGF.EXE utility included with the Microsoft OS/2 Version 1.00
Programmer's Tool Kit. The OS/2 Version 1.10 version of the MKMSGF.EXE
utility displays a version of "1.5", while the OS/2 Version 1.00
version of MKMSGF.EXE does not display a version number.

Keywords: SR# G890609-20226 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/01 07:03
Q46417 Sixth Parameter Is Not Documented for DevPostDeviceModes()
Microsoft Presentation Manager (PRESMAN)
1.06 1.10
OS/2

Summary:

The sixth parameter of the function DevPostDeviceModes() is not
documented on Page 21 of the "Microsoft Operating System/2
Programmer's Reference" Version 1.10 or in Versions 1.06 and 1.10 of
QuickHelp.

The sixth parameter controls the use of OS2.INI and the DRIVDATA
block. Please see the overview on printing in QuickHelp for more
information on this topic. Specifically, refer to the information
right before the section titled "Using a Thread to Print."

Keywords: SR# G890627-21439 docerr buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/08 06:41
Q45821 OS/2 SDK: QuickHelp POLYLINE Sample Code Is Incorrect
Microsoft OS/2 Software Development Kit (OS2SDK)
1.06 1.10
OS/2

Summary:

Microsoft has confirmed that the following problems exist in the
versions of QuickHelp included with the Version 1.06 and Version 1.10
OS/2 SDK (Software Development Kit); we are researching these
problems and will post new information as it becomes available. The
POLYLINE.C sample code is incorrect and needs the following changes
made to it:

1. The definitions for CLR_PALE* should be replaced with CLR_DARK*
(error).

2. DosCreateThread() should be prototyped properly because it is
producing a warning message.

3. The Thread() function should be prototyped properly because it
is producing a warning message.

4. STRING.H should be #included in POLYLINE.C, because a warning
message is being displayed.

Another problem related to the POLYLINE example in QuickHelp is that
if you select any of the source files (POLYLINE.C, POLYLINE.H,
POLYLINE.RC, or POLYLINE.DEF) other than the makefile (POLYLINE.MAK)
and then use the Reference menu selection to try to select the
makefile, QuickHelp will incorrectly attempt to select "POLYLINE" with
no .MAK extension. This results in an error of "polyline topic not
found."

The POLYLINE sample source code is still contained in the versions of
QuickHelp included with Versions 1.06 and 1.10 of the OS/2 SDK, but
this source code has been removed from the version of QuickHelp
included with the OS/2 Version 1.10 PTK (Programmer's Tool Kit).

Keywords: SR# G890608-20092 buglist1.06 buglist1.10 docerr

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/06/24 05:36
Q46776 Submenu Display Problem in PM Version 1.10
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

If you have a submenu that goes partially off the screen, it adjusts
itself where it abuts the screen border. However, if that submenu has
a submenu, it is not displayed and the program gets a message that the
first menu item of the menu that is off the screen has been selected.

Microsoft has confirmed this to be a problem in Version 1.10 of the
Presentation Manager (PM). We are researching this problem and will
post new information as it becomes available.

Keywords: SR# G890620-20951 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/12 04:28
Q46778 IBM4201 Hardcopy Form Information Incorrectly Returned
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

When DevQueryHardcopyCaps() is used with the IBM4201 driver, the
following form information is returned:

szFormname = "STANDARD"
cx = 8
cy = 11
xLeftClip = 0
yBottomClip = 0
xRightClip = 8
yTopClip = 11
xPels = 960
yPels = 792
flAttributes = 1

cx, cy, xLeftClip, yBottomClip, xRightClip and yTopClip are
incorrectly expressed in inches rather than millimeters. Depending on
which paper type is the current form, you will get the cx, cy, etc.,
either in millimeters or inches.

Microsoft has confirmed this to be a problem in Version 1.10 of the
Presentation Manager (PM). We are researching this problem and will
post new information as it becomes available.

Keywords: SR# G890626-21340 buglist1.10


COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/12 04:28
Q46779 Epson Printer Driver xRightClip and yTopClip Values Set to 0
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

When you query the device forms for the Epson printer driver, the
xRightClip and yTopClip values are incorrectly set to 0.

Microsoft has confirmed this to be a problem with the Epson printer
driver included with Presentation Manager (PM) Version 1.10. We are
researching this problem and will post new information as it becomes
available.

Keywords: SR# G890626-21351 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/12 04:28
Q46777 WinSetWindowPos() SWP_MAXIMIZE Documentation Error
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Problem:

When manipulating windows in an MDI (multiple document interface)
setting, we observed the following problem when using
WinSetWindowPos(). If a window is maximized, and on calls to
WinSetWindowPos() with the handle to that window of

cX = 0, cY = 0, cWidth = 100, cHeight = 100,
SWP_SIZE+SWP_SHOW+SWP_MOVE+SWP_MAXIMIZE

the window appears at the size of 100 x 100 with a "down arrow" icon,
and an "up-down arrow" icon instead of the expected full size.
Clicking on the "up-down arrow" icon does nothing to the size of the
window, but does change the icon to the "up arrow." Clicking on the
"up arrow" icon maximizes the window.

If the window is not maximized before the call, the call works as
expected and maximizes the window and sets the size parameters.

Response:

Part of the documentation concerning WinSetWindowPos() is incorrect.
On Page 367 of the "Microsoft Operating System/2 Programmer's
Reference" for Version 1.10, and in the version of QuickHelp included
with the Version 1.10 OS/2 SDK (Software Development Kit), the
documentation states that calling the function with SWP_MAXIMIZE with
an already maximized window will cause the window to be restored. This
is not correct. The SWP_MAXIMIZE option is ignored. Since you also use
SWP_SIZE and SWP_MOVE, the window was repositioned and sized, but the
maximized state was still in effect. You should check first to see if
a window is maximized before trying to maximize. If what you really
want to accomplish is to set the restore size and position and
restore, you need to call WinSetWindowPos() with the following syntax:

WinSetWindowPos(hwndHelloFrame,0,0,0,100,100,SWP_SIZE|SWP_MOVE
|SWP_RESTORE);

Keywords: SR# G890621-21112 docerr o_os2sdk buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/15 08:52
Q46874 C Compiler String Continuation Convention Not Used in RC
Microsoft Presentation Manager (PRESMAN)
1.03 1.05 1.06 1.10
OS/2

Summary:

The string continuation convention used in the Microsoft C Compiler is
not used. For example, the following code causes an error (looking
for an ID in a continuation line).

STRINGTABLE
{
1, "Beginning of String"
" Continuation of String"
}

Microsoft has confirmed this to be a problem with the resource
compiler included with PM (Presentation Manager) Versions 1.03, 1.05,
1.06 and 1.10. We are researching this problem and will post new
information as it becomes available.

Keywords: buglist1.10

Keywords: SR# G890702-21821 buglist1.03 buglist1.05 buglist1.06

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/15 08:52
Q46875 Mnemonic Characters Don't Work in Static Controls in Ver. 1.10
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

In Presentation Manager (PM) Version 1.10, you are not able to put a
mnemonic character (~) in the text of the static control, so that when
that key is pressed, the focus will move to the next control in the
dialog box.

Microsoft has confirmed this to be a problem with mnemonics for static
controls in Version 1.10. We are researching this problem and will
post new information as it becomes available.

A workaround to this problem is to subclass the static control, and
process the WM_MATCHMNEMONIC message to see if the mnemonic key
pressed is the correct key for that control.

Keywords: SR# G890703-21855 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/15 08:52
Q46877 GP Fault Occurs When Posting from a Non-Message Queue Thread
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

If you are posting from a non-message queue thread to a message queue
thread and the system is fairly heavily loaded, you may experience GP
faults when posting messages. To work around this problem in OS/2
Version 1.10, you need to give the posting thread a message queue by
calling WinInitialize() and WinCreateMsgQueue() before calling
WinPostMessage(). You need to also call WinDestroyMsgQueue() and
WinTerminate() after you're done with WinPostMessage().

Microsoft has confirmed this to be a problem in Presentation Manager
(PM) Version 1.10. We are researching this problem and will post new
information as it becomes available.

Keywords: SR# G890705-21957 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/15 08:52
Q46901 WinQueryTaskSizePos() No Longer Available
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

The QuickHelp included with the Version 1.10 OS/2 SDK (Software
Development Kit) for SWP lists WinQueryTaskSizePos() as a reference.
However, when you select WinQueryTaskSizePos() from the Reference
menu, you get a "topic not found" message.

WinQueryTaskSizePos() was a function in a previous version of the
Presentation Manager (PM) API, and has since been removed.

We will post new information when this error has been corrected in
QuickHelp.

Keywords: SR# G890705-21964 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/19 04:29
Q47108 Per-Process File Handle Limit Increased in OS/2 SDK 1.10
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Question:

What is the maximum number of file handles allowed, and how is that
maximum reached? On page 142 of the "Microsoft Operating System/2
Programmer's Reference Volume 3 for Version 1.1," it states that
DosSetMaxFH() limits the maximum number of file handles to 255 that
can be provided to the calling process. Is this correct for OS/2
Version 1.10?

Response:

No; this is a documentation error in both the "Microsoft Operating
System/2 Programmer's Reference Volume 3 for Version 1.1" manual, and
in the version of QuickHelp included with the OS/2 SDK (Software
Development Kit) Version 1.10. This limit was correct for OS/2 Version
1.00, but it is not correct for OS/2 Version 1.10. The limit of file
handles in OS/2 Version 1.10 is 32K of file handles per system, with a
per-process limit of 32K. Please note that since the per-system limit
is the same as the per-process limit, and this is a multi-process
operating system, it is doubtful that a single process will max out on
all of the file handles, since some of them will be in use by other
processes. The number of file handles per process by default is 20,
with three file handles being automatically allocated to stdin,
stdout, and stderr. For a process to open more than 20 file handles,
the application must call the OS/2 API DosSetMaxFH().

In contrast, the limit of file handles in MS-DOS Versions 3.30 and
later is 64K per process, but with a system limit of 255 (the maximum
value of the unsigned byte of FILES=nnn). Thus, while a single process
can open 64K files, there are only 255 for the whole system to work
with, so that the system can only have 255 unique files open at once
but a process can open 64K duplicate handles to the same file. When
SHARE is not loaded, the number of FCBs is limited only by the user's
memory, which is itself under the 640K system limit. The number of
file handles per process by default is 20, with five file handles
being allocated automatically to stdin, stdout, stderr, stdaux, and
stdprn. For a process to open more than 20 file handles, the
application must call the MS-DOS service Interrupt 21H, AH=67H, the
MS-DOS equivalent to the OS/2 DosSetMaxFH() function call.

We will post new information when the documentation has been updated
to correct this error.

Keywords: SR# G890712-22393 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/25 04:28
Q46833 WinSetPointerPos() and WM_MOUSEMOVE Cursor Positioning Problem
Microsoft Presentation Manager (PRESMAN)
1.06 1.10
OS/2

Problem:

The SPY.EXE program snaps the cursor to guides on the page when it
gets within about 3 pixels of where the guide is drawn. If the cursor
is on top of the guide and you move it 1 pixel off, a WM_MOUSEMOVE is
generated, which causes the cursor to be pushed back
[WinSetPointerPos()]. This action also generates a WM_MOUSEMOVE
message. If you move the cursor off 1 pixel again (i.e., back to the
same pixel it was set from), you don't always get a WM_MOUSEMOVE
generated.

It should never be possible to position the cursor 1 pixel from a
guide when SNAPTO is in effect but there doesn't seem to be a way
around it, short of continually polling the pointer position.

Response:

Microsoft has confirmed this to be a problem in Presentation Manager
(PM) Versions 1.06 and 1.10. We are researching this problem and will
post new information as it becomes available.

Another related problem with mouse pointer positioning and
WM_MOUSEMOVE messages was also found. This problem can be demonstrated
by using the sample program included in MOVEBUG in the Software/Data
Library. MOVEBUG can be found in the Software/Data Library by
searching on the keyword MOVEBUG, the Q number of this article, or
S12360. MOVEBUG was archived with the PKware file-compression utility.

The steps needed to reproduce the problem with MOVEBUG are described
below.

When you click, the application tries to move the pointer to the
center of the window. If you do the following steps, the pointer won't
be properly set to the center of the window (if HIDE_BUG is not
defined):

1. Click to move to the center.

2. Move 1 pixel off of the center.

3. Click to move back on.

4. Move 1 pixel off of the center (fails to generate a WM_MOUSEMOVE
message).

5. Click to move back on (fails to put the pointer back on center).

Defining HIDE_BUG masks the problem. The application gives the
following signals:

1. Click off center gives a high beep.

2. Click on center gives a low beep.

3. WM_MOUSEMOVE off center inverts a small rectangle.

4. WM_MOUSEMOVE on center inverts a large rectangle.

A workaround has not yet been found to resolve either of these
problems, but you might consider using one of the following
approaches:

1. Poll the mouse, as suggested.

2. Hide the pointer, and draw your own pointer without calling
WinSetPointerPos().

3. Snap on a click instead of the move (this is a problem with the
interface).

We are researching these problems and will post new information as it
becomes available.

Keywords: MOVEBUG.ARC S12360.EXE

Keywords: SR# G890614-20543 buglist1.06 buglist1.10 softlib

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/25 04:28
Q47055 GpiQueryCharStringPosAt() Needs an Extra POINTL
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

The GpiQueryCharStringPosAt() function needs a POINTL array that is
one element longer than the string that is being sized. This is
contrary to what is stated in the documentation.

For example, if you use the sample code found in QuickHelp, a 11
character string, a character count of 11, and a pointer to an 11
element POINTL array are passed. If you increase the size of the
POINTL array to 12, the code works correctly and fills in the 12th
POINTL element (while still passing in a character count of 11).

Response:

Microsoft has confirmed that this is a documentation error on Page
115 of the "Microsoft Operating System/2 Programmer's Reference Volume
2" for Version 1.10 and in the QuickHelp included with the OS/2 SDK
(Software Development Kit) Version 1.10.

GpiQueryCharStringPosAt() returns POINTLs for each character in the
array, plus one for the concatenation point at the end. The
concatenation point is also known as the current position. Therefore,
you should reserve one more element in the array that will hold the
POINTLs, than the number of characters in the string being queried.

We will post new information when this error has been corrected in the
documentation.

Keywords: SR# G890714-22544 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/25 04:28
Q47171 QuickHelp -t Option Broken in Versions 1.06 and 1.10
Microsoft OS/2 Software Development Kit (OS2SDK)
1.06 1.10
OS/2

Summary:

When you specify the -t option, QuickHelp does not display its window.
Instead, it searches for the topic specified on the command line,
pastes the topic to the current paste file, and then exits.

You should be able to copy either the entire topic of an OS/2
function into the paste file, or just the syntax or example sections
of that topic, depending on what you specify on the command line. For
example, if you type the following, QuickHelp should find and copy the
entire DosBeep() topic and paste it into the current paste file:

qh DosBeep -t all

Similarly, if you type

qh DosBeep -t syntax

or

qh DosBeep -t example

QuickHelp should find and copy just the syntax or example section of
the DosBeep() topic, and then paste it into the current paste file.

Microsoft has confirmed that in Version 1.39 of QuickHelp that was
released with Version 1.10 of the OS/2 SDK (Software Development Kit),
and in Version 1.40 of QuickHelp that was released with Version 1.10
of the OS/2 Presentation Manager Toolkit, the -t switch does not copy
and paste just the syntax or example section of a topic. If you
specify "-t syntax" or "-t example" at the command line, QuickHelp
responds with a message box that contains either "Syntax section not
found in " or "Example section not found in ."
We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890718-22743 buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/26 04:57
Q47173 Format Incorrectly Works with SUBSTituted Drives
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

If you execute "FORMAT A:", after executing "SUBST A: D:\" in the 3.x
box, Drive D is still formatted. Drive D is an extended MS-DOS
partition on a hard disk. The FORMAT command should reject the D
drive, instead of going ahead with the format.

This is not appropriate behavior for the FORMAT command, it should not
be used with drives involved in a substitution (SUBST).

Microsoft has confirmed that this problem occurs in the OS/2 SDK
(Software Development Kit) Version 1.10. We are researching this
problem and will post new information as it becomes available.

Keywords: SR# G890719-22837 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/26 04:57
Q47177 Standard Windowed Application Icon Incorrectly Used in PM 1.10
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

If you start a non-PM program with DosStartSession() and specify the
following information in the STARTDATA structure, the Icon that is
initially displayed is the VIO Icon instead of the Icon that you
specified in the "IconFile" parameter of the STARTDATA structure:

1. Include an Icon filename in the "IconFile" parameter.

2. Set the "PgmControl" to 4 (minimized on startup).

If the window is opened and re-iconized, the icon will be correct.

Microsoft has confirmed that this problem exists in Version 1.10 of
PM.

One possible workaround to this problem is to not start non-PM
applications as icons; start them as medium-sized windows, so you can
minimize them if you wish.

Keywords: SR# G890717-22727 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/07/26 04:57
Q47242 EXTPROC Incorrectly Duplicates Script Extension to Shell
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

There is a problem with the OS/2 Version 1.10 EXTPROC command, which
is an internal command of CMD.EXE.

Given a simplified external command processor (an example of a program
that EXTPROC would be used with) called YASH.EXE, based on the
following file named YASH.C

/* yash.exe -- yet another shell (example of an extproc) */

#include
#include

int main(int argc, char *argv[]);

int main(int argc, char *argv[])
{
printf("yash: processing file \"%s\"\n" argv[1]);
}

and given a .CMD file called TEST.CMD

extproc yash.exe
this is a line of try.cmd

when at a CMD.EXE prompt, typing the command of

TEST

should result in CMD.EXE's EXTPROC reading the file, realizing
that it is a YASH script and not a CMD script, and then trying to
internally invoke TEST.CMD with the following command:

YASH TEST.CMD

The problem in OS/2 Version 1.10 is that the file extension is
incorrectly duplicated, so that the external command interpreter
incorrectly receives a script file name of "TEST.CMD.CMD" rather than
"TEST.CMD".

Microsoft has confirmed this to be a problem with EXTPROC in OS/2
Version 1.10. We are researching this problem and will post new
information as it becomes available.

One workaround for ISVs writing command processors is to perform a
version check. If the OS/2 version is 1.10, remove the extra extension
from the supplied .CMD file name.

For more information on the EXTPROC command, please refer to the
"Microsoft Operating System/2 Version 1.10 User's Guide and Desktop
Reference."

Keywords: SR #G890714-22545 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/10 04:54
Q47106 PS/2 Profiler in OS/2 SDK 1.10 Only Works with PMSHELL
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

Under the PS/2 kernel running the pinfo (profiler) utility with a
dumpfile, will show the name of PMSHELL, (or PMEXEC), instead of the
test application name. When running pinfo with a dumpfile and a map
file, the error "Ignored: No segments for module XXX" occurs. Running
the same series of commands on the AT profile kernel works correctly.

Microsoft has confirmed this to be a problem with the Profiler
included with the OS/2 SDK (Software Development Kit) Version 1.10. We
are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890713-22456 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/11 05:52
Q47243 QuickHelp Incorrectly Lists WM_FOCUSCHAIN
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

WM_FOCUSCHAIN is listed as a reference by WM_QUERYFOCUSCHAIN in the
version of QuickHelp included with the Version 1.10 OS/2 SDK (Software
Development Kit), even though it no longer exists.

Microsoft has confirmed that this documentation error exists in
QuickHelp. We will post new information once QuickHelp has been
updated to correct this error.

Keywords: SR# G890705-21964 buglist1.10 docerr

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/12 05:42
Q47470 Cannot Select Lower Item If Menu Option Has No Submenu
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

When using the arrow keys to select a menu, if you press the DOWN
ARROW key on a menu option that has no submenu, then when you press
the UP or DOWN ARROW keys, they will rotate through the top-level menu
items without descending into any of them. Then, to descend into a
submenu, you need to press the LEFT or RIGHT ARROW keys, or press
ESCAPE and start over.

Microsoft has confirmed this to be a problem in PM Version 1.10. We
are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890723-23141 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/12 05:42
Q47632 Dialog Box Editor Change Symbol Option Doesn't Work in PM 1.10
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

In the Dialog Box Editor, the "change symbol" feature does not work.
When you are inside of the View Include dialog box and you select a
symbol with the list box, the symbol and its value are placed in two
different edit fields. If you then change the value edit field and
press the Change push button, the value does not change. Instead, the
old value is rewritten into the edit field that you have edited.

Microsoft has confirmed this to be a problem in the release of the
Dialog Box Editor included with Presentation Manager (PM) Version
1.10. The problem is in the "View Dialog..." code, which does not
provide for the case in which the user wants to change only the value
associated with the symbol, and not the symbol itself. We are
researching this problem and will post new information as it becomes
available.

You can work around this problem by deleting and re-adding the symbol,
or by changing the symbol slightly -- at which point the Dialog Box
Editor will decide to check what is in the ID value edit box.

Keywords: SR# G890726-23429 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/12 05:42
Q47668 CTRL+ESC System Menu Option Is Grayed Inappropriately
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

When you bring up a Presentation Manager (PM) dialog box with a system
menu, the CTRL+ESC option is grayed even though it is still possible
to use the CTRL+ESC key combination to bring the Task Manager to the
foreground.

Microsoft has confirmed this to be a problem in Version 1.10 of the
PM. We are researching this problem and will post new information as
it becomes available.

Keywords: SR# G890723-23140 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/12 05:42
Q47673 Left and Right Arrow Keys Do Not Work Correctly in File System
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

Microsoft has confirmed the following to be a problem in Version 1.10
of the Presentation Manager (PM).

1. Click on the File System icon to display the menu.

2. When you have the menu displayed, if you press the left or right
arrow key, the menu is moved in the center of the screen, and if
you continue with clicking on another icon, the system fails in a
Trap.

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890731-23650 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/12 05:42
Q47176 MDI 1.10 Sample Code Returns Error to PM Debugging Screen
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Problem:

When I am running the MDI sample program that is included in the
Version 1.10 OS/2 Software Development Kit (SDK), I receive a
DDI00123E PMERR_INV_HBITMAP error message in the Presentation Manager
(PM) debugging screen.

Response:

Microsoft has confirmed this to be a problem in PM Version 1.10. There
is a revised version of MDI in the Software/Data Library that does not
emit this error to the debugging screen. To correct this problem, it
was necessary to take out the menu setup information from the MDIINIT
code and put it in the WM_CREATE processing for the main window. The
problem was a timing issue.

MDI can be found in the Software/Data Library by searching on the
keyword MDI, the Q number of this article, or S10064. MDI was archived
using the PKware file-compression utility.

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890713-22460 buglist1.10 softlib MDI.ARC S10064.EXE

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/19 06:00
Q47911 MDI.EXE Sample Program Problem in Version 1.10
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Problem:

I have noticed the two following problems with the MDI.EXE program
included with the Version 1.10 OS/2 SDK (Software Development Kit) in
the \SAMPLES subdirectory:

1. The system hangs when you do the following:

a. Start MDI.EXE.

b. Minimize the document window "Untitled1".

c. Click [or press ALT+- (MINUS)] to raise the document system
menu.

d. Press either the RIGHT ARROW or LEFT ARROW key, so that you
raise the "File" or application system menu.

e. Click in the background of the application window. At this
point, the system hangs.

2. When a document window is minimized, you can go from the document
system menu to the application menus using the arrow keys. However,
once you are in the application menus, you can't get back to a
document system menu.

Response:

Microsoft has confirmed that the behavior you described in item 1
listed above is a problem with Presentation Manager (PM) Version 1.10,
resulting from an inconsistency that develops in the menu manager.

The problem is that the menu manager normally does not enumerate menus
for a minimized "owner" window -- usually it does this only for a
frame window. Therefore, when you click icons at the bottom of the PM
screen, only the system menu is active. However, in the MDI code, the
subclass procedure for the document frame windows (in MDIDOC.C)
specifically catches the WM_NEXTMENU message passed to it by the menu
manager, and returns either the system menu for the main window (LEFT
ARROW key) or the action bar menu handle (RIGHT ARROW key). This has
the effect of "binding" the document's system menu to the rest of the
menus in the system.

The menu manager seems to stumble over the fact that the document
window is minimized. An inconsistency results that eventually causes a
crash if a focus change occurs.

We are researching this problem and will post new information as it
becomes available. In the meantime, you can work around this problem
in PM Version 1.10 by adding some code to the WM_NEXTMENU case in the
document frame subclass: check to see if the window is minimized, and
return NULL if it is. This will have the effect of not letting you use
the keyboard to "scroll" through the application's action bar and
system menu from a document system menu when that document is
minimized.

The behavior you noticed in item 2 above (not being able to get back
to the iconized window's system menu) is by design. You can get back
to the child's system menu by pressing ALT+- (MINUS).

Keywords: SR# G890802-23884 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/19 06:00
Q47923 WinChangeProgram() Documentation Error
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

Microsoft has confirmed that the reference to WinChangeProgram() on
Page 513 of the "Microsoft Operating System/2 Programmer's Reference
Volume 2" for Version 1.10, and in the version of QuickHelp included
with the Version 1.10 OS/2 Software Development Kit (SDK) is in error.
WinChangeProgram() is not supported in Presentation Manager (PM)
Version 1.10.

This feature is under review and will be considered for inclusion in a
future release of PM. We are researching this problem and will post
new information as it becomes available.

There is no documented or supported way to have this functionality in
PM Version 1.10. If a program is "Add"ed, it is gone (i.e., beyond the
programmer's reach). If the same title is used to add the program
again, an error of "duplicate title" results. Since there is no way to
delete an entry, the only workaround is to have the user delete or
change the entry manually via the Program Starter.

Keywords: SR# G890807-24246 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/19 06:00
Q48028 CMD.EXE GP Faults If First Character of File Is Binary Byte 26
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Problem:

I have a file in the default directory that has a binary byte 26 as
its first character. If I issue either of the following commands in a
batch file, CMD.EXE will GP fault when it encounters this file:

copy *.* nul

or the equivalent command:

copy . nul

Response:

Microsoft has confirmed that this problem occurs in Version 1.10. It
only occurs when using the "*.*" or "." copy syntax. We are
researching this problem and will post new information as it becomes
available.

In the meantime, substituting the following lines for the "copy *.*
nul" command in your batch file will give you the same results:

del foo
for %%f in (*.*) do echo %%f >> foo

Keywords: SR# G890809-24455 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/22 05:22
Q48029 Multiple Sessions Printing to LPT1: Is Incorrectly Allowed
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Problem:

We are designing an application with multiple session parallel/serial
print capability. When attempting to open a serial output port (e.g.
COM1:) using DosOpen() with the following characteristics, we receive
the expected failure on a concurrent second session invocation:

deny all
write only
fail on creation
open on existence

However, when we attempt to open a parallel port (e.g. LPT1:), access
is granted to BOTH sessions with catastrophic results. This was tested
with the print spooler deactivated.

Response:

Microsoft has confirmed this to be a problem with the printer device
driver included with Version 1.10. We are researching this problem and
will post new information as it becomes available.

In the meantime, use one of the following workarounds:

1. Create a system semaphore that will alert your applications when
they can have access to the printer (this only works for your
application).

2. Always use the spooler.

Keywords: SR# G890810-24623 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/22 05:22
Q48096 OS/2 Does Not Interpret ALT Key Correctly in 3.x Box
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Problem:

My application uses KbdSetStatus() to turn on raw mode and shift
reporting, and then calls KbdCharIn() with IO_WAIT. When I perform the
following steps, the ALT key is not interpreted correctly:

1. Press ALT+ESC to switch to the DOS session.

2. Release the ALT key.

3. Press ALT+ESC to get to the session running my application.

4. Without releasing the ALT key, press F1.

KbdCharIn() sends the scan code/character code for F1, not ALT+F1. The
correct scan code/character code (i.e., ALT+F1) is returned if I don't
release the ALT key between the time I start switching sessions to
when I get back to the original session and press F1 in addition to
the ALT key.

Response:

Microsoft has confirmed this to be a problem in Version 1.10. This
appears to be a minor problem with the 3.x box, where the system
remembers an ALT key release, but not an ALT key press. We are
researching this problem and will post new information as it becomes
available.

Keywords: SR# G890811-24697 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/23 05:00
Q47916 Window Incorrectly Made System Modal If Bit 6 Style Flag Set
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

In Version 1.10 of the Presentation Manager (PM), when a window is
created with bit 0x40 set (bit 6 on) in the style flags field of
WinCreateWindow(), the window is incorrectly made system modal.

Microsoft has confirmed this to be a problem in PM Version 1.10. We
are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890804-24140 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/23 05:00
Q47917 WinMessageBox Causes Thread to Be Bumped Up to Input Priority
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Question:

We have a thread that has a message queue, but we do not want the
thread to run at Presentation Manager (PM) input priority. We usually
do not create windows in this thread and everything works correctly.
However, we occasionally create a window via WinMessageBox(); this
causes the thread to get bumped up to input priority, and it never
gets set back down again.

Is there an API that will allow me to set the thread's priority back
to normal? DosSetPrty() has no effect on the PM input priority.

Response:

Microsoft has confirmed this to be a problem in PM Version 1.10. We
are researching this problem and will post new information as it
becomes available.

In the meantime, a workaround to this problem is not to call
WinMessageBox() from the thread. Instead, use a semaphore, message, or
other signal and have a thread that is already at input priority put
up the message box.

Keywords: SR# G890809-24443 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/23 05:00
Q47922 DLGBOX.EXE Returns Warning Error When Code Page Is Installed
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Problem:

We are using the United Kingdom code page and have the found the
following problem with DLGBOX.EXE:

1. Create the following FOO.RC file:

#include

DLGTEMPLATE "", 256
{
DIALOG "",256,25,44,189,72,WS_VISIBLE
{
}
}

2. Execute "rc -r foo.rc" to produce FOO.RES.

3. Run DLGBOX.EXE and open FOO.RES. The following error message is
returned:

WARNING: Dialog template codepage is different from current
system code page

Response:

Microsoft has confirmed this to be a problem in the version of
DLGBOX.EXE included with PM Version 1.10.

You can determine from your output whether or not you have selected a
case that is broken. DLGBOX.EXE uses the code page for things such as
WinUpper(), WinPrevChar(), and WinNextChar(). As long as you only use
characters below 128 and don't use double-byte characters, it should
work properly. If you need to use characters with accent marks, try
using only uppercase characters. If you are still experiencing
problems, we suggest that you do the following:

1. Use DLGBOX.EXE to rough out the dialog.

2. Copy the .DLG file into the .RC file.

3. Finish up the dialog by hand with a text editor.

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890803-23982 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/23 05:00
Q47940 WinReallocMem() Returns Incorrect Value When npMem Is Invalid
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

The WinReallocMem() function returns an unexpected result, instead of
a NULL value, when the value of npMem passed to the function is not a
valid value returned by either the WinAllocMem() or the
WinReallocMem() function.

Microsoft has confirmed this to be a problem in Presentation Manager
(PM) Version 1.10. The heap manager is using one function to validate
a pointer into a heap and a block size simultaneously. The validation
code considers the case of a null pointer to mean that the caller
wants only the size validated (i.e., whether it is too big or too
small to be in the heap at all). The WinReallocMem() pseudo-code looks
like the following:

ValidateHeapHandle()
if ok continue
ValidatePointer (new size, (pointer passed is 0))
if ok continue
ValidatePointer (old size, (your pointer, which is 0))
if ok continue....

The code never specifically checks "if your pointer == 0, return 0",
or for that matter, if the "old size == 0, return 0".

The code then allocates a new block of "new size", copies the old
block to the new block, which means that a bogus pointer (rounded up
to 0004) and a size of 0004 (again rounded) is used. It then copies
those two words into the new block and adds the bogus pointer to a
non-dedicated free list.

We recommend that you do not use the bogus pointer that is returned.
It may have left the heap in an inconsistent state. The workaround to
this problem is to test for a null pointer yourself before calling
WinReallocMem*().

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890808-24293 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/23 05:00
Q48323 Change Directory Drive Problem in Version 1.10
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

The command "CD DIR_NAME D:" (where "DIR_NAME" is the name of a
directory and "D:" designates a drive letter) incorrectly causes the
command processor to access the designated drive. This behavior occurs
under both the real mode and the protected mode command processors.

Microsoft has confirmed this to be a problem in Version 1.10. We are
researching this problem and will post new information as it becomes
available.

Keywords: SR# G890822-25457 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/30 07:18
Q48268 International Keyboard Settings Do Not Work in PM Applications
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

When the KEYB command is used, it affects the keyboard translation on
full-screen and windowed command applications, but not in Presentation
Manager (PM) applications. Thus, after KEYB GR (German) is issued, the
command line correctly swaps the y and z keys and activates the umlaut
characters of ";'][". However, in PM dialogs, these characters revert
back to the standard keyboard.

Microsoft has confirmed this to be a problem in PM Version 1.10. We
are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890809-24486 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/25 05:05
Q48269 Bad Update Rectangle Is Set Incorrectly by WinBeginPaint()
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

The code that creates the "visible region" for the presentation space
(PS) provided to WinBeginPaint() seems to do something similar to the
following:

1. The device context (DC) associated with the PS is owned by a
window. This means that it is a valid DC.

2. The update region of the window that is passed indicates that the
entire window is invalid.

3. The code makes the entire visible region of the PS the update
region.

There is never any check to see that the DC is actually owned by the
same window as that which is passed via WinBeginPaint(). Thus, if hPS
[associated with hDC = WinOpenWindowDC(hwndParent)] is passed to
WinBeginPaint(hwndChild, hPS, &rcl), and if the entire child window
(hwnd2) is invalid, a bad update rectangle (the entire visible region
of the PS) is set.

Microsoft has confirmed these to be problems in Version 1.10. We are
researching these problems and will post new information as it becomes
available.

Some possible workarounds are as follows:

1. If you need a GPIT_NORMAL PS, you can simply not pass the "private"
PS to WinBeginPaint(). You can use the update rectangle returned as
correlation information for your "private" PS - i.e., do your own
clipping.

2. You could create these PSs on a child-by-child basis. If the
children own the window DCs, the problem goes away. This is
probably the "cleanest" solution.

3. You could perform an intersection on the update rectangle returned
from WinBeginPaint() and the child's rectangle (in the main window
coordinates) and use that as the update rectangle, once again
performing your own clipping if necessary.

More Information:

The example included below demonstrates these problems. hwnd[child]
was created with the following code:

hwnd[child] =
WinCreateWindow (
hWnd //Parent window handle
, szTitleName
, NULL //Title bar text
, WS_VISIBLE //Style client window
, (SHORT) (rclhWnd.xLeft + 50L) //left
, (SHORT) (rclhWnd.yBottom + 50L) //bottom
, 150 //right
, 200 //top
, hWnd //owner
, HWND_TOP //on top of all
, X_TITLE //id of window
, NULL
, NULL ) ;

This gives a child window offset from its parent by horizontal + 50
and vertical + 50 pels. The width of the window is 150 pels, and the
height of the window is 200 pels.

hpsexisting is an hps generated by the following code:

hpsexisting =
GpiCreatePS ( //generate a hps for hwnd
hab //anchor block handle
, WinOpenWindowDC (
hWnd) //get the hwnd DC
, &siz1 //zero size = one full screen
, PU_PELS | GPIF_DEFAULT |
GPIT_NORMAL | GPIA_ASSOC ); //get hps
//******************************************************
//NOTE: This hps stays until the window terminates.
// It is actually removed during WM_DESTROY
// processing.
//******************************************************

The call to generate a new hps is as follows:

hpsnew = WinBeginPaint (
hwnd[child]
, hpsexisting
, &rclnew);

The rclnew dimensions returned by this call should be the following:

xLeft = 0
yBottom = 0
xRight = 150
yTop = 200

If you make a simple cached micro hps by doing the following:

hpsnew = WinBeginPaint (
hwnd[child]
, NULL
, &rclnew);

the dimensions are the same as above; however, the actual values
returned in rclnew are the dimensions of hWnd (the parent window):

xLeft = 0 (origin of hWnd.xLeft)
yBottom = 0 (origin of hWnd.yBottom)
xRight = hWnd.xRight
yTop = hWnd.yTop

If you then try to paint, using the xLeft parameter as follows, the
character string written will be at the bottom of the hWnd parent, not
at the bottom of hwnd[child]:

pptl.x = rclnew.xLeft;
pptl.y = rclnew.yBottom;
GpiMove ( //set left bottom corner of window
hpsnew
, pptl); //bottom corner of client
GpiCharStringAt ( //write the title prompt
hpsnew
, &pptl //at this position
, (LONG) strlen (sztext1) //number of characters
, sztext1); //title prompt

If you use the commands listed above to draw after issuing the
following call, the drawing does occur inside the child window and not
on the hWnd parent:

hpsnew = WinBeginPaint (
hwnd[child]
, NULL
, &rclnew);

There is also another part to this problem. After you restore the
original hpsexisting by calling the following, the regions that may
have been invalid, i.e., regions set before calling the
WinBeginPaint() to get a temporary hps, have been altered. In other
words, they have not been reset to their original values.

WinEndPaint (hpsnew);

Keywords: SR# G890816-24967 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/30 07:18
Q48298 8514 DD Control Panel Icon, Color Selection Problems in 1.10
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

The following problems occur with the 8514 device driver in 1024 x 768
x 256 color mode, in Presentation Manager (PM) Version 1.10:

1. The Control Panel icon is corrupt in the upper-right corner.

2. When using the Control Panel to select the screen color, the colors
chosen are not the colors used when the display is refreshed.

Microsoft has confirmed these to be problems in Version 1.10. We are
researching these problems and will post new information as it becomes
available.

Keywords: SR# G890819-25294 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/30 07:18
Q48299 Minimize Incorrectly Enabled in System Menu of Control Panel
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

If you minimize the Control Panel and select the System Menu icon,
minimize is still enabled and maximize is disabled. The correct
behavior is for minimize to be disabled and maximize to be enabled.

Microsoft has confirmed this to be a problem with the System Menu in
the Control Panel in Presentation Manager (PM) Version 1.10. We are
researching this problem and will post new information as it becomes
available.

Keywords: SR# G890821-25329 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/30 07:18
Q48310 Cursor Is Displayed Incorrectly If Entry Field Is ES_RIGHT
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Problem:

I have created a dialog box for an application that I am converting
from MS-DOS to the Presentation Manager (PM) in which the two edit
fields do not have margins. The cursor is located at the end of the
text in the first edit field when the dialog box is displayed. When I
click the mouse in the second edit field, the cursor is not destroyed
in the first edit field. The remnants of the cursor still show in the
first edit field.

For this problem to occur, the entry field must be set to ES_RIGHT in
the dialog box file.

Response:

Microsoft has confirmed this to be a problem in Version 1.10. We are
researching this problem and will post new information as it becomes
available.

One workaround to this problem is to use entry fields with margins or
to set the entry field to ES_LEFT. You can also try invalidating the
control with WinUpdateWindow() when you receive an EN_KILLFOCUS
message. However, this may produce undesirable blinking in the
control. Since you know the invalid area to be that at the far right
of the control, perhaps you could invalidate only a small portion of
the control to achieve the desired result.

Keywords: SR# G890820-25314 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/30 07:18
Q48309 RIPS Occur When WinDdePostMsg() Is Used in PM
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Problem:

I have modified the sample DDE server code named PMSERVER in the
Software Library. I put a DosSemRequest() and DosSemClear() around the
code that handles the WM_DDE_ADVISE message (the semaphore doesn't
protect anything, it just illustrates the problem). I also added more
stocks and created an Excel spreadsheet that created 16 hot links (one
for each stock). When you start the server and run the spreadsheet
(under Excel for PM), the system hangs, even if you are using
CodeView. If WinDdePostMsg() is removed from the semaphore, the system
does not hang. The following sequence of events appears to occur:

1. Excel posts a WM_DDE_ADVISE message.

2. The server callback function gets the semaphore.

3. The server tries to post an acknowledgment (still holding the
semaphore).

4. Excel posts another WM_DDE_ADVISE message.

5. The server callback function is re-entered. The semaphore is not
available, so something else blocks.

Response:

Microsoft has confirmed this to be a problem in Version 1.10. We are
researching this problem and will post new information as it becomes
available.

Running the server and Excel does generate several unusual huge RIPs
and 10 to 20 "cannot post msg, queue full" messages. The system is
also left in an inconsistent state, although several display driver
errors follow the "graceful" exit.

The first RIPs seem to be generated from Excel code, i.e., they may be
the ones causing the segmentation failure, although many RIPs from PM
were quick to follow. Therefore, this problem appears to be a side
effect of the way PM handles WinDdePostMsg().

The workaround is to ensure that WinDdePostMsg() is not surrounded by
DosSem*() functions that could potentially (easily) result in
deadlock or other unexpected results in client applications not ready
to be "delayed," or handle the effects of modal message loops.

Additional reference words: softlib PMSERVER.ARC S12267.EXE

Keywords: SR# G890818-25225 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/05 04:04
Q48645 Improving Screen Generation Performance in PM
Microsoft Presentation Manager (PRESMAN)
1.05 1.06 1.10
OS/2

Question:

We have a Windows application in which we must do a screen write 10
times a second. We are converting this application to Presentation
Manager (PM) and noticed that PM is much slower. How can we improve
this performance in PM?

Response:

Microsoft is aware of these limitations of the current font engine in
terms of speed and WYSIWYG ability. We are researching this problem
and will post new information as it becomes available.

Meanwhile, try the following workarounds to help improve the
performance in PM:

1. Use a fixed pitch device font, such as Courier. The system font is
proportional.

2. Create your own raster font that is 8 x 8, and then make sure you
output this font on byte boundaries.

3. Put the text output code (loop?) in a separate thread that is not
running at input priority. Paradoxically, some operations have been
reported to run far more quickly if the thread performing the
operations is not running at input priority. To ensure that a
thread does not run at input priority, the thread must never create
a window. This includes a message box.

Keywords: SR# G890825-25923 buglist1.05 buglist1.06 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/07 05:00
Q48456 GpiSaveMetafile() Saves Output File Only in Current Directory
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

QuickHelp's implication that a metafile can be saved in any directory
is incorrect and is a documentation error. GpiSaveMetaFile() saves a
specified file to the current directory only.

Microsoft has confirmed that this documentation error exists in the
version of QuickHelp included with the Version 1.10 OS/2 SDK (Software
Development Kit).

Keywords: SR# G890823-25659 buglist1.10 docerr

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/05 04:04
Q48460 Return Value for WM_DRAWITEM Not Ignored for List Boxes
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

On Page 433 of the "Microsoft Operating System/2 Programmer's
Reference Volume 2" for Version 1.10 and in the version of QuickHelp
included with the Version 1.10 OS/2 Software Development Kit (SDK), it
states that the return value for WM_DRAWITEM is ignored. However, in
the next paragraph, it is explicitly stated that the application
should draw the item and return TRUE, or it should return FALSE to let
the list box draw the item.

Microsoft has confirmed that this documentation error exists on Page
433 of the "Microsoft Operating System/2 Programmer's Reference Volume
2" manual for Version 1.10, and in the version of QuickHelp included
with the Version 1.10 OS/2 SDK (Software Development Kit). The return
value for the WM_DRAWITEM message is ignored for menus; however, it is
not ignored for list boxes.

We will post new information when the documentation has been updated
to correct this error.

Keywords: SR# G890824-25783 buglist1.10 docerr

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/05 04:04
Q48461 WM_MEASUREITEM Return Value Documentation Error on Page 443
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

On Page 443 of the "Microsoft Operating System/2 Programmer's
Reference Volume 2" for Version 1.10 and in the version of QuickHelp
included with the Version 1.10 OS/2 Software Development Kit (SDK), it
states that an application should return the height of a window item.
However, on Page 230 of the "Microsoft Operating System/2 Programmer's
Reference Volume 1" for Version 1.10, the sample code shows that the
application needs to modify the xRight and yTop values of rclItem, and
return 0L.

Microsoft has confirmed that the documentation is incorrect on Page
443 of the "Microsoft Operating System/2 Programmer's Reference Volume
2" for Version 1.10 and in the version of QuickHelp included with the
Version 1.10 OS/2 SDK (Software Development Kit).

The sample code fragment is correct for the WM_MEASUREITEM message for
menus. If you have an ownerdraw list box, the processing of the
WM_MEASUREITEM message should return the width and height in the
return value.

We will post new information when this error has been corrected in the
documentation.

Keywords: SR# G890824-25783 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/05 04:04
Q48661 VioGetMode(), VioSetMode() hvio Parameter Documentation Error
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

Microsoft has confirmed that Pages 213 and 242 of the "Microsoft
Operating System/2 Programmer's Reference Volume 3" for Version 1.10
incorrectly document the hvio parameter of the functions VioGetMode()
and VioSetMode(). Furthermore, this documentation error also occurs in
the version of QuickHelp that is included with Version 1.10 of the
OS/2 Software Development Kit (SDK).

Both the functions VioGetMode() and VioSetMode() take as their second
parameter a 16-bit word, "HVIO hvio". In the references sited above,
this parameter is documented as capable of being used as a handle to
an advanced video input and output (AVIO) presentation space. The
documentation further states that this handle must have been created
previously with the function VioCreatePS(). These statements are not
correct. The functions VioGetMode() and VioSetMode() are only valid
for VIO-windowable applications; they are not supported by
Presentation Manager (PM) and they must not be used by PM or AVIO
applications. The parameter "HVIO hvio" is a reserved word that must
always be zero. An error will be returned if VioGetMode() or
VioSetMode() is called with a nonzero handle.

Also note that when VioSetMode() is called from a VIO-windowed
application (as opposed to an application that is running in its own
screen group), it will not change the size of a character cell.

Keywords: SR# G890824-25818 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/07 05:00
Q48705 GpiCharStringPosAt() CHS_OPAQUE Option Doesn't Work Correctly
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

When using GpiCharStringPosAt() with the CHS_OPAQUE option, underscore
and strikethrough are not displayed in the selected Courier font.

Microsoft has confirmed this to be a problem in Presentation Manager
(PM) Version 1.10. We are researching this problem and will post new
information as it becomes available.

Keywords: SR# G890828-26034 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/13 05:04
Q48314 CodeView Dotted Line Problem Occurs on VGA and EGA Systems
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

The problem listed below appears to occur on most EGA and VGA systems.
The following steps can be used to reproduce this problem:

1. Start up CodeView on one monitor.

2. Trace through an application until the initial border appears.

3. Quit CodeView.

4. At this point, you will be back to a full-screen prompt.

5. Switch back to the task manager.

6. A dotted line will be displayed on the screen.

Microsoft has confirmed that this problem occurs in Version 1.10. We
are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890821-25443 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/08/30 07:18
Q48706 GpiSetAttrs() PRIM_CHAR Option Reverse Text Doesn't Work
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

When GpiSetAttrs() is called to set PRIM_CHAR as the reverse text and
background color, the function still displays the same text and
background color. This problem only occurs when using raster fonts.

Microsoft has confirmed this to be a problem in Presentation Manager
(PM) Version 1.10. We are researching this problem and will post new
information as it becomes available.

Keywords: SR# G890828-26034 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/13 05:04
Q48708 Courier Font G, Y Characters Don't Display Descender Correctly
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

Microsoft has confirmed that the following problem occurs in PM
Version 1.10. The "g" and "y" characters of the Courier font do not
display the descender correctly. The MaxDescender returned in 8-pitch
font is 2. Instead, it should be set to 3 to display the descender.

Microsoft has confirmed this to be a problem in the digitized font
images in OS/2 Version 1.10. We are researching this problem and will
post new information as it becomes available.

Keywords: SR# G890828-26034 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/13 05:04
Q48716 WinCreateFrameControls() hmod Parameter Documentation Error
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

Microsoft has confirmed that the following documentation error occurs
on Page 232 of the "Microsoft Operating System/2 Programmer's
Reference Volume 2" for Version 1.10 and in the version of QuickHelp
included with the OS/2 SDK (Software Development Kit).

The HMODULE hmod parameter of the WinCreateFrameControls() function is
specified, but in reality it is not used. If you use the definition as
documented, it will cause an error during compilation (if the maximum
warning is used) and a failure if not caught during compilation.

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890903-4 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/13 05:04
Q48718 hwndClient Listed Twice in WinCreateStdWindow() Example
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

Microsoft has confirmed that the following documentation error occurs
on Page 242 of the "Microsoft Operating System/2 Programmer's
Reference Volume 2" for Version 1.10, and in the version of QuickHelp
included with the Version 1.10 OS/2 SDK (Software Development Kit).

The example for WinCreateStdWindow() incorrectly lists the declaration
for HWND hwndClient parameter twice. The second declaration should
instead be "HWND hwndFrame;".

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890903-4 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/13 05:04
Q48719 cbInfo Parameter Information Incorrect in DosQFSInfo() Example
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

Microsoft has confirmed that the following documentation error occurs
on Page 115 of the "Microsoft Operating System/2 Programmer's
Reference Volume 3" for Version 1.10, and in the version of QuickHelp
included with the Version 1.10 OS/2 SDK (Software Development Kit).

The example for the DosQFSInfo() function declares the following for
the cbInfo parameter: FSINFO fsinf. Further down in the example,
sizeof(FSInfoBuf) is used instead of sizeof(fsinf).

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890903-4 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/13 05:04
Q48785 XCOPY with /S Option Incorrectly Copies Empty Subdirectories
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

When I run XCOPY when using the /s option, XCOPY copies all of the
subdirectories, even if they are empty.

Microsoft has confirmed this to be a problem in Version 1.10 of OS/2.
We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890904-7 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/15 04:55
Q48717 GpiPolyLine() Function Example Is Missing Third Parameter
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

Microsoft has confirmed that the following documentation error occurs
on Page 97 of the "Microsoft Operating System/2 Programmer's Reference
Volume 2" for Version 1.10, and in the version of QuickHelp included
with the Version 1.10 OS/2 SDK (Software Development Kit).

The example for the GpiPolyLine() function is missing the third
parameter.

We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890903-4 docerr buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/13 05:04
Q48704 GpiWCBitBlt() Works Incorrectly in PM Version 1.10
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Summary:

The following problems occur when the GpiWCBitBlt() function is used:

1. If the destination is a memory bitmap and the source is NULL, an
error 2092 (PMERR_INV_LENGTH_OR_COUNT) is returned. If the
destination is the screen, this function works correctly.

2. If the destination is the screen, the source is NULL, and a segment
is open, an error 207B (PMERR_INV_HBITMAP) is returned. A
workaround to this problem is to create a dummy blank (1 x 1)
bitmap to use as the source instead of NULL.

GpiWCBitBlt() checks for a valid hBitmap if the destination isn't a
simple micro Presentation Space (PS).

Microsoft has confirmed these to be problems in Version 1.10. We are
researching these problems and will post new information as it becomes
available.

Keywords: SR# G890828-26028 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/13 05:04
Q48786 DIR Command Fails with Trap D Error in OS/2 Version 1.10
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

When you run the following DIR command, a TRAP D error occurs:

DIR aaaa.....a (until input area is full)

Microsoft has confirmed this to be a problem in Version 1.10 of OS/2.
We are researching this problem and will post new information as it
becomes available.

Keywords: SR# G890906-20 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/15 04:55
Q48809 DosStartSession() "Related" Field Documentation Error
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

Microsoft has confirmed that the information for the "Related" field
of the STARTDATA structure listed in the DosStartSession()
documentation is incorrect on Page 153 of the "Microsoft Operating
System/2 Programmer's Reference Volume 3" for Version 1.10, and in the
version of QuickHelp included with the Version 1.10 OS/2 SDK (Software
Development Kit).

The documentation incorrectly states the following:

An independent session is created when the Related field of the
STARTDATA structure is set to TRUE.

Instead, it should state the following:

If the related field is FALSE, the new session is an independent
session (not related).

We are researching this problem and will post new information when
the documentation has been updated to correct this error.

Keywords: SR# G890907-114 buglist1.10 docerr

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/16 05:32
Q48810 "See Also" Section of WM_QUERYTRACKINFO Documentation Error
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

The "See Also" section of the WM_QUERYTRACKINFO documentation
incorrectly lists WM_QUERYTRACKINFO again as a reference.

Microsoft has confirmed to be a problem in the version of QuickHelp
included with the Version 1.10 OS/2 SDK (Software Development Kit),
and on Page 452 of the "Microsoft Operating System/2 Programmer's
Reference Volume 2" for Version 1.10. We are researching this problem
and will post new information when the documentation has been updated
to correct this error.

Keywords: SR# G890907-114 buglist1.10 docerr

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/16 05:32
Q47175 IBM 4201 Printer Driver Form Size, DevQueryHardcopyCaps()
Microsoft Presentation Manager (PRESMAN)
1.10
OS/2

Problem:

I am writing some print code and am testing it with the IBM 4201
printer driver. I get a width of 8 inches and not 8.5 inches under the
following conditions:

1. I am using the 8.5-x-11 inch form in the page setup dialog.

2. In my print code, I am using the DevQueryHardCopyCaps() call with
CAPS_HEIGHT and CAPS_WIDTH, so that I can determine the width and
height of my page.

3. I am using DevQueryCaps() to determine my horizontal and vertical
resolution by passing CAPS_HORIZONTAL_RESOLUTION and
CAPS_VERTICAL_RESOLUTION.

4. The resolution is as follows:

x = 120 pixels per inch
y = 72 pixels per inch

5. The paper size is as follows:

Width = 960 pixels = 8 inches
Height = 792 = 11 inches

Response:

There are problems with the 4201 driver concerning the form size and
the DevQueryHardcopyCaps() function.

The DevQueryHardcopyCaps() function is supposed to return the size of
the form (not the printable area) in millimeters. The 4201 driver
incorrectly returns the size of the form in inches, and because it
can't return a fractional value, it truncates to 8 inches instead of
8.5 inches.

To find the form size correctly on the current 4201 driver, it is
probably best to look at the form name and "know" that an "A" form is
8.5 x 11 inches.

Microsoft has confirmed this to be a problem in the IBM 4201 driver
included with PM Version 1.10. We are researching this problem and
will post new information as it becomes available.

Keywords: SR# G890713-22473 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/16 05:32
Q48784 Date Is Set Incorrectly When Time Command Is Used
Microsoft OS/2 Software Development Kit (OS2SDK)
1.10
OS/2

Summary:

The following problems occur in Version 1.10 of OS/2:

1. At a full-screen command prompt, if the current date is 6-30-89 and
I execute the following command

TIME 23:59:59.99

the date incorrectly changes to 6-31-89, even though June only has
30 days in it. If I then execute "TIME 23:59:59.99" again, the date
changes to 7-2-89.

2. At a windowed command prompt, if the current date is 6-30-89 and I
execute the following command:

TIME 23:59:59.99

the date incorrectly changes to 6-31-89, even though June only has
30 days in it. If I then execute "TIME 23:59:59.99" again, an error
code of SYS1044 is returned. This problem also occurs with the
dates of 4/30 and 9/30.

Microsoft has confirmed these to be problems in Version 1.10 of OS/2.
We are researching these problems and will post new information as it
becomes available.

Keywords: SR# G890904-5 buglist1.10

COPYRIGHT Microsoft Corporation, 1989.
Updated 89/09/15 04:55


 December 31, 2017  Add comments

Leave a Reply