Ejected Event

Fires when the media and virtual drive have been ejected.

Syntax

ANSI (Cross Platform)
virtual int FireEjected(CBDriveEjectedEventParams *e);
typedef struct {
int ResultCode; int reserved; } CBDriveEjectedEventParams; Unicode (Windows) virtual INT FireEjected(CBDriveEjectedEventParams *e);
typedef struct {
INT ResultCode; INT reserved; } CBDriveEjectedEventParams;
- (void)onEjected:(int*)resultCode;
#define EID_CBDRIVE_EJECTED 5

virtual INT CBFSSTORAGE_CALL FireEjected(INT &iResultCode);

Remarks

This event fires when a user has ejected the media and virtual drive using the Eject command in Windows Explorer.

For ejection via the system notification area (tray) to work correctly, the StorageType property must be set to STGT_DISK_PNP, and the StorageCharacteristics property must include ejection-related flags.

This event is optional; it is provided to give applications a chance to, e.g., free up resources associated with the virtual drive. Since the virtual drive has already been destroyed by the time this event fires, applications must not call UnmountMedia or DeleteStorage (the latter is called automatically with its ForceUnmount parameter set to true).

The ResultCode parameter will always be set to the result code returned by the automatic call to DeleteStorage. 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.

Copyright (c) 2021 Callback Technologies, Inc. - All rights reserved.
CBFS Storage 2020 C++ Edition - Version 20.0 [Build 8031]