public virtual ResponseHeader Browse(
RequestHeader requestHeader,
ViewDescription view,
NodeId nodeToBrowse,
uint maxResultsToReturn,
BrowseDirection browseDirection,
NodeId referenceTypeId,
bool includeSubtypes,
uint nodeClassMask,
out byte[] continuationPoint,
out ReferenceDescriptionCollection references)
{
BrowseDescription description = new BrowseDescription();
description.NodeId = nodeToBrowse;
description.BrowseDirection = browseDirection;
description.ReferenceTypeId = referenceTypeId;
description.IncludeSubtypes = includeSubtypes;
description.NodeClassMask = nodeClassMask;
description.ResultMask = (uint)BrowseResultMask.All;
BrowseDescriptionCollection nodesToBrowse = new BrowseDescriptionCollection();
nodesToBrowse.Add(description);
BrowseResultCollection results;
DiagnosticInfoCollection diagnosticInfos;
ResponseHeader responseHeader = Browse(
requestHeader,
view,
maxResultsToReturn,
nodesToBrowse,
out results,
out diagnosticInfos);
ClientBase.ValidateResponse(results, nodesToBrowse);
ClientBase.ValidateDiagnosticInfos(diagnosticInfos, nodesToBrowse);
if (StatusCode.IsBad(results[0].StatusCode))
{
throw new ServiceResultException(new ServiceResult(results[0].StatusCode, 0, diagnosticInfos, responseHeader.StringTable));
}
continuationPoint = results[0].ContinuationPoint;
references = results[0].References;
return responseHeader;
}