Microsoft Internet Security and Acceleration Server 2004 SDK

Buffer Objects

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.