private EnumString CreateEnumerator(bool branches)
{
IEnumString unknown = null;
string methodName = "IOPCBrowseServerAddressSpace.BrowseOPCItemIDs";
try
{
IOPCBrowseServerAddressSpace server = BeginComCall<IOPCBrowseServerAddressSpace>(methodName, true);
OPCBROWSETYPE browseType = OPCBROWSETYPE.OPC_BRANCH;
if (!branches)
{
browseType = OPCBROWSETYPE.OPC_LEAF;
}
server.BrowseOPCItemIDs(browseType, String.Empty, 0, 0, out unknown);
}
catch (Exception e)
{
ComCallError(methodName, e);
return null;
}
finally
{
EndComCall(methodName);
}
// wrapper the enumrator. hardcoding a buffer size of 256.
return new EnumString(unknown, 256);
}