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 que são bem conhecidos e predefinidos no SDK da Plataforma, consulte identificadores de formato de conjunto de propriedades predefinidos.
[in] pclsid
Um ponteiro para o CLSID do identificador de classe inicial para esse conjunto de propriedades. Pode ser NULL, nesse caso, ela está definida como todos os zeros. O CLSID é o CLSID de uma classe que exibe e/ou fornece acesso programático aos valores da propriedade. Se não houver essa classe, é recomendável que o FMTID seja usado.
[in] grfFlags
Os valores de constantes PROPSETFLAG.
[in] grfMode
Um modo de acesso no qual o conjunto de propriedades recém-criado deve ser aberto, extraído 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 de interface IPropertyStorage.
Valor de retorno
Esse método dá suporte ao valor retornado padrão E_UNEXPECTED, bem como o seguinte:
Observações
IPropertySetStorage::Create cria e abre um novo subobjeto do conjunto de propriedades (com suporte à interface IPropertyStorage) contida neste objeto de armazenamento do conjunto de propriedades. O conjunto de propriedades contém automaticamente as 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 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 outro conjunto de propriedades com o parâmetro de 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 já existir outro conjunto de propriedades com o parâmetro de fmtid especificado, ele será removido e substituído por este novo. |
O conjunto de propriedades criado é simples por padrão, mas o chamador pode solicitar uma propriedade não simplificada definida especificando o valor PROPSETFLAG_NONSIMPLE no parâmetro grfFlags. Para obter mais informações sobre conjuntos de propriedades simples e não simplificados, consulte Storage and Stream Objects for a Property Set.
Esse método está sujeito às restrições do IStorage::CreateStream (para conjuntos de propriedades simples) ou IStorage::CreateStorage (para conjuntos de propriedades não simplificados). Por exemplo, ao usar o de Implementação de ArquivoIPropertySetStorage-Compound, especifique STGM_SHARE_EXCLUSIVE no parâmetro grfMode para IPropertySetStorage::Create. Por outro lado, se usar o de implementação autônomaIPropertySetStorage, IPropertySetStorage::Create estará sujeito a restrições que se aplicam ao IStorageespecificado pelo chamador.
Requisitos
Requisito | Valor |
---|---|
de cliente com suporte mínimo | Windows 2000 Professional [aplicativos da área de trabalho | Aplicativos UWP] |
servidor com suporte mínimo | Windows 2000 Server [aplicativos da área de trabalho | Aplicativos UWP] |
da Plataforma de Destino | Windows |
cabeçalho | propidl.h (inclua Objbase.h) |
biblioteca | Uuid.lib |
de DLL | Ole32.dll |