Método IPropertySetStorage::Create (propidl.h)

El método Create crea y abre una nueva propiedad establecida en el objeto de almacenamiento del conjunto de propiedades.

Sintaxis

HRESULT Create(
  [in]  REFFMTID         rfmtid,
  [in]  const CLSID      *pclsid,
  [in]  DWORD            grfFlags,
  [in]  DWORD            grfMode,
  [out] IPropertyStorage **ppprstg
);

Parámetros

[in] rfmtid

FMTID del conjunto de propiedades que se va a crear. Para obtener información sobre fmtiD que son conocidos y predefinidos en el SDK de plataforma, consulte Identificadores de formato de conjunto de propiedades predefinidos.

[in] pclsid

Puntero al CLSID del identificador de clase inicial para este conjunto de propiedades. Puede ser NULL, en cuyo caso se establece en todos los ceros. CLSID es el CLSID de una clase que muestra o proporciona acceso mediante programación a los valores de propiedad. Si no hay ninguna clase de este tipo, se recomienda usar el FMTID.

[in] grfFlags

Valores de constantes PROPSETFLAG.

[in] grfMode

Modo de acceso en el que se abrirá el conjunto de propiedades recién creado, tomado de ciertos valores de STGM_Constants, tal y como se describe en la sección Comentarios siguiente.

[out] ppprstg

Puntero a la variable de salida que recibe el puntero de interfaz IPropertyStorage .

Valor devuelto

Este método admite el valor devuelto estándar E_UNEXPECTED, así como lo siguiente:

Comentarios

IPropertySetStorage::Create crea y abre un nuevo subobjeto de conjunto de propiedades (compatible con la interfaz IPropertyStorage ) contenido en este objeto de almacenamiento del conjunto de propiedades. El conjunto de propiedades contiene automáticamente las propiedades de página de códigos y identificador de configuración regional. Se establecen en Unicode y el valor predeterminado del usuario actual, respectivamente.

El parámetro grfFlags es una combinación de valores tomados de las constantes PROPSETFLAG. Si se usa el valor PROPSETFLAG_ANSI de esta enumeración, la página de códigos se establece en el valor predeterminado del sistema actual, en lugar de Unicode.

El parámetro grfMode especifica el modo de acceso en el que se abrirá el conjunto recién creado. Los valores de este parámetro son como en el parámetro grfMode de IPropertySetStorage::Open, con la adición de los valores enumerados en la tabla siguiente.

Valor Significado
STGM_FAILIFTHERE Si existe otra propiedad establecida con el parámetro fmtid especificado, se produce un error en la llamada. Esta es la acción predeterminada; es decir, a menos que se especifique STGM_CREATE, STGM_FAILIFTHERE está implícito.
STGM_CREATE Si ya existe otra propiedad establecida con el parámetro fmtid especificado, se quita y se reemplaza por esta nueva.
 

El conjunto de propiedades creado es sencillo de forma predeterminada, pero el autor de la llamada puede solicitar un conjunto de propiedades nomple especificando el valor PROPSETFLAG_NONSIMPLE en el parámetro grfFlags . Para obtener más información sobre los conjuntos de propiedades simples y nomples, vea Storage and Stream Objects for a Property Set.

Este método está sujeto a las restricciones del IStorage::CreateStream subyacente (para conjuntos de propiedades simples) o IStorage::CreateStorage (para conjuntos de propiedades nomple). Por ejemplo, al usar la implementación IPropertySetStorage-Compound File, especifique STGM_SHARE_EXCLUSIVE en el parámetro grfMode en IPropertySetStorage::Create. Por el contrario, si usa la implementación independiente de IPropertySetStorage,IPropertySetStorage::Create está sujeto 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

Consulte también

IPropertySetStorage

IPropertySetStorage::Open

Constantes PROPSETFLAG

Muestras

Ejemplo StgCreatePropSetStg

Ejemplo writeRead