AfterOpenKey Event

Fires after a registry key is opened.

Syntax

public event OnAfterOpenKeyHandler OnAfterOpenKey;

public delegate void OnAfterOpenKeyHandler(object sender, CbregistryAfterOpenKeyEventArgs e);

public class CbregistryAfterOpenKeyEventArgs : EventArgs {
  public IntPtr KeyContext { get; }
  public int Status { get; set; }
  public long KeyHandle { get; set; }
  public IntPtr KeyHandleContext { get; set; }
  public int GrantedAccess { get; set; }
  public bool StopFiltering { get; set; }
  public int ResultCode { get; set; }
}
Public Event OnAfterOpenKey As OnAfterOpenKeyHandler

Public Delegate Sub OnAfterOpenKeyHandler(sender As Object, e As CbregistryAfterOpenKeyEventArgs)

Public Class CbregistryAfterOpenKeyEventArgs Inherits EventArgs
  Public ReadOnly Property KeyContext As IntPtr
  Public Property Status As Integer
  Public Property KeyHandle As Long
  Public Property KeyHandleContext As IntPtr
  Public Property GrantedAccess As Integer
  Public Property StopFiltering As Boolean
  Public Property ResultCode As Integer
End Class

Remarks

This event fires after 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_AFTER_OPEN_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 Status parameter contains a Win32 error code that indicates the outcome of the operation; 0 indicates success. This value is returned to the request originator if no other status is returned from this event. Applications may change this parameter's value if they want a different Win32 error code to be returned.

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 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]