Método IPropertySetStorage::Open (propidl.h)
O método Open abre um conjunto de propriedades contido no objeto de armazenamento do conjunto de propriedades.
Sintaxe
HRESULT Open(
[in] REFFMTID rfmtid,
[in] DWORD grfMode,
[out] IPropertyStorage **ppprstg
);
Parâmetros
[in] rfmtid
O FMTID (identificador de formato) da propriedade definida para ser aberta. Para obter mais informações sobre FMTIDs conhecidos e predefinidos no SDK da Plataforma, consulte Identificadores de formato predefinidos do conjunto de propriedades.
[in] grfMode
O modo de acesso no qual o conjunto de propriedades recém-criado deve ser aberto. Esses sinalizadores são retirados das constantes STGM. Os sinalizadores que podem ser usados e seus significados no contexto desse método são descritos na seção Comentários a seguir.
[out] ppprstg
Um ponteiro para a variável de ponteiro IPropertyStorage que recebe o ponteiro de interface para o subobjeto de armazenamento de propriedades solicitado.
Retornar valor
Esse método dá suporte ao valor de retorno padrão E_UNEXPECTED, além do seguinte:
Comentários
O modo no qual o conjunto de propriedades deve ser aberto é especificado no parâmetro grfMode. Esses sinalizadores são retirados de constantes STGM, mas, para esse método, os valores legais e seus significados são os seguintes (apenas determinadas combinações desses valores de sinalizador são legais).
Valor | Significado |
---|---|
STGM_DIRECT | Abre o conjunto de propriedades sem um nível adicional de aninhamento de transações. Esse é o padrão (o comportamento se nem STGM_DIRECT nem STGM_TRANSACTED for especificado). |
STGM_TRANSACTED | Abre o conjunto de propriedades com um nível adicional de aninhamento de transações (além da transação, se houver, nesse objeto de armazenamento do conjunto de propriedades). O modo transacionado está disponível apenas para conjuntos de propriedades não simplificados. As alterações no conjunto de propriedades devem ser confirmadas com uma chamada para IPropertyStorage::Commit antes de ficarem visíveis para a transação neste armazenamento do conjunto de propriedades. |
STGM_READ | Abre o conjunto de propriedades com acesso de leitura. A permissão de leitura é necessária no armazenamento do conjunto de propriedades. |
STGM_WRITE | Abre o conjunto de propriedades com acesso de gravação. Nem todas as implementações do IPropertyStorage dão suporte a esse modo. |
STGM_READWRITE | Abre o conjunto de propriedades com acesso de leitura e gravação. Lembre-se de que esse sinalizador não é o OR binário dos valores STGM_READ e STGM_WRITE. |
STGM_SHARE_DENY_NONE | As aberturas subsequentes do conjunto de propriedades desse armazenamento do conjunto de propriedades não são negadas ao acesso de leitura ou gravação. (Não disponível em todas as implementações.) |
STGM_SHARE_DENY_READ | As aberturas subsequentes do conjunto de propriedades desse armazenamento do conjunto de propriedades são negadas ao acesso de leitura. Não disponível em todas as implementações. |
STGM_SHARE_DENY_WRITE | As aberturas subsequentes do conjunto de propriedades desse armazenamento do conjunto de propriedades são negadas ao acesso de gravação. Esse valor normalmente é usado no modo transacionado para evitar fazer cópias desnecessárias de um objeto aberto por vários usuários. Ou seja, se STGM_TRANSACTED for especificado, mas esse valor não for especificado, um instantâneo será feito, quer haja aberturas subsequentes ou não. Assim, você pode melhorar o desempenho especificando esse valor. Não disponível em todas as implementações. |
STGM_SHARE_EXCLUSIVE | As aberturas subsequentes do conjunto de propriedades desse armazenamento do conjunto de propriedades não são possíveis. Lembre-se de que esse valor não é um OR binário simples dos elementos STGM_SHARE_DENY_READ e STGM_SHARE_DENY_WRITE. |
Esse método está sujeito às restrições do IStorage::OpenStream subjacente (para conjuntos de propriedades simples) ou IStorage::OpenStorage (para conjuntos de propriedades não simples). Para obter mais informações sobre conjuntos de propriedades simples e não simples, consulte Armazenamento e objetos Stream para um conjunto de propriedades. Por exemplo, ao usar a Implementação de Arquivo Composto IPropertySetStorage, você deve especificar STGM_SHARE_EXCLUSIVE no parâmetro grfMode para IPropertySetStorage::Open. Por outro lado, se estiver usando a Implementação autônoma IPropertySetStorage, IPropertySetStorage::Open 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 |