Поделиться через


Класс 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именованным IMonikers, чтобы вам не нужно привязаться к потоку самостоятельно, но у вас есть CFile функциональные возможности для потока.

CMonikerFile нельзя использовать для привязки ко всему, кроме потока. Если вы хотите привязаться к хранилищу или объекту, необходимо использовать интерфейс напрямую IMoniker .

Дополнительные сведения о потоках и моникерах см. в справочнике по MFC и IStream и IMoniker в пакете SDK для Windows.

Иерархия наследования

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 см. в пакете 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