IOPCServer::CreateGroupEnumerator
Previous  Top  Next

HRESULT CreateGroupEnumerator(
[in] OPCENUMSCOPE dwScope,  
[in] REFIID riid,  
[out, iid_is(riid)] LPUNKNOWN* ppUnk  
);  
 
Descrizione
Crea vari enumeratori per i group forniti dal Server.


Parametri
Descrizione
dwScope
Indica la classe dei groups che devono essere enumerati
OPC_ENUM_PRIVATE_CONNECTIONS o
OPC_ENUM_PRIVATE enumerano tutti i groups creati dal client
OPC_ENUM_PUBLIC_CONNECTIONS o
OPC_ENUM_PUBLIC enumerano tutti i groups pubblici disponibili nel server
OPC_ENUM_ALL_CONNECTIONS o
OPC_ENUM_ALL enumerano tutti i groups, sia privati che pubblici.
riid
L' interfaccia richiesta. Questa deve essere IID_IenumUnknown oppure IID_IenumString.
ppUnk
Dove deve essere restituita l' interfaccia. NULL viene restituito per oqni HRESULT diverso da S_OK o S_FALSE.


NOTA:
E' sconsigliato l'uso da parte del client di OPC_ENUM_PRIVATE_CONNECTIONS, OPC_ENUM_PUBLIC_CONNECTIONS, OPC_ENUM_ALL_CONNECTIONS.


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.
S_FALSE
Non c'è nulla da enumerare (non ci sono groups che soddisfano la richiesta). Comunque un enumeratore vuoto viene restituito e deve poi essere rilasciato.
Nota: è racommandato che, quando viene restituito S_FALSE dal server, il client testi il puntatore all' interfaccia restituito, per vedere se vale NULL, prima di chiamare Release su di esso.
E_NOINTERFACE
L'interfaccia(riid) richiesta non è supportata dal server.



Commenti

Connesso significa che esiste un puntatore all'interfaccia.
I server che non supportano group pubblici si comporteranno semplicemente come se non li hanno. Cioè non restituiranno E_INVALIDARG se lo scopo include group pubblici