OnPreEnumerateValueKey event/delegate/callback


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

CBFSRegistry     See also    


This callback is called before the iteration of the key value enumeration request has been processed by the system code which deals with the registry.


    property OnPreEnumerateValueKey : TCbRegPreEnumerateValueKeyEvent;
    TCbRegPreEnumerateValueKeyEvent = procedure( Sender : TObject; UserContext: pointer; Index: LongWord; KeyValueInformationClass: KEY_VALUE_INFORMATION_CLASS; KeyValueInformation: TCbRegInformation; var CallPostCallback : boolean; var StopFiltering : boolean ) of object;

[C++ (Lib)]
    typedef void (*CbRegPreEnumerateValueKeyEvent)( CBFSRegistry* Sender, LPVOID UserContext, DWORD Index, KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, CbRegInformation *KeyValueInformation, BOOL * CallPostCallback, BOOL * StopFiltering );

[C++ (VCL)]
    typedef void __fastcall (__closure *TCbRegPreEnumerateValueKeyEvent)( System::TObject* Sender, void *UserContext, unsigned Index, Cbregapi::_KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, TCbRegInformation *KeyValueInformation, bool &CallPostCallback, bool &StopFiltering );

[C++ (.NET)]
    public delegate void CbRegPreEnumerateValueKeyEvent( CBFSRegistry^ Sender, Object^ UserContext, UInt32 Index, CbReg::KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, CbRegInformation^ KeyValueInformation, bool %CallPostCallback, bool %StopFiltering );

    delegate void CbRegPreEnumerateValueKeyEvent( CBFSRegistry Sender, Object UserContext, UInt32 Index, CbReg.KEY_VALUE_INFORMATION_CLASS KeyValueInformationClass, CbRegInformation KeyValueInformation, ref bool CallPostCallback, ref bool StopFiltering );

    Delegate Sub CbRegPreEnumerateValueKeyEvent( ByVal Sender As CBFSRegistry, ByVal UserContext As Object, ByVal Index As UInt32, ByVal KeyValueInformationClass As CbReg.KEY_VALUE_INFORMATION_CLASS, ByVal KeyValueInformation As CbRegInformation, ByRef CallPostCallback As Boolean, ByRef StopFiltering As Boolean )


  • Sender - reference to the class that called the delegate/event handler
  • UserContext - the placeholder for the application-defined data
  • Index - the zero-based index of the subkey within the key
  • KeyValueInformationClass - the value that indicates the type of information to be returned by the system in the KeyValueInformation object
  • KeyValueInformation - the object that contains information being returned to the system
  • CallPostCallback - if it's set then the post-processing callback will be called. By default it's TRUE. This parameter doesn't matter when StopFiltering or Processed is set or non-successful result is returned.
  • StopFiltering - if StopFiltering is set to true, no other callbacks for the created key handle will be called

Values of KeyValueInformationClass


This callback/event is called before each iteration of the key value enumeration request is processed by the registry manager in Windows. The name of the key should be obtained from the user context which must have been set in OnPreOpenKey/OnPreOpenKey callback/event handlers.
Read more about contexts.

Error handling

See Error handling topic for detailed information about how to report errors, which occur in the event handlers, back to CBFSRegistry.

See also

OnPostEnumerateValueKey     OnPreCreateKey     OnPreOpenKey