ID Number: Q46524
2.03 2.10 3.00 3.10
WINDOWS
Summary:
SYMPTOMS
Assume that there are two applications, A and B. Application A
calls a Dynamic-Link Library (DLL) to open a file. The file pointer
(FILE * pFIle ) is stored on the data segment of the DLL.
Application A then calls a function in the DLL to read the record
"n" of this file properly. However, if Application B calls the same
function in the DLL to read the same record, the record appears as
random characters.
RESOLUTION
File handles cannot be shared between applications or DLLs. Each
application has its own file handle table. When an OpenFile call
is made, a file is taken out of the application's program segment
prefix (PSP). For two separate applications to use the same file,
each application must make its own OpenFile call, file I/O calls,
and close.
Additional reference words: 2.03 2.10 2.x 3.00 3.10 3.x