|This is retired content. This content is outdated and is no longer being maintained. It is provided as a courtesy for individuals who are still using these technologies. This content may contain URLs that were valid when originally published, but now link to sites or pages that no longer exist.|
Extension Control Block member lpbData and the size of the client read buffer is specified by the cbAvailablevalue. The total number of bytes the client is going to send is specified by the cbTotalBytesvalue.
If the cbTotalBytesvalue is equal to the cbAvailablevalue, then all the data from the client has been read and there is no need to call ReadClient. If the cbTotalBytesvalue is greater than the cbAvailablevalue, then you will need to call ReadClientto make the Web server read more data from the client browser.
The advantage to using multiple calls to ReadClientis related to Windows CE memory constraints. You may want to use the Web Server to upload a ten megabyte file to a flash card. You may have only two megabytes of RAM available, but sufficient storage space is available on the card. If the entire buffer from the client was read at once, the device would run out of physical memory. However, if you use a 4 K buffer while calling ReadClientand then call WriteFileimmediately after each call, then you can minimize the amount of RAM required.
If you use ISAPI ReadClient, you need to use caution when writing ISAPI filters that receive notifications for read raw data events.
Last updated on Friday, April 02, 2004