CallbackRegistry.StartFilter method


Pascal    C++ (Lib)    C++ (VCL)    C++ (.NET)    C#    VB.NET   

CallbackRegistry     See also    


Starts filtering.


    procedure StartFilter(Timeout : LongWord = 0);

[C++ (Lib)]
    void StartFilter(DWORD Timeout);

[C++ (VCL)]
    void __fastcall StartFilter(unsigned long Timeout);

[C++ (.NET)]
    void StartFilter(UInt32 Timeout);
    void StartFilter();

    void StartFilter(UInt32 Timeout);
    void StartFilter();

    Sub StartFilter(ByVal Timeout As UInt32)
    Sub StartFilter()


  • Timeout - timeout of the callback operations (in milliseconds)


Call this method to start filtering requests to the system registry. Before this method is called, the filter is in passive mode, i.e., not working. After StartFilter was called, you should not call it again without prior call to StopFilter.

Before using this method for the first time after the application start you need to call Initialize method to initialize CallbackRegistry.

Timeout for callback operations is specified in milliseconds (i.e. use 30000 for 30-second timeout). The value of 0 (zero) means "callback will work as long as it needs". It's a good idea to set timeout to 0 when you do debugging of your callback functions. Remember to set Timeout to some reasonable value (for example, 30 seconds) for release version.

The driver filters requests for specific processes only. Use AddFilteredProcessById() or AddFilteredProcessByName() methods to specify the process or processes to filter. Call AddFilteredProcessById(0xFFFFFFFF) to set filtering for all processes. Calls to AddFilteredPRocessBy* can be made only when the filter is active (filtering has been started).


The method can return "File not found" error if the driver has not been properly installed or the system was not restarted despite the RebootNeeded flag set to non-zero value after the call to Install method.

See also

AddFilteredProcessById     AddFilteredProcessByName     Initialize     StopFilter     Driver installation