BUG: Mailslot Created on Win95 Allows Only 4093 Bytes

ID: Q170581

The information in this article applies to:

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.

Additional query words: CreateMailSlot nMaxMessageSize Keywords : kbnetwork kbAPI kbIPC kbNTOS351bug kbNTOS400bug kbSDKPlatform kbWinOS95bug kbMailslot kbGrpNet

Last Reviewed: September 10, 1998