PRB: File Handles Cannot Be Shared Between Programs or DLLs (46524)
The information in this article applies to:
- Microsoft Windows Software Development Kit (SDK) 3.0
- Microsoft Windows Software Development Kit (SDK) 3.1
This article was previously published under Q46524 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 fopen() 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 fopen() call, file I/O calls, and fclose() call.
Modification Type: | Major | Last Reviewed: | 10/30/2003 |
---|
Keywords: | kb16bitonly KB46524 |
---|
|