CMonikerFile クラス

IMoniker によって名前付けされたデータ (IStream) のストリームを表します。

構文

class CMonikerFile : public COleStreamFile

メンバー

パブリック コンストラクター

名前 説明
CMonikerFile::CMonikerFile CMonikerFile オブジェクトを構築します。

パブリック メソッド

名前 説明
CMonikerFile::Close ストリームをデタッチして解放し、モニカーを解放します。
CMonikerFile::D etach このCMonikerFileオブジェクトからデタッチIMonikerします。
CMonikerFile::GetMoniker 現在のモニカーを返します。
CMonikerFile::Open 指定したファイルを開いてストリームを取得します。

保護メソッド

名前 説明
CMonikerFile::CreateBindContext バインド コンテキストを取得するか、既定の初期化されたバインド コンテキストを作成します。

解説

モニカーには、ファイルへのパス名とよく似た情報が含まれています。 モニカー オブジェクトの IMoniker インターフェイスへのポインターがある場合は、ファイルが実際に配置されている場所に関する他の特定の情報を持たずに、識別されたファイルにアクセスできます。

から COleStreamFile派生し、 CMonikerFile モニカーまたはモニカーにできる文字列表現を受け取り、モニカーが名前であるストリームにバインドします。 その後、そのストリームの読み取りと書き込みを行うことができます。 実際のCMonikerFile目的は、自分でストリームにバインドする必要なく、ストリームにIStream機能を持CFileたないように、s によって名前付けされた IMonikers への単純なアクセスを提供することです。

CMonikerFile を使用してストリーム以外にバインドすることはできません。 ストレージまたはオブジェクトにバインドする場合は、インターフェイスを直接使用する IMoniker 必要があります。

ストリームとモニカーの詳細については、MFC リファレンスの COleStreamFileWindows SDK の IStreamIMoniker を参照してください。

継承階層

CObject

Cfile

COleStreamFile

CMonikerFile

必要条件

ヘッダー: afxole.h

CMonikerFile::Close

ストリームをデタッチして解放し、モニカーを解放するには、この関数を呼び出します。

virtual void Close();

解説

開いていないストリームまたは既に閉じているストリームで呼び出すことができます。

CMonikerFile::CMonikerFile

CMonikerFile オブジェクトを構築します。

CMonikerFile();

CMonikerFile::CreateBindContext

既定の初期化されたバインド コンテキストを作成するには、この関数を呼び出します。

IBindCtx* CreateBindContext(CFileException* pError);

パラメーター

pError
ファイル例外へのポインター。 エラーが発生した場合は、原因に設定されます。

戻り値

成功した場合にバインドするバインド コンテキスト IBindCtx へのポインター。それ以外の場合は NULL。 インスタンスがインターフェイスを使用して IBindHost 開かれた場合、バインド コンテキストは IBindHost. インターフェイスがない IBindHost 場合、またはインターフェイスがバインド コンテキストを返さない場合は、バインド コンテキストが作成されます。 IBindHost インターフェイスの説明については、Windows SDK を参照してください。

解説

バインド コンテキストは、特定のモニカー バインド操作に関する情報を格納するオブジェクトです。 この関数をオーバーライドして、カスタム バインド コンテキストを提供できます。

CMonikerFile::D etach

ストリームを閉じるには、この関数を呼び出します。

BOOL Detach(CFileException* pError = NULL);

パラメーター

pError
ファイル例外へのポインター。 エラーが発生した場合は、原因に設定されます。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

CMonikerFile::GetMoniker

現在のモニカーへのポインターを取得するには、この関数を呼び出します。

IMoniker* GetMoniker() const;

戻り値

現在のモニカー インターフェイス ( IMoniker) へのポインター。

解説

CMonikerFileインターフェイスではないため、返されるポインターは (AddRef を介して) 参照カウントをインクリメントせず、オブジェクトが解放されるとCMonikerFileモニカーが解放されます。 モニカーを保持したり、自分で解放したりする場合は、それを行う必要があります AddRef

CMonikerFile::Open

このメンバー関数を呼び出して、ファイルまたはモニカー オブジェクトを開きます。

virtual BOOL Open(
    LPCTSTR lpszURL,
    CFileException* pError = NULL);

virtual BOOL Open(
    IMoniker* pMoniker,
    CFileException* pError = NULL);

パラメーター

lpszURL
開くファイルの URL またはファイル名。

pError
ファイル例外へのポインター。 エラーが発生した場合は、原因に設定されます。

pMoniker
ストリームを取得するために使用するモニカー インターフェイス IMoniker へのポインター。

戻り値

正常終了した場合は 0 以外を返します。それ以外の場合は 0 を返します。

解説

lpszURL パラメーターは Macintosh では使用できません。 Macintosh では pMoniker 形式Openのみを使用できます。

lpszURL パラメーターには URL またはファイル名を使用できます。 次に例を示します。

CMyMoniker* pMyMoniker = new CMyMoniker();
pMyMoniker->Open(_T("http://www.microsoft.com"));

または

CMyMoniker* pMyMoniker = new CMyMoniker();
pMyMoniker->Open(_T("file:c:\\mydata.dat"));

関連項目

COleStreamFile クラス
階層図
CAsyncMonikerFile クラス