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