Método IPropertySetStorage::Open (propidl.h)
El método Open abre un conjunto de propiedades contenido en el objeto de almacenamiento del conjunto de propiedades.
Sintaxis
HRESULT Open(
[in] REFFMTID rfmtid,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg
);
Parámetros
[in] rfmtid
Identificador de formato (FMTID) de la propiedad que se va a abrir. Para obtener más información sobre fmtiD conocidos y predefinidos en el SDK de plataforma, consulte Identificadores de formato de conjunto de propiedades predefinidos.
[in] grfMode
Modo de acceso en el que se va a abrir el conjunto de propiedades recién creado. Estas marcas se toman de constantes STGM. Las marcas que se pueden usar y sus significados en el contexto de este método se describen en la sección Comentarios siguiente.
[out] ppprstg
Puntero a la variable de puntero IPropertyStorage que recibe el puntero de interfaz al subobjeto de almacenamiento de propiedades solicitado.
Valor devuelto
Este método admite el valor devuelto estándar E_UNEXPECTED, además de lo siguiente:
Comentarios
El modo en el que se va a abrir el conjunto de propiedades se especifica en el parámetro grfMode. Estas marcas se toman de constantes STGM, pero, para este método, los valores legales y sus significados son los siguientes (solo ciertas combinaciones de estos valores de marca son legales).
Valor | Significado |
---|---|
STGM_DIRECT | Abre el conjunto de propiedades sin un nivel adicional de anidamiento de transacciones. Este es el valor predeterminado (el comportamiento si no se especifica ni STGM_DIRECT ni STGM_TRANSACTED). |
STGM_TRANSACTED | Abre el conjunto de propiedades con un nivel adicional de anidamiento de transacciones (más allá de la transacción, si existe, en este objeto de almacenamiento del conjunto de propiedades). El modo de transacción solo está disponible para conjuntos de propiedades nomple. Los cambios en el conjunto de propiedades deben confirmarse con una llamada a IPropertyStorage::Commit antes de que sean visibles para la transacción en este almacenamiento del conjunto de propiedades. |
STGM_READ | Abre el conjunto de propiedades con acceso de lectura. El permiso de lectura es necesario en el almacenamiento del conjunto de propiedades. |
STGM_WRITE | Abre el conjunto de propiedades con acceso de escritura. No todas las implementaciones de IPropertyStorage admiten este modo. |
STGM_READWRITE | Abre el conjunto de propiedades con acceso de lectura y escritura. Tenga en cuenta que esta marca no es el or binario de los valores STGM_READ y STGM_WRITE. |
STGM_SHARE_DENY_NONE | Las aperturas posteriores del conjunto de propiedades de este almacenamiento del conjunto de propiedades no se deniegan el acceso de lectura o escritura. (No está disponible en todas las implementaciones). |
STGM_SHARE_DENY_READ | Se deniega el acceso de lectura a las aperturas posteriores del conjunto de propiedades del conjunto de propiedades. No está disponible en todas las implementaciones. |
STGM_SHARE_DENY_WRITE | Se deniega el acceso de escritura a las aperturas posteriores del conjunto de propiedades del conjunto de propiedades. Este valor se usa normalmente en el modo de transacción para evitar que varios usuarios abran copias innecesarias de un objeto. Es decir, si se especifica STGM_TRANSACTED, pero no se especifica este valor, se realiza una instantánea, tanto si hay aperturas posteriores como si no. Por lo tanto, puede mejorar el rendimiento especificando este valor. No está disponible en todas las implementaciones. |
STGM_SHARE_EXCLUSIVE | Las aperturas posteriores del conjunto de propiedades de este almacenamiento del conjunto de propiedades no son posibles. Tenga en cuenta que este valor no es un or binario simple de los elementos STGM_SHARE_DENY_READ y STGM_SHARE_DENY_WRITE. |
Este método está sujeto a las restricciones del IStorage::OpenStream subyacente (para conjuntos de propiedades simples) o IStorage::OpenStorage (para conjuntos de propiedades nomple). Para obtener más información sobre los conjuntos de propiedades simples y nomples, vea Storage and Stream Objects for a Property Set. Por ejemplo, al usar la implementación IPropertySetStorage-Compound File, debe especificar STGM_SHARE_EXCLUSIVE en el parámetro grfMode en IPropertySetStorage::Open. Por el contrario, si usa la implementación independiente de IPropertySetStorage,IPropertySetStorage::Open está sujeta a restricciones que se aplican al IStorage especificado por el autor de la llamada.
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 | propidl.h (include Objbase.h) |
Library | Uuid.lib |
Archivo DLL | Ole32.dll |