Compartilhar via


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

Consulte também

IPropertySetStorage

IPropertySetStorage::Open

constantes PROPSETFLAG

exemplos de

de exemplo StgCreatePropSetStg

de exemplo writeread