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 |