Metodo ISharedPropertyGroupManager::CreatePropertyGroup (comsvcs.h)
Crea un nuovo gruppo di proprietà condiviso. Se esiste già un gruppo di proprietà con il nome specificato, CreatePropertyGroup restituisce un riferimento al gruppo esistente.
Sintassi
HRESULT CreatePropertyGroup(
[in] BSTR Name,
[in, out] LONG *dwIsoMode,
[in, out] LONG *dwRelMode,
[out] VARIANT_BOOL *fExists,
[out] ISharedPropertyGroup **ppGroup
);
Parametri
[in] Name
Nome del gruppo di proprietà condiviso da creare.
[in, out] dwIsoMode
Modalità di isolamento per le proprietà nel nuovo gruppo di proprietà condivise. Vedere la tabella delle costanti nelle osservazioni riportate di seguito. Se il valore del parametro fExists è impostato su VARIANT_TRUE restituito da questo metodo, il valore di input viene ignorato e il valore restituito in questo parametro è la modalità di isolamento assegnata al momento della creazione del gruppo di proprietà.
[in, out] dwRelMode
Modalità di rilascio per le proprietà nel nuovo gruppo di proprietà condivise. Vedere la tabella delle costanti nelle osservazioni riportate di seguito. Se il valore del parametro fExists è impostato su VARIANT_TRUE restituito da questo metodo, il valore di input viene ignorato e il valore restituito in questo parametro è la modalità di rilascio assegnata al momento della creazione del gruppo di proprietà.
[out] fExists
VARIANT_TRUE restituito da questo metodo se il gruppo di proprietà condiviso specificato nel parametro name esiste prima di questa chiamata e VARIANT_FALSE se il gruppo di proprietà è stato creato da questa chiamata.
[out] ppGroup
Riferimento a ISharedPropertyGroup, ovvero un gruppo di proprietà condiviso identificato dal parametro Name o NULL se viene rilevato un errore.
Valore restituito
Questo metodo può restituire i valori restituiti standard E_OUTOFMEMORY, E_UNEXPECTED e E_FAIL, nonché i valori seguenti.
Codice restituito | Descrizione |
---|---|
|
Un riferimento al gruppo di proprietà condiviso specificato nel parametro Name viene restituito nel parametro ppGroup . |
|
Il chiamante non è in esecuzione in COM+. Un chiamante deve essere in esecuzione in COM+ per usare Shared Property Manager. |
|
Almeno uno dei parametri non è valido oppure lo stesso oggetto tenta di creare lo stesso gruppo di proprietà più di una volta. |
Commenti
Le costanti seguenti vengono usate per specificare la modalità di isolamento efficace per un gruppo di proprietà condiviso.
Costante | Valore | Descrizione |
---|---|---|
LockSetGet | 0 | Il valore predefinito. Garantisce che ogni operazione get o set su una proprietà condivisa sia atomica bloccando la proprietà durante la chiamata. Ciò garantisce che due client non possano leggere o scrivere nella stessa proprietà contemporaneamente, ma non impedisce ad altri client di accedere simultaneamente ad altre proprietà nello stesso gruppo. |
LockMethod | 1 | Questo valore blocca tutte le proprietà nel gruppo di proprietà condivise per l'uso esclusivo del chiamante, purché il metodo corrente del chiamante sia in esecuzione. Questa è la modalità appropriata da usare quando sono presenti interdipendenza tra le proprietà o nei casi in cui un client potrebbe dover aggiornare una proprietà immediatamente dopo la lettura prima di poter accedere di nuovo. |
Costante | Valore | Descrizione |
---|---|---|
Standard | 0 | Il valore predefinito. Una volta che tutti i client hanno rilasciato i relativi riferimenti nel gruppo delle proprietà, questo viene eliminato automaticamente. |
Processo | 1 | Il gruppo delle proprietà non viene eliminato fino a quando il processo in cui viene creato non termina. Gli oggetti che contengono riferimenti in un gruppo di proprietà devono comunque chiamare Release sui riferimenti. |
Requisiti
Requisito | Valore |
---|---|
Client minimo supportato | Windows 2000 Professional [solo app desktop] |
Server minimo supportato | Windows 2000 Server [solo app desktop] |
Piattaforma di destinazione | Windows |
Intestazione | comsvcs.h |