IOPCBrowseServerAddressSpace:: BrowseOPCItemIDs
Previous  Top  Next

HRESULT BrowseOPCItemIDs(  
[in] OPCBROWSETYPE dwBrowseFilterType,  
[in, string] LPCWSTR szFilterCriteria,  
[in] VARTYPE vtDataTypeFilter,     
[in] DWORD dwAccessRightsFilter,  
[out] LPENUMSTRING * ppIEnumString  
);  
 
Descrizione
Restituisce un IENUMString per un elenco di ItemIDs come imposto dai parametri passati. La posizione dalla quale lo sfoglio deve essere iniziato, può essere settata con ChangeBrowsePosition.

Parametri
Descrizione
dwBrowseFilterType
OPC_BRANCH – restituisce solo items che hanno figli.
OPC_LEAF – restituisce solo items che non hanno flgli
OPC_FLAT Restituisce tutto ciò che sta al di sotto di questo livello, inclusi tutti i figli dei figli
Questo parametro è ignorato per spazi idndirizzi FLAT
szFilterCriteria
Specifica il criterio di filtraggio. Il formato è libero,e può essere fornito in input tramite un campo EDIT. I criteri validi sono specifici per il particolare produttore. Un puntatore a NUL indica che non c'è filtraggio.
vtDataTypeFilter
Filtra l'elenco restituito in base ai tipi di dato restituiti.VT_EMPTY indica che non c'è filtraggio.
dwAccessRightsFilter
Filtro basato sulla maschera a bit AccessRights (OPC_READABLE or OPC_WRITEABLE). I bits passati alla maschera vengono 'ANDed' con i bits che saranno restituiti per questi Item da AddItem, ValidateItem o EnumOPCItemAttributes. Se il risultato non è zero allora l' item viene restituito. Un valore 0 nella maschera indica che i bits AccessRights devono essere ignorati durante il processo di filtraggio.
ppIEnumString
Dove memorizzare il puntatore all'interfaccia restituito. Vale NULL per HRESULT diverso da S_OK o S_FALSE


Codici Restituiti

Codici Restituiti
Descrizione
S_OK
L'operazione ha avuto successo.
S_FALSE
Non c'è nulla da enumerare. Ciononostante un enumeratore vuoto viene restituito e dovrà poi essere rilasciato.
E' raccomandato che quando il server restituisce S_FALSE ,il client testi il puntatore all'interfaccia restituito per vedere se vale NULL prima di chiamare Release su di esso.
E_FAIL
L'operazione non ha avuto successo.
E_OUTOFMEMORY
Non c'è memoria a sufficienza.
E_INVALIDARG
Un argomento passato alla funzione era invalido
OPC_E_INVALIDFILTER
La stringa di filtraggio non è valida



Commenti

L'enumeratore restituito può anche non avere nulla da enumerare se nessun ItemID soddisfa i criteri del filtraggio. Le stringhe restituite dall'enumeratore rappresentano i BRANCHs (rami) e le LEAFS (foglie) contenute nel livello corrente.

Il client deve rilasciare (Release) ogni enumeratore quando ha finito di usarlo.