BUG: Mailslot Created on Win95 Allows Only 4093 Bytes (170581)
The information in this article applies to:
- Microsoft Win32 Application Programming Interface (API), when used with:
- the operating system: Microsoft Windows NT 3.51
- the operating system: Microsoft Windows NT 4.0
This article was previously published under Q170581 SYMPTOMS
If you call the WriteFile() API to write more than 4093 bytes to a Mailslot
that has been created on a Windows 95 Workstation, it fails. The error
returned varies depending on the operating system you are calling from:
Windows NT 3.51: 8 (ERROR_NOT_ENOUGH_MEMORY)
Windows NT 4.00: 59 (ERROR_UNEXP_NET_ERR)
Windows 95 : 122 (ERROR_SEM_TIMEOUT)
RESOLUTION
There are several ways to work around this issue. One suggestion is to
break the message into smaller chunks, and use some method for insuring
that all the chunks get there in the proper order. For instance, you can
send a header at the beginning of each message, and a footer marking the
end of the message. The header should have an ID that indicates the number
of messages to expect and the count (that is, 1 of 4, 2 of 4, etc.) The
receiving station can reassemble the message from the header information
until all data is received.
STATUS
Microsoft has confirmed this to be a bug in the Microsoft products listed
at the beginning of this article. We are researching this bug and will post
new information here in the Microsoft Knowledge Base as it becomes
available.
MORE INFORMATION
The Win32 SDK indicates that there is no limit to the amount of data you
can send to a mailslot using the WriteFile() API. This is correct when a
mailslot is created on the Windows NT Platform.
Modification Type: | Major | Last Reviewed: | 4/9/2004 |
---|
Keywords: | kbAPI kbBug kbIPC kbMailslot kbnetwork KB170581 |
---|
|