COleStreamFile 類別

表示在複合檔案中做為 OLE 結構化儲存體之一部分的資料流 (IStream)。

語法

class COleStreamFile : public CFile

成員

公用建構函式

名稱 描述
COleStreamFile::COleStreamFile 建構 COleStreamFile 物件。

公用方法

名稱 描述
COleStreamFile::Attach 將數據流與對象產生關聯。
COleStreamFile::CreateMemoryStream 從全域記憶體建立數據流,並將它與 對象產生關聯。
COleStreamFile::CreateStream 建立數據流,並將它與 對象產生關聯。
COleStreamFile::D etach 將數據流與物件解除關聯。
COleStreamFile::GetStream 傳回目前的數據流。
COleStreamFile::OpenStream 安全地開啟數據流,並將它與 對象產生關聯。

備註

IStorage對象必須先存在,才能開啟或建立數據流,除非它是記憶體數據流。

COleStreamFile 物件操作的方式與 CFile 物件完全相同。

如需操作數據流和記憶體的詳細資訊,請參閱容器:複合檔案一文

如需詳細資訊,請參閱 Windows SDK 中的 IStreamIStorage

繼承階層架構

CObject

CFile

COleStreamFile

需求

標頭: afxole.h

COleStreamFile::Attach

將提供的 OLE 資料流與 COleStreamFile 對象產生關聯。

void Attach(LPSTREAM lpStream);

參數

lpStream
指向要與 對象相關聯的 OLE 資料流 (IStream)。 不可以是 NULL。

備註

物件不能已經與 OLE 數據流相關聯。

如需詳細資訊,請參閱 Windows SDK 中的 IStream

COleStreamFile::COleStreamFile

建立 COleStreamFile 物件。

COleStreamFile(LPSTREAM lpStream = NULL);

參數

lpStream
要與 對象關聯的 OLE 資料流指標。

備註

如果 lpStream 是 NULL,則物件不會與 OLE 數據流相關聯,否則物件會與提供的 OLE 數據流相關聯。

如需詳細資訊,請參閱 Windows SDK 中的 IStream

COleStreamFile::CreateMemoryStream

安全地從全域共用記憶體中建立新的數據流,其中失敗是正常且預期的狀況。

BOOL CreateMemoryStream(CFileException* pError = NULL);

參數

pError
指向 CFileException 物件或 NULL,指出建立作業的完成狀態。 如果您想要監視嘗試建立數據流所產生的可能例外狀況,請提供此參數。

傳回值

如果成功建立數據流,則為非零;否則為 0。

備註

記憶體是由 OLE 子系統所配置。

如需詳細資訊,請參閱 Windows SDK 中的 CreateStreamOnHGlobal

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,則會擲回檔案例外狀況。

如需詳細資訊,請參閱 Windows SDK 中的 IStorage::CreateStream

COleStreamFile::D etach

將數據流與 物件解除關聯,而不關閉數據流。

LPSTREAM Detach();

傳回值

與對象相關聯之數據流 (IStream) 的指標。

備註

在程序終止之前,數據流必須以一些其他方式關閉。

如需詳細資訊,請參閱 Windows SDK 中的 IStream

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,則會擲回檔案例外狀況。

如需詳細資訊,請參閱 Windows SDK 中的 IStorage::OpenStream

另請參閱

CFile 類別
階層架構圖表