Compartilhar via


Método ISharedPropertyGroupManager::CreatePropertyGroup (comsvcs.h)

Cria um novo grupo de propriedades compartilhadas. Se já existir um grupo de propriedades com o nome especificado, CreatePropertyGroup retornará uma referência ao grupo existente.

Sintaxe

HRESULT CreatePropertyGroup(
  [in]      BSTR                 Name,
  [in, out] LONG                 *dwIsoMode,
  [in, out] LONG                 *dwRelMode,
  [out]     VARIANT_BOOL         *fExists,
  [out]     ISharedPropertyGroup **ppGroup
);

Parâmetros

[in] Name

O nome do grupo de propriedades compartilhado a ser criado.

[in, out] dwIsoMode

O modo de isolamento para as propriedades no novo grupo de propriedades compartilhadas. Veja a tabela de constantes em Comentários abaixo. Se o valor do parâmetro fExists for definido como VARIANT_TRUE no retorno desse método, o valor de entrada será ignorado e o valor retornado nesse parâmetro será o modo de isolamento atribuído quando o grupo de propriedades foi criado.

[in, out] dwRelMode

O modo de versão para as propriedades no novo grupo de propriedades compartilhadas. Veja a tabela de constantes em Comentários abaixo. Se o valor do parâmetro fExists for definido como VARIANT_TRUE no retorno desse método, o valor de entrada será ignorado e o valor retornado nesse parâmetro será o modo de versão atribuído quando o grupo de propriedades foi criado.

[out] fExists

VARIANT_TRUE no retorno desse método se o grupo de propriedades compartilhadas especificado no parâmetro name existir antes dessa chamada e VARIANT_FALSE se o grupo de propriedades foi criado por essa chamada.

[out] ppGroup

Uma referência a ISharedPropertyGroup, que é um grupo de propriedades compartilhado identificado pelo parâmetro Name ou NULL se um erro for encontrado.

Retornar valor

Esse método pode retornar os valores de retorno padrão E_OUTOFMEMORY, E_UNEXPECTED e E_FAIL, bem como os valores a seguir.

Código de retorno Descrição
S_OK
Uma referência ao grupo de propriedades compartilhadas especificado no parâmetro Name é retornada no parâmetro ppGroup .
CONTEXT_E_NOCONTEXT
O chamador não está em execução em COM+. Um chamador deve estar executando em COM+ para usar o Gerenciador de Propriedades Compartilhadas.
E_INVALIDARG
Pelo menos um dos parâmetros não é válido ou o mesmo objeto está tentando criar o mesmo grupo de propriedades mais de uma vez.

Comentários

As constantes a seguir são usadas para especificar o modo de isolamento efetivo para um grupo de propriedades compartilhadas.

Constante Valor Descrição
LockSetGet 0 O valor padrão. Ele garante que cada operação get ou set em uma propriedade compartilhada seja atômica bloqueando a propriedade durante a chamada. Isso garante que dois clientes não possam ler ou gravar na mesma propriedade ao mesmo tempo, mas não impede que outros clientes acessem simultaneamente outras propriedades no mesmo grupo.
LockMethod 1 Esse valor bloqueia todas as propriedades no grupo de propriedades compartilhadas para uso exclusivo pelo chamador, desde que o método atual do chamador esteja em execução. Esse é o modo apropriado a ser usado quando há interdependencies entre as propriedades ou nos casos em que um cliente pode ter que atualizar uma propriedade imediatamente após lê-la antes que ela possa ser acessada novamente.
 
Nota Quando você define o modo de isolamento como LockMethod, o Gerenciador de Propriedades Compartilhadas requer acesso ao contexto de objeto do objeto de chamada. Você não pode usar esse modo de isolamento para criar um grupo de propriedades compartilhado de dentro do construtor de um objeto ou de um objeto não COM+, pois o contexto do objeto não está disponível durante a construção do objeto e um cliente base não tem um contexto de objeto.
 
As constantes a seguir são usadas para especificar o modo de versão efetivo para um grupo de propriedades compartilhadas.
Constante Valor Descrição
Standard 0 O valor padrão. Quando todos os clientes tiverem liberado suas referências no grupo de propriedades, o grupo de propriedades será destruído automaticamente.
Processar 1 O grupo de propriedades não será destruído até que o processo no qual ele foi criado tenha terminado. Objetos que contêm referências em um grupo de propriedades ainda devem chamar Release em suas referências.
 
Nota Um objeto nunca deve tentar passar uma referência de grupo de propriedades compartilhadas para outro objeto. Se a referência for passada fora do objeto que a adquiriu, ela não será mais uma referência válida.
 

Requisitos

Requisito Valor
Cliente mínimo com suporte Windows 2000 Professional [somente aplicativos da área de trabalho]
Servidor mínimo com suporte Windows 2000 Server [somente aplicativos da área de trabalho]
Plataforma de Destino Windows
Cabeçalho comsvcs.h

Confira também

ISharedPropertyGroupManager