When writing tools such as this, one needs to be concerned with how it affects the entire programming environment. One of the most important aspects of this environment is the problem concerning namespace pollution. To minimize this problem I have used DLL_ as a prefix to all function names and enumerated typedefs.
It is often the case that search criteria will remain the same between queries. As such, a state table is implemented that passes the current state to the search functions. There are two functions: one to set and the other to read the state table.
Carl J. Nobile