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 オブジェクトとまったく同じように操作されます。

ストリームとストレージの操作の詳細については、「 Containers: 複合ファイル..」を参照してください。

詳細については、Windows SDK の IStream および IStorage を参照してください。

継承階層

CObject

CFile

COleStreamFile

要件

ヘッダー: afxole.h

COleStreamFile::Attach

指定した OLE ストリームを COleStreamFile オブジェクトに関連付けます。

void Attach(LPSTREAM lpStream);

パラメーター

lpStream
オブジェクトに関連付ける OLE ストリーム (IStream) をポイントします。 Nll は指定できません。

解説

オブジェクトが 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 以外。それ以外の場合は 0。

解説

メモリは OLE サブシステムによって割り当てられます。

詳細については、Windows SDK の「 CreateStreamOnHGlobal 」を参照してください。

COleStreamFile::CreateStream

指定されたストレージ オブジェクトに新しいストリームを安全に作成します。エラーは通常の予期される状態です。

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

パラメーター

lpStorage
作成するストリームを含む OLE ストレージ オブジェクトをポイントします。 Nll は指定できません。

lpszStreamName
作成するストリームの名前。 Nll は指定できません。

nOpenFlags
ストリームを開くときに使用するアクセス モード。 既定では、排他モード、読み取り/書き込みモード、作成モードが使用されます。 使用可能なモードの完全な一覧については、「 CFile::CFileを参照してください。

pError
CFileException オブジェクトまたは NULL を指します。 ストリームの作成を試みることによって生成される可能性のある例外を監視する場合は、このパラメーターを指定します。

戻り値

ストリームが正常に作成された場合は 0 以外。それ以外の場合は 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 ストレージ オブジェクトをポイントします。 Nll は指定できません。

lpszStreamName
開くストリームの名前。 Nll は指定できません。

nOpenFlags
ストリームを開くときに使用するアクセス モード。 既定では、排他モードと読み取り/書き込みモードが使用されます。 使用可能なモードの完全な一覧については、「 CFile::CFileを参照してください。

pError
CFileException オブジェクトまたは NULL を指します。 ストリームを開こうとして生成される可能性のある例外を監視する場合は、このパラメーターを指定します。

戻り値

ストリームが正常に開かれた場合は 0 以外。それ以外の場合は 0。

解説

開いているファイルが失敗し、 pError が NULL でない場合、ファイル例外がスローされます。

詳細については、Windows SDK の「 IStorage::OpenStream 」を参照してください。

関連項目

CFile クラス
階層図