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

Crea un nuevo grupo de propiedades compartidas. Si ya existe un grupo de propiedades con el nombre especificado, CreatePropertyGroup devuelve una referencia al grupo existente.

Sintaxis

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

Parámetros

[in] Name

Nombre del grupo de propiedades compartidas que se va a crear.

[in, out] dwIsoMode

Modo de aislamiento para las propiedades del nuevo grupo de propiedades compartidas. Vea la tabla de constantes en Comentarios a continuación. Si el valor del parámetro fExists se establece en VARIANT_TRUE al devolver este método, se omite el valor de entrada y el valor devuelto en este parámetro es el modo de aislamiento que se asignó cuando se creó el grupo de propiedades.

[in, out] dwRelMode

Modo de versión de las propiedades del nuevo grupo de propiedades compartidas. Vea la tabla de constantes en Comentarios a continuación. Si el valor del parámetro fExists se establece en VARIANT_TRUE al devolver este método, se omite el valor de entrada y el valor devuelto en este parámetro es el modo de versión que se asignó cuando se creó el grupo de propiedades.

[out] fExists

VARIANT_TRUE al devolver este método si el grupo de propiedades compartidas especificado en el parámetro name existía antes de esta llamada y VARIANT_FALSE si el grupo de propiedades se creó mediante esta llamada.

[out] ppGroup

Referencia a ISharedPropertyGroup, que es un grupo de propiedades compartida identificado por el parámetro Name , o NULL si se encuentra un error.

Valor devuelto

Este método puede devolver los valores devueltos estándar E_OUTOFMEMORY, E_UNEXPECTED y E_FAIL, así como los siguientes valores.

Código devuelto Descripción
S_OK
Se devuelve una referencia al grupo de propiedades compartidas especificado en el parámetro Name en el parámetro ppGroup .
CONTEXT_E_NOCONTEXT
El autor de la llamada no se está ejecutando en COM+. Un llamador debe ejecutarse en COM+ para usar el Administrador de propiedades compartidas.
E_INVALIDARG
Al menos uno de los parámetros no es válido o el mismo objeto intenta crear el mismo grupo de propiedades más de una vez.

Comentarios

Las constantes siguientes se usan para especificar el modo de aislamiento efectivo para un grupo de propiedades compartidas.

Constante Valor Descripción
LockSetGet 0 Valor predeterminado. Garantiza que cada operación get o set en una propiedad compartida es atómica bloqueando la propiedad durante la llamada. Esto garantiza que dos clientes no puedan leer o escribir en la misma propiedad al mismo tiempo, pero no impide que otros clientes accedan simultáneamente a otras propiedades del mismo grupo.
LockMethod 1 Este valor bloquea todas las propiedades del grupo de propiedades compartidas para uso exclusivo del autor de la llamada siempre que se ejecute el método actual del autor de la llamada. Este es el modo adecuado para usar cuando hay interdependencias entre propiedades, o en los casos en los que un cliente puede tener que actualizar una propiedad inmediatamente después de leerla antes de que se pueda acceder de nuevo.
 
Nota Al establecer el modo de aislamiento en LockMethod, el Administrador de propiedades compartidas requiere acceso al contexto de objeto del objeto que realiza la llamada. No se puede usar este modo de aislamiento para crear un grupo de propiedades compartidas desde el constructor de un objeto o desde un objeto que no sea COM+, ya que el contexto del objeto no está disponible durante la construcción de objetos y un cliente base no tiene un contexto de objeto.
 
Las constantes siguientes se usan para especificar el modo de versión efectivo para un grupo de propiedades compartidas.
Constante Valor Descripción
Estándar 0 Valor predeterminado. Cuando todos los clientes han liberado sus referencias sobre el grupo de propiedades, éste se destruye automáticamente.
Proceso 1 El grupo de propiedades no se destruye hasta que el proceso en el que se creó ha terminado. Los objetos que contienen referencias en un grupo de propiedades deben seguir llamando a Release en sus referencias.
 
Nota Un objeto nunca debe intentar pasar una referencia de grupo de propiedades compartidas a otro objeto. Si la referencia se pasa fuera del objeto que lo adquirió, ya no es una referencia válida.
 

Requisitos

Requisito Value
Cliente mínimo compatible Windows 2000 Professional [solo aplicaciones de escritorio]
Servidor mínimo compatible Windows 2000 Server [solo aplicaciones de escritorio]
Plataforma de destino Windows
Encabezado comsvcs.h

Consulte también

ISharedPropertyGroupManager