BeforeSetKey Event

Fires before a registry key's information is updated.


// CBRegistryBeforeSetKeyEventArgs carries the CBRegistry BeforeSetKey event's parameters.
type CBRegistryBeforeSetKeyEventArgs struct {...}

func (args *CBRegistryBeforeSetKeyEventArgs) KeyContext() int64
func (args *CBRegistryBeforeSetKeyEventArgs) LastWriteTime() time.Time
func (args *CBRegistryBeforeSetKeyEventArgs) Processed() bool
func (args *CBRegistryBeforeSetKeyEventArgs) SetProcessed(value bool)
func (args *CBRegistryBeforeSetKeyEventArgs) FireAfterEvent() bool
func (args *CBRegistryBeforeSetKeyEventArgs) SetFireAfterEvent(value bool)
func (args *CBRegistryBeforeSetKeyEventArgs) StopFiltering() bool
func (args *CBRegistryBeforeSetKeyEventArgs) SetStopFiltering(value bool)
func (args *CBRegistryBeforeSetKeyEventArgs) ResultCode() int32
func (args *CBRegistryBeforeSetKeyEventArgs) SetResultCode(value int32)

// CBRegistryBeforeSetKeyEvent defines the signature of the CBRegistry BeforeSetKey event's handler function.
type CBRegistryBeforeSetKeyEvent func(sender *CBRegistry, args *CBRegistryBeforeSetKeyEventArgs)

func (obj *CBRegistry) GetOnBeforeSetKeyHandler() CBRegistryBeforeSetKeyEvent
func (obj *CBRegistry) SetOnBeforeSetKeyHandler(handlerFunc CBRegistryBeforeSetKeyEvent)


This event fires before a registry key's information is updated.

Applications only need to handle this event if they've added a standard filter rule that includes the REG_CE_BEFORE_SET_KEY flag.

The KeyContext parameter is a placeholder for application-defined data associated with the registry key. Please refer to the Contexts topic for more information. Note that this event does not expose the registry key's name for performance reasons; applications that need it should store it in KeyContext during the BeforeCreateKey/BeforeOpenKey event so that it can be retrieved when this event fires.

The LastWriteTime parameter reflects when the key was last changed, specified in UTC.

The Processed parameter indicates whether the underlying request has been handled successfully. Applications should set this parameter to true if they've handled the request themselves (this will prevent the corresponding After* event from being called). Note that this parameter's value is ignored if an error is returned via ResultCode.

The FireAfterEvent parameter specifies whether the corresponding After* event should be fired; it is true by default. Note that, regardless of how this parameter is set, the corresponding After* event will not fire if Processed is true, or if an error code is returned via ResultCode.

The StopFiltering parameter specifies whether the component's system driver should ignore all further operations for the registry key; it is false by default. Applications may set this parameter to true to prevent any further events from firing for the registry key.

The ResultCode parameter will always be 0 when the event is fired. If the event cannot be handled in a "successful" manner for some reason (e.g., a resource isn't available, security checks failed, etc.), set it to a non-zero value to report an appropriate error. Please refer to the Error Reporting and Handling topic for more information.

This event is fired synchronously; please refer to the Event Types topic for more information.

Copyright (c) 2022 Callback Technologies, Inc. - All rights reserved.
CBFS Filter 2020 Go Edition - Version 20.0 [Build 8124]