Important: |
---|
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. |
This class is the base class for persistent properties of filters (that is, filter properties in saved graphs).
The simplest way to use CPersistStreamis to:
- Arrange for your filter to inherit this class.
- Implement
CPersistStream::WriteToStreamand
CPersistStream::ReadFromStreamin your class. These will
override the functions here, which do nothing but act as
placeholders.
- Change your
NonDelegatingQueryInterfaceto handle
IPersistStream:IPersist.
- Implement
CPersistStream::SizeMaxto return an upper bound on the number
of bytes of data you save.
- If you save Unicode data, remember that a WCHAR is 2 bytes.
- When your data changes, call
CPersistStream::SetDirty.
Version Numbers
At some point you might decide to alter or extend the format of your data. You will then wish you had a version number in all the old saved streams so you can tell, when you read them, whether they represent the old or new form. To assist you, this class writes and reads a version number. When it writes, it calls CPersistStream::GetSoftwareVersionto inquire as to the version of the software being used at the moment. (In effect, this is a version number of the data layout in the file.) It writes this as the first thing in the data. If you want to change the version, implement (override) CPersistStream::GetSoftwareVersion. It reads the version number from the file into CPersistStream::mPS_dwFileVersionbefore calling CPersistStream::ReadFromStream, so in CPersistStream::ReadFromStreamyou can check CPersistStream::mPS_dwFileVersionto see if you are reading an old version file. Usually you should accept files whose version is no newer than the software version that is reading them.
Protected Data Members
Data Member | Description |
---|---|
mPS_dwFileVersion |
Version number of the file. |
mPS_fDirty |
Data for this stream must be saved. |
Member Functions
Member Function | Description |
---|---|
Constructs a CPersistStream object. |
|
Indicates that the object must be saved to the stream. |
Overridable Member Functions
Member Function | Description |
---|---|
Retrieves the class identifier of this stream. |
|
Retrieves the version number for this file format. |
|
Reads the filter's data from the stream. |
|
Retrieves the number of bytes needed for data (not including version number). |
|
Writes the filter's data to the stream. |
Implemented IPersistStream Methods
Method | Description |
---|---|
Retrieves the number of bytes needed for data (including version number). |
|
Checks if the object must be saved. |
|
Loads the data from the stream into memory. |
|
Saves the data from memory to the stream. |
Requirements
Windows Embedded CE | Windows CE 2.12 and later |
Windows Mobile | Windows Mobile Version 5.0 and later |
Note | Microsoft DirectShow applications and DirectShow filters have
different include file and Library requirements
For more information, see Setting Up the Build Environment See Also |