Microsoft Internet Security and Acceleration Server 2000

Buffer Objects

ISA 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:

For more information about these methods, see IFWXIOBuffer.

Buffer objects implement the IFWXIOBuffer interface.

Using the IFWXIOBuffer interface, information about the buffer can be retrieved and the buffer can be modified. For examples of how the Firewall service uses the IFWXIOBuffer interface, see Basic Filter Interfaces.