CMonikerFile 類別
表示由 IMoniker 命名的數據串流(IStream)。
語法
class CMonikerFile : public COleStreamFile
成員
公用建構函式
名稱 | 描述 |
---|---|
CMonikerFile::CMonikerFile | 建構 CMonikerFile 物件。 |
公用方法
名稱 | 描述 |
---|---|
CMonikerFile::Close | 中斷鏈接並釋放數據流,並釋放Moniker。 |
CMonikerFile::D etach | IMoniker 從這個CMonikerFile 物件卸離 。 |
CMonikerFile::GetMoniker | 傳回目前的Moniker。 |
CMonikerFile::Open | 開啟指定的檔案以取得數據流。 |
受保護的方法
名稱 | 描述 |
---|---|
CMonikerFile::CreateBindContext | 取得系結內容,或建立預設初始化的系結內容。 |
備註
Moniker 包含的資訊非常類似檔案的路徑名稱。 如果您有Moniker物件介面的 IMoniker
指標,您可以存取已識別的檔案,而不需要取得檔案實際所在位置的任何其他特定資訊。
衍生自 COleStreamFile
, CMonikerFile
會採用Moniker或字串表示,它可以轉換成Moniker,並系結至Moniker為名稱的數據流。 然後,您可以讀取和寫入該數據流。 的真正目的是CMonikerFile
要提供由 s 命名IMoniker
的簡單存取IStream
權,讓您不必自行系結至數據流,但具有CFile
數據流的功能。
CMonikerFile
無法用來系結至數據流以外的任何專案。 如果您想要繫結至記憶體或物件,您必須直接使用 IMoniker
介面。
如需數據流和Moniker的詳細資訊,請參閱 Windows SDK 中的 MFC 參考和 IStream 和 IMoniker 中的 COleStreamFile。
繼承階層架構
CMonikerFile
需求
標頭: afxole.h
CMonikerFile::Close
呼叫此函式以卸離和釋放數據流,以及釋放Moniker。
virtual void Close();
備註
可以在未開啟或已關閉的數據流上呼叫。
CMonikerFile::CMonikerFile
建構 CMonikerFile
物件。
CMonikerFile();
CMonikerFile::CreateBindContext
呼叫此函式以建立預設初始化的系結內容。
IBindCtx* CreateBindContext(CFileException* pError);
參數
pError
檔案例外狀況的指標。 如果發生錯誤,則會將它設定為原因。
傳回值
如果成功,系結內容 IBindCtx 的指標,則為 ,否則為 NULL。 如果實例是以 介面開啟 IBindHost
,則會從 IBindHost
擷取系結內容。 IBindHost
如果沒有介面,或介面無法傳回系結內容,則會建立系結內容。 如需 IBindHost 介面的描述,請參閱 Windows SDK。
備註
系結內容是儲存特定Moniker系結作業相關信息的物件。 您可以覆寫此函式以提供自訂系結內容。
CMonikerFile::D etach
呼叫此函式以關閉數據流。
BOOL Detach(CFileException* pError = NULL);
參數
pError
檔案例外狀況的指標。 如果發生錯誤,則會將它設定為原因。
傳回值
如果成功則為非零;否則為 0。
CMonikerFile::GetMoniker
呼叫此函式以擷取目前Moniker的指標。
IMoniker* GetMoniker() const;
傳回值
目前 Moniker 介面的指標( IMoniker)。
備註
由於不是介面,傳 CMonikerFile
回的指標不會遞增參考計數(透過 AddRef),而且 Moniker 會在釋放物件時 CMonikerFile
釋放。 如果您想要保留Moniker或自行釋放它,您必須 AddRef
加以保留。
CMonikerFile::Open
呼叫這個成員函式以開啟檔案或Moniker物件。
virtual BOOL Open(
LPCTSTR lpszURL,
CFileException* pError = NULL);
virtual BOOL Open(
IMoniker* pMoniker,
CFileException* pError = NULL);
參數
lpszURL
要開啟之檔案的 URL 或檔名。
pError
檔案例外狀況的指標。 如果發生錯誤,則會將它設定為原因。
pMoniker
要用來取得數據流之Moniker介面 IMoniker
的指標。
傳回值
如果成功則為非零;否則為 0。
備註
無法在 Macintosh 上使用 lpszURL 參數。 只有的 pMoniker 形式Open
可以在 Macintosh 上使用。
您可以使用 URL 或 lpszURL 參數的檔案名。 例如:
CMyMoniker* pMyMoniker = new CMyMoniker();
pMyMoniker->Open(_T("http://www.microsoft.com"));
- 或 -
CMyMoniker* pMyMoniker = new CMyMoniker();
pMyMoniker->Open(_T("file:c:\\mydata.dat"));