Método IStorage::OpenStream (objidl.h)
El método OpenStream abre un objeto de secuencia existente dentro de este objeto de almacenamiento en el modo de acceso especificado.
Sintaxis
HRESULT OpenStream(
[in] const OLECHAR *pwcsName,
[in] void *reserved1,
[in] DWORD grfMode,
[in] DWORD reserved2,
[out] IStream **ppstm
);
Parámetros
[in] pwcsName
Puntero a una cadena Unicode terminada en null de caracteres anchos que contiene el nombre de la secuencia que se va a abrir. Los caracteres 000 a 01f, que actúan como el primer carácter del nombre de la secuencia/almacenamiento, se reservan para uso de OLE. Es una restricción de archivo compuesto, no una restricción de almacenamiento estructurado.
[in] reserved1
Reservado para uso futuro; debe ser NULL.
[in] grfMode
Especifica el modo de acceso que se va a asignar a la secuencia abierta. Para obtener más información y descripciones de los valores posibles, vea StGM Constants. Otros modos que elija deben especificar al menos STGM_SHARE_EXCLUSIVE al llamar a este método en la implementación de archivo compuesto.
[in] reserved2
Reservado para uso futuro; debe ser cero.
[out] ppstm
Puntero a la variable de puntero IStream que recibe el puntero de interfaz al objeto de secuencia recién abierto. Si se produce un error, *ppstm debe establecerse en NULL.
Valor devuelto
Este método puede devolver uno de estos valores.
Código devuelto | Descripción |
---|---|
S_OK | La secuencia se abrió correctamente. |
E_PENDING | Solo almacenamiento asincrónico: la parte o todos los datos del flujo no están disponibles actualmente. |
STG_E_ACCESSDENIED | No hay permisos suficientes para abrir el flujo. |
STG_E_FILENOTFOUND | La secuencia con el nombre especificado no existe. |
STG_E_INSUFFICIENTMEMORY | La secuencia no se abrió debido a una falta de memoria. |
STG_E_INVALIDFLAG | El valor especificado para el parámetro grfMode no es un valor de constantes STGM válido. |
STG_E_INVALIDFUNCTION | No se admite la combinación especificada de marcas en el parámetro grfMode ; Por ejemplo, cuando se llama a este método sin la marca STGM_SHARE_EXCLUSIVE. |
STG_E_INVALIDNAME | Valor no válido para pwcsName. |
STG_E_INVALIDPOINTER | El puntero especificado para el objeto de secuencia no era válido. |
STG_E_INVALIDPARAMETER | Uno de los parámetros no era válido. |
STG_E_REVERTED | Una operación de reversión por encima de él ha invalidado el objeto de almacenamiento en el árbol de transacciones. |
STG_E_TOOMANYOPENFILES | La secuencia no se abrió porque hay demasiados archivos abiertos. |
Comentarios
IStorage::OpenStream abre un objeto de secuencia existente dentro de este objeto de almacenamiento en el modo de acceso especificado en grfMode. Existen restricciones en los permisos que se pueden proporcionar en grfMode. Por ejemplo, los permisos de este objeto de almacenamiento restringen los permisos en sus secuencias. En general, las restricciones de acceso en los flujos deben ser más estrictas que las de sus almacenamientos primarios. Las secuencias de archivos compuestos deben abrirse con STGM_SHARE_EXCLUSIVE.
Requisitos
Requisito | Value |
---|---|
Cliente mínimo compatible | Windows 2000 Professional [aplicaciones de escritorio | Aplicaciones para UWP] |
Servidor mínimo compatible | Windows 2000 Server [aplicaciones de escritorio | Aplicaciones para UWP] |
Plataforma de destino | Windows |
Encabezado | objidl.h |
Library | Uuid.lib |
Archivo DLL | Ole32.dll |