BeforeOpenKey Event

Fires before a registry key is opened.

Syntax

public event OnBeforeOpenKeyHandler OnBeforeOpenKey;

public delegate void OnBeforeOpenKeyHandler(object sender, CbregistryBeforeOpenKeyEventArgs e);

public class CbregistryBeforeOpenKeyEventArgs : EventArgs {
  public string FullName { get; }
  public int DesiredAccess { get; }
  public long KeyHandle { get; set; }
  public IntPtr KeyHandleContext { get; set; }
  public int GrantedAccess { get; set; }
  public IntPtr KeyContext { get; set; }
  public bool StopFiltering { get; set; }
  public int ResultCode { get; set; }
}
Public Event OnBeforeOpenKey As OnBeforeOpenKeyHandler

Public Delegate Sub OnBeforeOpenKeyHandler(sender As Object, e As CbregistryBeforeOpenKeyEventArgs)

Public Class CbregistryBeforeOpenKeyEventArgs Inherits EventArgs
  Public ReadOnly Property FullName As String
  Public ReadOnly Property DesiredAccess As Integer
  Public Property KeyHandle As Long
  Public Property KeyHandleContext As IntPtr
  Public Property GrantedAccess As Integer
  Public Property KeyContext As IntPtr
  Public Property StopFiltering As Boolean
  Public Property ResultCode As Integer
End Class

Remarks

This event fires before a registry key is opened.

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

The FullName parameter reflects the "full" name of the registry key being opened, specified, by default, in system format (for example, HKEY_LOCAL_MACHINE\System\... will be \Registry\Machine\System\...). If the ResolveNtNameToWin32Name config setting is enabled, the name will be converted to the more common Win32 format. Applications that intend to use the registry key's name during later events should store it in KeyContext during this event; please refer to the Contexts topic for more information.

The DesiredAccess parameter reflects the access rights specified by the requestor. Please refer to Microsoft's Registry Key Security and Access Rights article for more information about possible values.

The KeyHandle parameter specifies a handle to a registry key that should be opened instead of the one this event fired for. Applications can set this parameter to redirect access to the registry key associated with the specified handle.

The KeyHandleContext parameter is a placeholder for application-defined data associated with the application-provided registry key handle. Please refer to the Contexts topic for more information.

The GrantedAccess parameter specifies the granted access rights for an application-provided registry key handle. Applications that set KeyHandle must also set this parameter. Please refer to Microsoft's Registry Key Security and Access Rights article for more information about possible values.

The KeyContext parameter is a placeholder for application-defined data associated with the registry key. Please refer to the Contexts topic for more information.

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 .NET Edition - Version 20.0 [Build 8317]