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 IStream
s nomeados por IMoniker
s 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
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