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 を参照してください。
継承階層
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 」を参照してください。