Compartir a través de


Clase CMonikerFile

Representa un flujo de datos (IStream) nombrado por un IMoniker.

Sintaxis

class CMonikerFile : public COleStreamFile

Miembros

Constructores públicos

Nombre Descripción
CMonikerFile::CMonikerFile Construye un objeto CMonikerFile.

Métodos públicos

Nombre Descripción
CMonikerFile::Close Desasocia y libera el flujo y libera el moniker.
CMonikerFile::Detach Desasocia el IMoniker de este objeto CMonikerFile.
CMonikerFile::GetMoniker Devuelve el moniker actual.
CMonikerFile::Open Abre el archivo especificado para obtener un flujo.

Métodos protegidos

Nombre Descripción
CMonikerFile::CreateBindContext Obtiene el contexto de enlace o crea un contexto de enlace inicializado predeterminado.

Comentarios

Un moniker contiene información muy similar a un nombre de ruta de acceso a un archivo. Si tiene un puntero a la interfaz IMoniker de un objeto moniker, puede obtener acceso al archivo identificado sin tener ninguna otra información específica sobre dónde se encuentra realmente el archivo.

CMonikerFile, que deriva de COleStreamFile, toma un moniker o una representación de cadena que pueda convertir en un moniker y lo enlaza al flujo para el que el moniker es un nombre. Después, puede leer y escribir en el flujo. El propósito real de CMonikerFile es proporcionar acceso sencillo a IStreams denominados por IMonikers para que no tenga que enlazarse a un flujo usted mismo, pero tiene funciones CFile para las funciones.

CMonikerFile no se puede usar para enlazar a elementos que no sean un flujo. Si quiere enlazar al almacenamiento o a un objeto, debe usar la interfaz del IMoniker directamente.

Para obtener más información sobre los flujos y los monikers, vea COleStreamFile en la referencia de MFC e IStream e IMoniker en Windows SDK.

Jerarquía de herencia

CObject

CFile

COleStreamFile

CMonikerFile

Requisitos

Encabezado: afxole.h

CMonikerFile::Close

Llame a esta función para desasociar y liberar el flujo y liberar el moniker.

virtual void Close();

Comentarios

Se puede llamar a la función en flujos no abiertos o ya cerrados.

CMonikerFile::CMonikerFile

Construye un objeto CMonikerFile.

CMonikerFile();

CMonikerFile::CreateBindContext

Llame a esta función para crear un contexto de enlace inicializado predeterminado.

IBindCtx* CreateBindContext(CFileException* pError);

Parámetros

pError
Puntero a una excepción de archivo. En caso de error, se establecerá en la causa.

Valor devuelto

Puntero al contexto de enlace IBindCtx con el que se enlazará si se ejecuta correctamente; en caso contrario, NULL. Si la instancia se ha abierto con una interfaz IBindHost, el contexto de enlace se recupera de IBindHost. Si no hay ninguna interfaz IBindHost o la interfaz no devuelve un contexto de enlace, se crea un contexto de enlace. Para leer una descripción de la interfaz IBindHost, vea Windows SDK.

Comentarios

Un contexto de enlace es un objeto que almacena información sobre una operación de enlace de moniker determinada. Puede invalidar esta función para proporcionar un contexto de enlace personalizado.

CMonikerFile::Detach

Llame a esta función para cerrar el flujo.

BOOL Detach(CFileException* pError = NULL);

Parámetros

pError
Puntero a una excepción de archivo. En caso de error, se establecerá en la causa.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

CMonikerFile::GetMoniker

Llame a esta función para recuperar un puntero en el moniker actual.

IMoniker* GetMoniker() const;

Valor devuelto

Puntero a la interfaz de moniker actual (IMoniker).

Comentarios

Puesto que CMonikerFile no es una interfaz, el puntero devuelto no incrementa el recuento de referencias (mediante AddRef), y el moniker se libera al mismo tiempo que el objeto CMonikerFile. Si quiere conservar el moniker o liberarlo usted mismo, debe AddRef.

CMonikerFile::Open

Llame a esta función miembro para abrir un archivo o un objeto moniker.

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

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

Parámetros

lpszURL
Dirección URL o nombre de archivo del archivo que se abrirá.

pError
Puntero a una excepción de archivo. En caso de error, se establecerá en la causa.

pMoniker
Puntero a la interfaz de moniker IMoniker que se usará para obtener un flujo.

Valor devuelto

Si es correcta, su valor es distinto de cero. En caso contrario, es cero.

Comentarios

El parámetro lpszURL no se puede usar en Macintosh. Solo se puede usar la forma pMoniker de Open.

Puede usar una dirección URL o un nombre de archivo para el parámetro lpszURL. Por ejemplo:

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

O bien

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

Consulte también

COleStreamFile (clase)
Gráfico de jerarquías
CAsyncMonikerFile (clase)