|Microsoft Internet Security and Acceleration Server 2004 SDK|
ISA Server handles data in data buffers. Each data buffer is represented by a buffer object. By using pointers to the buffer object, various components, such as a series of filters, can use the same data without the need to copy data. Avoiding copying data improves performance.
A buffer's size is defined in two ways:
The allocated size is the buffer's capacity in bytes and does not reflect data actually stored in the buffer. When a buffer is created and filled by a filter, it begins with a defined allocated size. The actual size is the number of bytes of data the buffer currently holds.
A filter can perform the following buffer management activities:
Buffer objects implement the IFWXIOBuffer interface. Using the IFWXIOBuffer interface, information about the buffer can be retrieved, and the buffer can be modified.