IOPCServer::RemoveGroup
Previous  Top  Next

HRESULT RemoveGroup(
   [in] OPCHANDLE hServerGroup,
   [in] BOOL bForce
);  
 
 
Descrizione
Cancella il Group  

Parametri
Descrizione
HServerGroup
Identificatore del group che deve essere rimosso.
Bforce
Forza la cancellazione del group anche se vi sono dei riferimenti in sospeso



Codici restituiti

Return Code
Descrizione
E_FAIL
L'operazione non ha avuto successo.
E_OUTOFMEMORY
Non c'è memoria a sufficienza.
E_INVALIDARG
Un argomento passato alla funzione era invalido
S_OK
L'operazione ha avuto successo.
OPC_S_INUSE
Non è stato rimosso perché esistono ancora dei riferimenti. Il Group sarà marcato come cancellato, e sarà rimosso automaticamente dal server, quando tutti i riferimenti a questo oggetto saranno rilasciati.



Commenti


Un group non è cancellato fin quando tutte le interfacce client vengono rilasciate, poichè il server stesso mantiene un riferimento al group. Il client può ancora chiamare GetGroupByName dopo che tutte le interfacce sono state rilasciate.
RemoveGroup() forza il server a rilasciare i suoi ultimi riferimenti al group, il che porta alla vera cancellazione del group.

In genere, un client ben funzionante chiamerà questa funzione solo dopo che ha rilasciato tutte le interfacce.Se esistono ancora interfacce, RemoveGroup marcherà il gruppo come "cancellato". Ogni altra chiamata a questo group attraverso queste interfacce ritornerà E_FAIL. Quando tutte le interfacce sono state rilasciate, il group verrà cancellato davvero.

Se bForce è True allora il group verrà cancellato incondizionatamente anche se esistono ancora riferimenti (interfacce). Un uso ulteriore di tali interfacce avrà come conseguenza una violazione dell'accesso.

Questa funzione non deve essere chiamata per i group pubblici.