IOPCGroupStateMgt::SetState
Previous  Top  Next


HRESULT SetState(
   [unique, in] DWORD * pRequestedUpdateRate,
   [out] DWORD * pRevisedUpdateRate,
   [unique, in] BOOL *pActive,
   [unique, in] LONG * pTimeBias,
   [unique, in] FLOAT * pPercentDeadband
   [unique, in] DWORD * pLCID,
   [unique, in] OPCHANDLE *phClientGroup
   );
Descrizione
Un client può settare i vari attributi di un gruppo. Si usano puntatori ad item interni in modo tale che quando il client vuole omettere delle proprietà o non vuole cambiarle passa un puntatore nullo.
L'argomento pRevisedUpdateRate deve sempre contenere un puntatore valido.

Parametri
Descrizione
pRequestedUpdateRate
Il nuovo update rate richiesto per un gruppo dal client (millisecondi)
pRevisedUpdateRate
La update rate più simile che il server è in grado di fornire per questo gruppo.
pActive
TRUE (diverso da zero) se il gruppo è attivo. FALSE (0) se il gruppo non è attivo.
pTimeBias
TimeZone Bias se è un Group (in minuti)
pPercentDeadband
Il cambiamento percentuale del valore in un item che potrà causare un exception report di quel valore ad un client. Questo parametro si applica solo agli item del gruppo che hanno dwEUType of Analog.
pLCID
La Localization ID usata dal gruppo.
phClientGroup
Il nuovo client handle fornito per il gruppo. Questo handle è restituito nel data stream fornito all'interfaccia IAdvise del client dall'interfaccia IdataObject del Groups.


Codici Restituiti

Codici Restituiti
Descrizione
E_FAIL   
L'operazione è fallita.
E_OUTOFMEMORY
Memoria insufficiente.
E_INVALIDARG
Un argomento della funzione era non valido.
S_OK
L'operazione ha avuto successo.
OPC_S_UNSUPPORTEDRATE
Il server non supporta il data rate richiesto ma userà il rate più simile disponibile.


Commenti
Per i public group, the server mantiene una informazione univoca per ciascun client sullo stato degli attributi Active, pUpdateRate, TimeZone. Cioè, i public groups funzionano come se ciascun client ne avesse una copia privata.