Theory of Operations
SNFMulti DLL Description
The SNF SDK for Win* is based on a DLL. The DLL is provided in both 32 bit and 64 bit versions. The 32 bit version is included here. The 64 bit version is available upon request as it is still considered a late-beta product. (It has no apparent bugs, but we're still testing it.)
The DLL contains the entire SNFServer engine and provides a simple API for starting the engine, scanning messages, and retrieving the results. Since the entire SNFServer engine is included you also have the option of using the SNFClient utility once your application has started the SNF engine. You can also make calls to the engine using the XCI protocol (which is how SNFClient does its work).
Of course the best way to use the DLL is to perform scans directly through the API. The best performance can be achieved by scanning a message in memory via the scanBuffer() function since this can be done at the full speed of the processor without waiting for IO operations.
The DLL is fully thread-safe so you can perform as many concurrent scans as you wish. Also, just in case it will make things easier for you, the DLL provides a throttling function which can limit the number of concurrent scans. (It won't unless you ask it to.)
The general form of an application using the DLL will first start the engine, then optionally set the throttle, then perform scans (perform a scan, get results, close the scan, repeat), and finally it will shutdown the engine.
Since the DLL contains the entire SNFServer engine, it can (and must) be configured in exactly the same way as SNFServer.
New in snfmulti.dll V3.0!
OEM developers can now protect their licenseID and Authentication string by providing it directly to the SNF engine at run-time. When combined with an internal mechanism for downloading rule base files this makes it practical to control SNF license information entirely within the OEM's application. See startupSNFAuthenticated() for details.