PROLM9103004: Incorrect Usage of DosOpen2() Causes Trap D

ID Number: Q70873

2.00b

OS/2

buglist2.00b

Summary:

PROBLEM ID: OLM9103004

SYMPTOMS

A Trap D error can occur if DosOpen2() is used incorrectly on a

file that is located on a remote drive.

The following sample program demonstrates the incorrect usage of

DosOpen2() on a file that is located on a remote drive:

#define INCL_DOSFILEMGR

#include <os2.h>

void main(argc,argv)

int argc;

char **argv;

{

HFILE handle;

USHORT usAction;

EAOP pTeststruct;

FEALIST FindEAList;

GEALIST GetEAList;

ULONG ulSize = 0UL;

pTeststruct.fpFEAList = &FindEAList;

pTeststruct.fpGEAList = &GetEAList;

if ( DosOpen2((PSZ)argv[1],

&handle,

&usAction,

100UL,

FILE_NORMAL,

FILE_OPEN | | FILE_CREATE,

OPEN_ACCESS_READWRITE || OPEN_SHARE_DENYNONE,

(PEAOP)&pTeststruct,

0UL

) != 0 )

printf("ERROR in opening %s\n", argv[1]);

else

printf("SUCCESS in opening %s\n", argv[1]);

}

CAUSE

This problem only occurs if DosOpen2() is used incorrectly on a

file that is located on a remote drive.

STATUS

Microsoft has confirmed this to be a problem in OS/2 LAN Manager

version 2.00b. We are researching this problem and will post new

information here as it becomes available.