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

O método Create cria e abre um novo conjunto de propriedades no objeto de armazenamento do conjunto de propriedades.

Sintaxe

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

Parâmetros

[in] rfmtid

O FMTID do conjunto de propriedades a ser criado. Para obter informações sobre FMTIDs conhecidos e predefinidos no SDK da Plataforma, consulte Identificadores de formato predefinidos do conjunto de propriedades.

[in] pclsid

Um ponteiro para o CLSID do identificador de classe inicial para esse conjunto de propriedades. Pode ser NULL; nesse caso, ele é definido como todos os zeros. O CLSID é o CLSID de uma classe que exibe e/ou fornece acesso programático aos valores de propriedade. Se não houver essa classe, é recomendável que o FMTID seja usado.

[in] grfFlags

Os valores das constantes PROPSETFLAG.

[in] grfMode

Um modo de acesso no qual o conjunto de propriedades recém-criado deve ser aberto, obtido de determinados valores de STGM_Constants, conforme descrito na seção Comentários a seguir.

[out] ppprstg

Um ponteiro para a variável de saída que recebe o ponteiro da interface IPropertyStorage .

Retornar valor

Esse método dá suporte ao valor retornado padrão E_UNEXPECTED, bem como ao seguinte:

Comentários

IPropertySetStorage::Create cria e abre um novo subobjeto de conjunto de propriedades (que dá suporte à interface IPropertyStorage ) contido neste objeto de armazenamento do conjunto de propriedades. O conjunto de propriedades contém automaticamente propriedades de ID de localidade e página de código. Eles são definidos como o Unicode e o padrão do usuário atual, respectivamente.

O parâmetro grfFlags é uma combinação de valores obtidos de constantes PROPSETFLAG. Se o valor PROPSETFLAG_ANSI dessa enumeração for usado, a página de código será definida como o padrão do sistema atual, em vez de Unicode.

O parâmetro grfMode especifica o modo de acesso no qual o conjunto recém-criado deve ser aberto. Os valores para esse parâmetro são como no parâmetro grfMode para IPropertySetStorage::Open, com a adição dos valores listados na tabela a seguir.

Valor Significado
STGM_FAILIFTHERE Se houver outra propriedade definida com o parâmetro fmtid especificado, a chamada falhará. Essa é a ação padrão; ou seja, a menos que STGM_CREATE seja especificado, STGM_FAILIFTHERE está implícito.
STGM_CREATE Se outro conjunto de propriedades com o parâmetro fmtid especificado já existir, ele será removido e substituído por este novo.
 

O conjunto de propriedades criado é simples por padrão, mas o chamador pode solicitar um conjunto de propriedades não simples especificando o valor PROPSETFLAG_NONSIMPLE no parâmetro grfFlags . Para obter mais informações sobre conjuntos de propriedades simples e não simples, consulte Armazenamento e objetos Stream para um conjunto de propriedades.

Esse método está sujeito às restrições do IStorage::CreateStream subjacente (para conjuntos de propriedades simples) ou IStorage::CreateStorage (para conjuntos de propriedades não simples). Por exemplo, ao usar a Implementação de Arquivo Composto IPropertySetStorage, especifique STGM_SHARE_EXCLUSIVE no parâmetro grfMode para IPropertySetStorage::Create. Por outro lado, se estiver usando a implementação autônoma IPropertySetStorage, IPropertySetStorage::Create estará sujeito a restrições que se aplicam ao IStorage especificado pelo chamador.

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP]
Servidor mínimo com suporte Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP]
Plataforma de Destino Windows
Cabeçalho propidl.h (inclua Objbase.h)
Biblioteca Uuid.lib
DLL Ole32.dll

Confira também

IPropertySetStorage

IPropertySetStorage::Open

Constantes PROPSETFLAG

Amostras

Exemplo de StgCreatePropSetStg

Exemplo de WriteRead