Clase COleStreamFile

Representa una secuencia de datos (IStream) en un archivo compuesto como parte de almacenamiento estructurado OLE.

Sintaxis

class COleStreamFile : public CFile

Miembros

Constructores públicos

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

Métodos públicos

Nombre Descripción
COleStreamFile::Attach Asocia una secuencia al objeto.
COleStreamFile::CreateMemoryStream Crea una secuencia a partir de la memoria global y la asocia al objeto.
COleStreamFile::CreateStream Crea una secuencia y la asocia al objeto.
COleStreamFile::Detach Desasocia la secuencia del objeto.
COleStreamFile::GetStream Devuelve la secuencia actual.
COleStreamFile::OpenStream Abre una secuencia de manera segura y la asocia al objeto.

Comentarios

Debe existir un objeto IStorage para poder abrir o crear la secuencia, a menos que se trate de una secuencia de memoria.

Los objetos COleStreamFile se manipulan exactamente igual que los objetos CFile.

Para más información sobre cómo manipular secuencias y almacenamientos, consulte el artículo Contenedores: Archivos compuestos.

Para más información, consulte IStream e IStorage en Windows SDK.

Jerarquía de herencia

CObject

CFile

COleStreamFile

Requisitos

Encabezado: afxole.h

COleStreamFile::Attach

Asocia la secuencia OLE proporcionada al objeto COleStreamFile.

void Attach(LPSTREAM lpStream);

Parámetros

lpStream
Apunta a la secuencia OLE (IStream) que se va a asociar al objeto. No puede ser NULL.

Comentarios

El objeto no puede estar asociado ya a una secuencia OLE.

Para más información, consulte IStream en Windows SDK.

COleStreamFile::COleStreamFile

Crea un objeto COleStreamFile.

COleStreamFile(LPSTREAM lpStream = NULL);

Parámetros

lpStream
Apunta a la secuencia OLE que se va a asociar al objeto.

Comentarios

Si lpStream es NULL, el objeto no está asociado a una secuencia OLE; de lo contrario, el objeto está asociado a la secuencia OLE proporcionada.

Para más información, consulte IStream en Windows SDK.

COleStreamFile::CreateMemoryStream

Crea de manera segura una secuencia nueva fuera de la memoria compartida global en la que un error es una condición normal y esperada.

BOOL CreateMemoryStream(CFileException* pError = NULL);

Parámetros

pError
Apunta a un objeto CFileException, o bien NULL que indica el estado de finalización de la operación de creación. Proporcione este parámetro si desea supervisar las posibles excepciones generadas al intentar crear la secuencia.

Valor devuelto

Distinto de cero si la secuencia se crea correctamente; de lo contrario, 0.

Comentarios

El subsistema OLE asigna la memoria.

Para más información, consulte CreateStreamOnHGlobal en Windows SDK.

COleStreamFile::CreateStream

Crea de manera segura una secuencia nueva en el objeto de almacenamiento suministrado en el que un error es una condición normal y esperada.

BOOL CreateStream(
    LPSTORAGE lpStorage,
    LPCTSTR lpszStreamName,
    DWORD nOpenFlags = modeReadWrite|shareExclusive|modeCreate,
    CFileException* pError = NULL);

Parámetros

lpStorage
Apunta al objeto de almacenamiento OLE que contiene la secuencia que se va a crear. No puede ser NULL.

lpszStreamName
Nombre del flujo que se va a crear. No puede ser NULL.

nOpenFlags
Modo de acceso que se usará al abrir la secuencia. Los modos exclusivo, de lectura y escritura, y de creación se usan de manera predeterminada. Para una lista completa de los módulos disponibles, consulte CFile::CFile.

pError
Apunta a un objeto CFileException o NULL. Proporcione este parámetro si desea supervisar las posibles excepciones generadas al intentar crear la secuencia.

Valor devuelto

Distinto de cero si la secuencia se crea correctamente; de lo contrario, 0.

Comentarios

Se generará una excepción de archivo si ocurre un error en la apertura y pError no es NULL.

Para más información, consulte IStorage::CreateStream en Windows SDK.

COleStreamFile::Detach

Desasocia la secuencia del objeto sin cerrarla.

LPSTREAM Detach();

Valor devuelto

Puntero a la secuencia (IStream) que se asoció al objeto.

Comentarios

La secuencia se debe cerrar de alguna otra manera antes de que finalice el programa.

Para más información, consulte IStream en Windows SDK.

COleStreamFile::GetStream

Llame a esta función para devolver un puntero a la secuencia actual.

IStream* GetStream() const;

Valor devuelto

Puntero a la interfaz de secuencia actual (IStream).

COleStreamFile::OpenStream

Abre una secuencia existente.

BOOL OpenStream(
    LPSTORAGE lpStorage,
    LPCTSTR lpszStreamName,
    DWORD nOpenFlags = modeReadWrite|shareExclusive,
    CFileException* pError = NULL);

Parámetros

lpStorage
Apunta al objeto de almacenamiento OLE que contiene la secuencia que se va a abrir. No puede ser NULL.

lpszStreamName
Nombre de la secuencia que se va a abrir. No puede ser NULL.

nOpenFlags
Modo de acceso que se usará al abrir la secuencia. Los modos exclusivo y de lectura y escritura se usan de manera predeterminada. Para la lista completa de los módulos disponibles, consulte CFile::CFile.

pError
Apunta a un objeto CFileException o NULL. Proporcione este parámetro si desea supervisar las posibles excepciones generadas al intentar abrir la secuencia.

Valor devuelto

Distinto de cero si la secuencia se abre correctamente; de lo contrario, 0.

Comentarios

Se generará una excepción de archivo si ocurre un error en la apertura y pError no es NULL.

Para más información, consulte IStorage::OpenStream en Windows SDK.

Consulte también

CFile (clase)
Gráfico de jerarquías