Класс CMonikerFile
Представляет поток данных ( IStream) с именем IMoniker.
Синтаксис
class CMonikerFile : public COleStreamFile
Участники
Открытые конструкторы
Имя | Описание |
---|---|
CMonikerFile::CMonikerFile | Формирует объект CMonikerFile . |
Открытые методы
Имя | Описание |
---|---|
CMonikerFile::Close | Отсоединяет и освобождает поток и освобождает моникер. |
CMonikerFile::D etach | Отсоединяет IMoniker объект от этого CMonikerFile объекта. |
CMonikerFile::GetMoniker | Возвращает текущий моникер. |
CMonikerFile::Open | Открывает указанный файл для получения потока. |
Защищенные методы
Имя | Описание |
---|---|
CMonikerFile::CreateBindContext | Получает контекст привязки или создает контекст инициализированной привязки по умолчанию. |
Замечания
Моникер содержит сведения так же, как имя пути к файлу. Если у вас есть указатель на интерфейс моникера IMoniker
, вы можете получить доступ к определенному файлу без каких-либо других конкретных сведений о расположении файла.
Производный от COleStreamFile
, CMonikerFile
принимает моникер или строковое представление, которое он может сделать в моникер и привязывается к потоку, для которого моникер является именем. Затем вы можете читать и записывать в этот поток. Реальная цель CMonikerFile
состоит в том, чтобы предоставить простой доступ к IStream
именованным IMoniker
s, чтобы вам не нужно привязаться к потоку самостоятельно, но у вас есть CFile
функциональные возможности для потока.
CMonikerFile
нельзя использовать для привязки ко всему, кроме потока. Если вы хотите привязаться к хранилищу или объекту, необходимо использовать интерфейс напрямую IMoniker
.
Дополнительные сведения о потоках и моникерах см. в справочнике по MFC и IStream и IMoniker в пакете SDK для Windows.
Иерархия наследования
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 см. в пакете SDK для Windows.
Замечания
Контекст привязки — это объект, в который хранятся сведения о определенной операции привязки моникера. Эту функцию можно переопределить для предоставления пользовательского контекста привязки.
CMonikerFile::D etach
Вызовите эту функцию, чтобы закрыть поток.
BOOL Detach(CFileException* pError = NULL);
Параметры
pError
Указатель на исключение файла. В случае ошибки будет задана причина.
Возвращаемое значение
Имеет ненулевое значение в случае успешного выполнения, иначе — 0.
CMonikerFile::GetMoniker
Вызовите эту функцию, чтобы получить указатель на текущий моникер.
IMoniker* GetMoniker() const;
Возвращаемое значение
Указатель на текущий моникерный интерфейс ( IMoniker).
Замечания
Так как CMonikerFile
не является интерфейсом, возвращаемый указатель не увеличивает число ссылок (через AddRef), а моникер освобождается при CMonikerFile
освобождении объекта. Если вы хотите держаться на моникере или освободить его самостоятельно, вы должны AddRef
это сделать.
CMonikerFile::Open
Вызовите эту функцию-член, чтобы открыть файл или объект moniker.
virtual BOOL Open(
LPCTSTR lpszURL,
CFileException* pError = NULL);
virtual BOOL Open(
IMoniker* pMoniker,
CFileException* pError = NULL);
Параметры
lpszURL
URL-адрес или имя файла, который необходимо открыть.
pError
Указатель на исключение файла. В случае ошибки будет задана причина.
pMoniker
Указатель на моникерный интерфейс IMoniker
, используемый для получения потока.
Возвращаемое значение
Имеет ненулевое значение в случае успешного выполнения, иначе — 0.
Замечания
Параметр lpszURL нельзя использовать в Macintosh. В Macintosh можно использовать только форму Open
pMoniker.
Для параметра 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