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 中的 IStream 和 I儲存體 。
繼承階層架構
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);
參數
lp儲存體
指向包含要建立之資料流程的 OLE 儲存物件。 不可以是 NULL。
lpszStreamName
要建立之資料流程的名稱。 不可以是 NULL。
nOpenFlags
開啟資料流程時要使用的存取模式。 預設會使用獨佔、讀取/寫入和建立模式。 如需可用模式的完整清單,請參閱 CFile::CFile 。
pError
指向 CFileException 物件或 Null。 如果您想要監視嘗試建立資料流程所產生的可能例外狀況,請提供此參數。
傳回值
如果成功建立資料流程,則為非零;否則為 0。
備註
如果開啟失敗且 pError 不是 Null,則會擲回檔案例外狀況。
如需詳細資訊,請參閱 Windows SDK 中的 I儲存體::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);
參數
lp儲存體
指向包含要開啟之資料流程的 OLE 儲存物件。 不可以是 NULL。
lpszStreamName
要開啟之資料流程的名稱。 不可以是 NULL。
nOpenFlags
開啟資料流程時要使用的存取模式。 預設會使用獨佔和讀取/寫入模式。 如需可用模式的完整清單,請參閱 CFile::CFile 。
pError
指向 CFileException 物件或 Null。 如果您想要監視嘗試開啟資料流程所產生的可能例外狀況,請提供此參數。
傳回值
如果成功開啟資料流程,則為非零;否則為 0。
備註
如果開啟失敗且 pError 不是 Null,則會擲回檔案例外狀況。
如需詳細資訊,請參閱 Windows SDK 中的 I儲存體::OpenStream 。
另請參閱
意見反應
https://aka.ms/ContentUserFeedback。
即將登場:在 2024 年,我們將逐步淘汰 GitHub 問題作為內容的意見反應機制,並將它取代為新的意見反應系統。 如需詳細資訊,請參閱:提交並檢視相關的意見反應