Метод ISharedPropertyGroupManager::CreatePropertyGroup (comsvcs.h)
Создает группу общих свойств. Если группа свойств с указанным именем уже существует, CreatePropertyGroup возвращает ссылку на существующую группу.
Синтаксис
HRESULT CreatePropertyGroup(
[in] BSTR Name,
[in, out] LONG *dwIsoMode,
[in, out] LONG *dwRelMode,
[out] VARIANT_BOOL *fExists,
[out] ISharedPropertyGroup **ppGroup
);
Параметры
[in] Name
Имя создаваемой группы общих свойств.
[in, out] dwIsoMode
Режим изоляции для свойств в новой группе общих свойств. См. таблицу констант в разделе Примечания ниже. Если для параметра fExists задано значение VARIANT_TRUE при возврате из этого метода, входное значение игнорируется, а значение, возвращаемое в этом параметре, является режимом изоляции, назначенным при создании группы свойств.
[in, out] dwRelMode
Режим выпуска для свойств в новой группе общих свойств. См. таблицу констант в разделе Примечания ниже. Если для параметра fExists задано значение VARIANT_TRUE при возврате из этого метода, входное значение игнорируется, а значение, возвращаемое в этом параметре, является режимом выпуска, назначенным при создании группы свойств.
[out] fExists
VARIANT_TRUE при возврате из этого метода, если группа общих свойств, указанная в параметре name, существовала до этого вызова, и VARIANT_FALSE, если группа свойств была создана этим вызовом.
[out] ppGroup
Ссылка на ISharedPropertyGroup, которая представляет собой группу общих свойств, определяемую параметром Name , или значение NULL при обнаружении ошибки.
Возвращаемое значение
Этот метод может возвращать стандартные возвращаемые значения E_OUTOFMEMORY, E_UNEXPECTED и E_FAIL, а также следующие значения.
Код возврата | Описание |
---|---|
|
Ссылка на группу общих свойств, указанная в параметре Name , возвращается в параметре ppGroup . |
|
Вызывающий объект не выполняется в com+. Чтобы использовать диспетчер общих свойств, вызывающий объект должен выполняться в разделе COM+. |
|
По крайней мере один из параметров недопустим, или один и тот же объект пытается создать одну и ту же группу свойств несколько раз. |
Комментарии
Следующие константы используются для указания эффективного режима изоляции для группы общих свойств.
Константа | Значение | Описание |
---|---|---|
LockSetGet | 0 | Значение по умолчанию. Это гарантирует, что каждая операция получения или задания в общем свойстве является атомарной, блокируя свойство во время вызова. Это гарантирует, что два клиента не смогут одновременно выполнять чтение или запись в одно и то же свойство, но не запрещает другим клиентам одновременный доступ к другим свойствам в одной группе. |
LockMethod | 1 | Это значение блокирует все свойства в группе общих свойств для монопольного использования вызывающим объектом до тех пор, пока выполняется текущий метод вызывающего объекта. Это подходящий режим для использования при наличии взаимозависимостей между свойствами или в случаях, когда клиенту может потребоваться обновить свойство сразу после чтения, чтобы получить к нему доступ. |
Константа | Значение | Описание |
---|---|---|
Standard | 0 | Значение по умолчанию. Когда все клиенты удаляют свои ссылки на группу свойств, она автоматически уничтожается. |
Процесс | 1 | Группа свойств не уничтожается до тех пор, пока не завершается процесс, в котором она была создана. Объекты, которые содержат ссылки в группе свойств, по-прежнему должны вызывать Release для своих ссылок. |
Требования
Требование | Значение |
---|---|
Минимальная версия клиента | Windows 2000 Professional [только классические приложения] |
Минимальная версия сервера | Windows 2000 Server [только классические приложения] |
Целевая платформа | Windows |
Header | comsvcs.h |