Поделиться через


Класс COleStreamFile

Представляет поток данных (IStream) в составном файле как часть структурированного хранения OLE.

Синтаксис

class COleStreamFile : public CFile

Участники

Открытые конструкторы

Имя Описание
COleStreamFile::COleStreamFile Формирует объект COleStreamFile.

Открытые методы

Имя Описание
COleStreamFile::Attach Связывает поток с объектом.
COleStreamFile::CreateMemoryStream Создает поток из глобальной памяти и связывает его с объектом.
COleStreamFile::CreateStream Создает поток и связывает его с объектом.
COleStreamFile::D etach Отсоединяет поток от объекта.
COleStreamFile::GetStream Возвращает текущий поток.
COleStreamFile::OpenStream Безопасно открывает поток и связывает его с объектом.

Замечания

Объект IStorage должен существовать перед открытием или созданием потока, если он не является потоком памяти.

COleStreamFile объекты обрабатываются точно так же, как объекты CFile .

Дополнительные сведения об управлении потоками и хранилищами см. в статье Контейнеры: Составные файлы..

Дополнительные сведения см. в статье IStream и IStorage в пакете SDK для Windows.

Иерархия наследования

CObject

CFile

COleStreamFile

Требования

Заголовок: afxole.h

COleStreamFile::Attach

Связывает предоставленный поток OLE с COleStreamFile объектом.

void Attach(LPSTREAM lpStream);

Параметры

lpStream
Указывает на поток OLE (IStream), связанный с объектом. Не может быть NULL.

Замечания

Объект не должен быть связан с потоком OLE.

Дополнительные сведения см. в разделе IStream в пакете SDK для Windows.

COleStreamFile::COleStreamFile

Создает объект COleStreamFile.

COleStreamFile(LPSTREAM lpStream = NULL);

Параметры

lpStream
Указатель на поток OLE, связанный с объектом.

Замечания

Если значение lpStream равно NULL, объект не связан с потоком OLE, в противном случае объект связан с предоставленным потоком OLE.

Дополнительные сведения см. в разделе IStream в пакете SDK для Windows.

COleStreamFile::CreateMemoryStream

Безопасно создает новый поток из глобальной общей памяти, где сбой является нормальным, ожидаемым условием.

BOOL CreateMemoryStream(CFileException* pError = NULL);

Параметры

pError
Указывает на объект CFileException или NULL, указывающий состояние завершения операции создания. Укажите этот параметр, если вы хотите отслеживать возможные исключения, созданные путем попытки создать поток.

Возвращаемое значение

Ненулевое значение, если поток создан успешно; в противном случае — 0.

Замечания

Память выделяется подсистемой OLE.

Дополнительные сведения см. в статье CreateStreamOnHGlobal в пакете SDK для Windows.

COleStreamFile::CreateStream

Безопасно создает новый поток в предоставленном объекте хранилища, где сбой является нормальным, ожидаемым условием.

BOOL CreateStream(
    LPSTORAGE lpStorage,
    LPCTSTR lpszStreamName,
    DWORD nOpenFlags = modeReadWrite|shareExclusive|modeCreate,
    CFileException* pError = NULL);

Параметры

lpStorage
Указывает на объект хранилища OLE, содержащий созданный поток. Не может быть NULL.

lpszStreamName
Имя создаваемого потока. Не может быть NULL.

nOpenFlags
Режим доступа, используемый при открытии потока. По умолчанию используются монопольные режимы чтения и записи и создания. Полный список доступных режимов см. в разделе CFile::CFile.

pError
Указывает на объект CFileException или NULL. Укажите этот параметр, если вы хотите отслеживать возможные исключения, созданные путем попытки создать поток.

Возвращаемое значение

Ненулевое значение, если поток создан успешно; в противном случае — 0.

Замечания

Исключение файла возникает, если открытие завершается ошибкой, и pError не имеет значения NULL.

Дополнительные сведения см. в разделе IStorage::CreateStream в пакете SDK для Windows.

COleStreamFile::D etach

Отсоединяет поток от объекта, не закрывая поток.

LPSTREAM Detach();

Возвращаемое значение

Указатель на поток (IStream), связанный с объектом.

Замечания

Перед завершением программы поток должен быть закрыт в другом режиме.

Дополнительные сведения см. в разделе IStream в пакете SDK для Windows.

COleStreamFile::GetStream

Вызовите эту функцию, чтобы вернуть указатель на текущий поток.

IStream* GetStream() const;

Возвращаемое значение

Указатель на текущий интерфейс потока ( IStream).

COleStreamFile::OpenStream

Открывает существующий поток.

BOOL OpenStream(
    LPSTORAGE lpStorage,
    LPCTSTR lpszStreamName,
    DWORD nOpenFlags = modeReadWrite|shareExclusive,
    CFileException* pError = NULL);

Параметры

lpStorage
Указывает на объект хранилища OLE, содержащий поток, который должен быть открыт. Не может быть NULL.

lpszStreamName
Имя открываемого потока. Не может быть NULL.

nOpenFlags
Режим доступа, используемый при открытии потока. По умолчанию используются монопольные и режимы чтения и записи. Полный список доступных режимов см. в разделе CFile::CFile.

pError
Указывает на объект CFileException или NULL. Укажите этот параметр, если вы хотите отслеживать возможные исключения, созданные путем попытки открыть поток.

Возвращаемое значение

Ненулевое значение, если поток открыт успешно; в противном случае — 0.

Замечания

Исключение файла возникает, если открытие завершается ошибкой, и pError не имеет значения NULL.

Дополнительные сведения см. в разделе IStorage::OpenStream в пакете SDK для Windows.

См. также

Класс CFile
Диаграмма иерархии