This function finds the next tag or long tag in the Point Database which matches the tagmask. '?' replaces a single character in the mask and '*' replaces all characters to the end of the subfield. Subfields are the first 2, the next 6, and the last 2 characters. If a subfield is blank, an asterisk from the previous subfield carries over. Subfields do not apply to long tagnames. The tags are found in alphabetical order. If a match is made to a long tagname and a tagname, the long tagname is returned. If direction is 0 , the first tag is returned. If direction is non zero, the next tag is returned.

C format

int32 pipt_wildcardsearch(

char PIPTR * tagmask,

int32 direction,

int32 PIPTR * found,

char PIPTR * tagname,

int32 len,

int32 PIPTR * pt,

int32 PIPTR * numfound );



System error 




No matching points 


Name was truncated to fit tagname buffer 


tagmask (passed)

Tag mask (null terminated)

direction (passed)

Direction code. Zero (0) for the first match, non zero for the next match

found (returned)

true (non zero) if a tag matching the passed mask was found

tagname (returned)

The matching name is returned null terminated. This may be a long tagname or tagname. If both tagnames match, the long name is returned. If the tagname buffer is not long enough, the name is truncated and -411 is returned. Trailing spaces in the tagname are removed.

len (passed)

Length of passed tagname character buffer

pt (returned)

Point number of tag matching the tag mask or 0 if no more tags matching the mask were found

numfound , (returned)

Number of tags found matching the tag mask.

Usage Notes

It is the calling routine's responsibility to ensure the tagname buffer is large enough for the returned tagname. Tagnames are 12 characters long, long tagnames are up to 80 characters long.

PI API 2016 for Windows Integrated Security

pipt_findpoint() has been enhanced to support long tag names greater than 80 characters. It now supports tag names up to 4098 characters.

Enabling Operational Intelligence