Compartilhar via


Classe CMonikerFile

Representa um fluxo de dados ( IStream) nomeado por um IMoniker.

Sintaxe

class CMonikerFile : public COleStreamFile

Membros

Construtores públicos

Nome Descrição
CMonikerFile::CMonikerFile Constrói um objeto CMonikerFile.

Métodos públicos

Nome Descrição
CMonikerFile::Close Desanexa e libera o fluxo e libera o moniker.
CMonikerFile::Detach Desanexa o IMoniker deste objeto CMonikerFile.
CMonikerFile::GetMoniker Retorna o moniker atual.
CMonikerFile::Open Abre o arquivo especificado para obter um fluxo.

Métodos protegidos

Nome Descrição
CMonikerFile::CreateBindContext Obtém o contexto de associação ou cria um contexto de associação inicializado padrão.

Comentários

Um moniker contém informações muito semelhantes a um nome de caminho para um arquivo. Se você tiver um ponteiro para a interface IMoniker de um objeto moniker, poderá obter acesso ao arquivo identificado sem ter nenhuma outra informação específica sobre onde o arquivo está realmente localizado.

Derivado de COleStreamFile, CMonikerFile usa um moniker ou uma representação de cadeia de caracteres que ele pode transformar em um moniker e então os associa ao fluxo do qual o moniker é um nome. Em seguida, você pode ler e gravar nesse fluxo. O objetivo real de CMonikerFile é fornecer acesso simples a IStreams nomeados por IMonikers para que você não precise se associar a um fluxo por conta própria, mas tenha funcionalidade CFile para o fluxo.

CMonikerFile não pode ser usado para associar nada que não seja um fluxo. Se você quiser associar ao armazenamento ou a um objeto, deverá usar a interface IMoniker diretamente.

Para obter mais informações sobre fluxos e monikers, consulte COleStreamFile na Referência do MFC e IStream e IMoniker no SDK do Windows.

Hierarquia de herança

CObject

CFile

COleStreamFile

CMonikerFile

Requisitos

Cabeçalho: afxole.h

CMonikerFile::Close

Chame essa função para desanexar e liberar o fluxo e liberar o moniker.

virtual void Close();

Comentários

Pode ser chamado em fluxos não abertos ou já fechados.

CMonikerFile::CMonikerFile

Constrói um objeto CMonikerFile.

CMonikerFile();

CMonikerFile::CreateBindContext

Chame essa função para criar um contexto de associação inicializado padrão.

IBindCtx* CreateBindContext(CFileException* pError);

Parâmetros

pError
Um ponteiro para uma exceção de arquivo. No caso de um erro, ele será definido como a causa.

Valor de retorno

Um ponteiro para o contexto de associação IBindCtx a ser associado se tiver êxito; caso contrário, NULL. Se a instância tiver sido aberta com uma interface IBindHost, o contexto de associação será recuperado do IBindHost. Se não houver nenhuma interface IBindHost, ou se a interface não retornar um contexto de associação, um contexto de associação será criado. Para obter uma descrição da interface IBindHost, consulte o SDK do Windows.

Comentários

Um contexto de associação é um objeto que armazena informações sobre uma operação de associação de moniker específica. Você pode substituir essa função para fornecer um contexto de associação personalizado.

CMonikerFile::Detach

Chame essa função para fechar o fluxo.

BOOL Detach(CFileException* pError = NULL);

Parâmetros

pError
Um ponteiro para uma exceção de arquivo. No caso de um erro, ele será definido como a causa.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

CMonikerFile::GetMoniker

Chame essa função para recuperar um ponteiro para o moniker atual.

IMoniker* GetMoniker() const;

Valor de retorno

Um ponteiro para a interface do moniker atual ( IMoniker).

Comentários

Como CMonikerFile não é uma interface, o ponteiro retornado não incrementa a contagem de referência (por meio de AddRef), e o moniker é liberado quando o objeto CMonikerFile é liberado. Se você quiser segurar o moniker ou liberá-lo você mesmo, você deve AddRef.

CMonikerFile::Open

Chame essa função membro para abrir um arquivo ou um objeto moniker.

virtual BOOL Open(
    LPCTSTR lpszURL,
    CFileException* pError = NULL);

virtual BOOL Open(
    IMoniker* pMoniker,
    CFileException* pError = NULL);

Parâmetros

lpszURL
Uma URL ou nome do arquivo a ser aberto.

pError
Um ponteiro para uma exceção de arquivo. No caso de um erro, ele será definido como a causa.

pMoniker
Um ponteiro para a interface IMoniker do moniker a ser usada para obter um fluxo.

Valor de retorno

Diferente de zero se tiver êxito; caso contrário, 0.

Comentários

O parâmetro lpszURL não pode ser usado em um Macintosh. Somente a forma pMoniker de Open pode ser usada em um Macintosh.

Você pode usar uma URL ou um nome de arquivo para o parâmetro lpszURL. Por exemplo:

CMyMoniker* pMyMoniker = new CMyMoniker();
pMyMoniker->Open(_T("http://www.microsoft.com"));

- ou -

CMyMoniker* pMyMoniker = new CMyMoniker();
pMyMoniker->Open(_T("file:c:\\mydata.dat"));

Confira também

Classe COleStreamFile
Gráfico da hierarquia
Classe CAsyncMonikerFile