Implement a Yield Function
When writing applications for windowing environments, it is usually important to let the operating system and other applications have time to perform some work while the application is busy. When scanning pages, your application will often use up a lot of CPU time. It should implement a yield function during these times so that other processes can do some work.
Some ISIS drivers, if they are waiting for data, look for ISIS_TAG_YIELDPROC which defines a yield function. If the application assigns a value to that tag, then the driver itself will call the application's yield function to tell the application it is waiting. For drivers that do not support the yield tag, it is a good idea for the application to implement a yield mechanism itself.
Note that you cannot expect a Windows yield function to occur with any particular regularity.