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の本当の目的は、IMonikerによって名前付けされたIStreamに簡単にアクセスできるようにして、ストリームにバインドする必要なく、ストリームにCFile機能を持つことです。

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

ストリームとモニカーの詳細については、Windows SDK の「MFC リファレンスおよび IStream および IMoniker のCOleStreamFileを参照してください。

継承階層

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 を返します。

解説

macintosh では、 lpszURL パラメーターを使用できません。 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 クラス