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 和 IStorage 。
繼承階層架構
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 。