NotifyFilterDetachFromVolume Event

Fires when the filter has been detached from a filesystem volume.

Syntax

class CBMonitorNotifyFilterDetachFromVolumeEventParams {
public:
  const QString &VolumeName();
  int ResultCode();
  void SetResultCode(int iResultCode);
  int EventRetVal();
  void SetEventRetVal(int iRetVal);
};
// To handle, connect one or more slots to this signal. void NotifyFilterDetachFromVolume(CBMonitorNotifyFilterDetachFromVolumeEventParams *e);
// Or, subclass CBMonitor and override this emitter function. virtual int FireNotifyFilterDetachFromVolume(CBMonitorNotifyFilterDetachFromVolumeEventParams *e) {...}

Remarks

This event fires when the filter has been detached from the filesystem volume specified by VolumeName, typically due to the volume being unmounted. Please refer to the FireVolumeEvents property for more information.

Applications only need to handle this event if the FireVolumeEvents property includes the FS_MOUNT_NOTIFY flag. Please note that this event won't fire for any volumes skipped during the BeforeFilterAttachToVolume event; please refer to its documentation for more information.

Applications that use volume-specific rules should typically remove such rules during the AfterFilterDetachFromVolume event, which is fired synchronously, rather than this one.

The format of the VolumeName parameter's value depends on whether the ResolveNtDeviceToDriveLetter configuration setting is enabled; please refer to its documentation for more information. Applications can obtain additional information about a volume by retrieving its GUID using the GetVolumeGUID method, and then using that GUID to call various Windows API functions.

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, set it to a non-zero value to report an appropriate error. Note, however, that this event fires after the operation has already completed, so reporting an error won't actually affect the operation itself. Please refer to the Error Reporting and Handling topic for more information.

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

Applications must be aware that this event fires as a direct response to a filesystem state change (mount or unmount). Various system components or third-party actors are able to perform supplementary filesystem mounting and unmounting during main unmount operations (Volume Service is one of such components). This can cause seemingly excessive events to be fired, and sometimes they can even be fired out of order (such as two *Attach or *Detach events fired in a row).

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