Skip to main content
INSSBuffer interface

The INSSBuffer interface is the basic interface of a buffer object. A buffer object is a wrapper around a memory buffer. The methods exposed by this interface are used to manipulate the buffer.

In both writing and reading ASF files, buffer objects are used to contain samples. Depending upon where you use a sample, you will obtain a reference to the INSSBuffer interface in one of three ways:

  • When passing samples to the writer, you can obtain buffer objects by calling IWMWriter::AllocateSample.
  • When you are receiving samples from the asynchronous reader, buffer objects are created automatically, and references to an INSSBuffer interface are passed with every call the reader makes to the IWMReaderCallback::OnSample callback method.
  • When you are receiving samples from the synchronous reader, a reference to an INSSBuffer interface is set with every call you make to IWMSyncReader::GetNextSample.

The following interfaces can be obtained by using the QueryInterface method of this interface.

INSSBuffer2 IID_INSSBuffer2
INSSBuffer3 IID_INSSBuffer3
INSSBuffer4 IID_INSSBuffer4



The INSSBuffer interface inherits from the IUnknown interface. INSSBuffer also has these types of members:


The INSSBuffer interface has these methods.


Retrieves the location of the buffer.


Retrieves the location and size of the used portion of the buffer.


Retrieves the size of the used portion of the buffer.


Retrieves the maximum size to which a buffer can be set.


Specifies the size of the used portion of the buffer.


See also

Buffer Object
Reading ASF Files
Writing ASF Files