Notifications
 

 < Home   < Developers   < Development Support   < Documentation

4 Notifications


 Table of Contents  |  < Previous  |  Next >  |  Index
   
   

Title -
Palm OS® Programmer's API Reference

Part I: User Interface

4 Notifications

Notification Data Structures

SysNotifyParamType

Notification Reference

cncNotifyProfileEvent

sysExternalConnectorAttachEvent

sysExternalConnectorDetachEvent

sysNotifyAntennaRaisedEvent

sysNotifyCardInsertedEvent

sysNotifyCardRemovedEvent

sysNotifyDBDeletedEvent

sysNotifyDeleteProtectedEvent

sysNotifyDeviceUnlocked

sysNotifyDisplayChangeEvent

sysNotifyEarlyWakeupEvent

sysNotifyForgotPasswordEvent

sysNotifyGotUsersAttention

sysNotifyHelperEvent

sysNotifyLateWakeupEvent

sysNotifyLocaleChangedEvent

sysNotifyMenuCmdBarOpenEvent

sysNotifyNetLibIFMediaEvent

sysNotifyResetFinishedEvent

sysNotifyRetryEnqueueKey

sysNotifySleepNotifyEvent

sysNotifySleepRequestEvent

sysNotifySyncFinishEvent

sysNotifySyncStartEvent

sysNotifyTimeChangeEvent

sysNotifyVolumeMountedEvent

sysNotifyVolumeUnmountedEvent

       

This chapter provides detailed information about the notifications declared in the header file NotifyMgr.h. Notifications are broadcast to inform applications, shared libraries, system extensions, or other code resources of certain system-level or application-level events.

Notifications are similar to application launch codes, but they differ from launch codes in the following ways:

The system broadcasts notifications only to interested parties. To register to receive a notification, use SysNotifyRegister.

Notifications can be sent to non-applications.

See the "Notification Manager" chapter in this book and the section "Notifications" of the Palm OS Programmer's Companion, vol. I for more information on receiving and handling notifications.

Table 4.1 Notification Constants 
Constant
Description
The connection profile used by the Connection Panel has changed.
A device has been attached to an external connector.
A device has been detached from an external connector.
The antenna has been raised on a Palm VIITM series device.
An expansion card has been inserted into the expansion slot.
An expansion card has been removed from the expansion slot.
A database has been deleted.
The Launcher has attempted to delete a protected database.
The user has unlocked the device.
The color table or bit depth has changed.
The system is starting to wake up.
The user has tapped the Lost Password button in the Security application.
The Attention Manager has informed the user of an event.
An application has requested that a particular service be performed.
sysNotifyIrDASniffEvent
Not used.
The system has finished waking up.
The system locale has changed.
The system is about to display the menu command toolbar.
The system has been connected to or disconnected from the network.
sysNotifyPhoneEvent
Reserved for future use.
sysNotifyPOSEMountEvent
System use only.
The system has finished a reset.
The Attention Manager has failed to post a virtual character to the key queue.
The system is about to go to sleep.
The system has decided to go to sleep.
A HotSync® operation has just completed.
A HotSync operation is about to begin.
The system time has just changed.
A file system has been mounted.
A file system has been unmounted.

Notification Data Structures

SysNotifyParamType

The SysNotifyParamType structure contains all of the data associated with a notification. This structure is passed as the parameter block for the sysAppLaunchCmdNotify launch code or as a parameter to the notification callback function. All notifications have some common data. Most notifications also have data specific to that notification. The specific data is pointed to by the notifyDetailsP field.

The common data for each notification is documented below the following structure declaration. The Notification Reference section gives details on the important data associated with each type of notification.

typedef struct SysNotifyParamType { 
  UInt32   notifyType; 
  UInt32   broadcaster; 
  void *   notifyDetailsP; 
  void *   userDataP; 
  Boolean  handled; 
  UInt8    reserved2; 
} SysNotifyParamType; 

Field Descriptions

notifyType
The type of event that occurred. See Notification Reference.
broadcaster
The creator ID of the application that broadcast the notification, or sysNotifyBroadcasterCode if the system broadcast the event.
notifyDetailsP
Pointer to data specific to this notification.
userDataP
Custom data that your notification handler requires. You create this data and pass it to SysNotifyRegister.
handled
Set to true if the notification has been handled; set to false otherwise. In some cases, handled is treated as a bit field that notification handlers can use to indicate that certain conditions are true.
reserved2
Reserved for future use.

Notification Reference

New cncNotifyProfileEvent

The cncNotifyProfileEvent is broadcast whenever a connection profile has been created, modified, or deleted and after a request has been made to update the connection profile list.

The notifyDetailsP field informs the notification handler of the type of change that was made. Register for the cncNotifyProfileEvent if your application maintains its own list of connection profiles that it should keep current or if it should help the Connection Panel maintain its list.

cncNotifyProfileEvent Specific Data

notifyDetailsP points to a CncProfileNotifyDetailsType structure.

Prototype

typedef struct _CncProfileNotifyDetailsTag { 
  UInt16 version; 
  UInt32 profileID; 
  UInt16 deviceKind; 
  UInt16 request; 
} CncProfileNotifyDetailsType; 

Fields

versionThe current version of this structure. Use the kCncProfileNotifyCurrentVersion constant to find out what the current version is.
profileIDThe ID of the modified connection profile.
deviceKind Device kind of the profile. This can be one of the following constants:
kCncDeviceKindSerialSerial connection profile.
kCncDeviceKindModemModem profile.
kCncDeviceKindPhonePhone profile.
kCncDeviceKindLocalNetworkLAN profile.
requestThe action that was performed. This can be one of the following constants:
kCncNotifyCreateRequestThe profile has been created.
kCncNotifyDeleteRequestThe profile is about to be deleted.
kCncNotifyModifyRequestThe profile has been modified.
kCncNotifyUpdateListRequestA HotSync operation or system reset has just occurred. The notification handler should update the Connection Panel's list.
If a profile has been created or modified, the request field also contains a flag indicating how the current profile is to be set:
kCncBecomeCurrentModifierThe new profile should be made the current profile.
kCncNotifyAlertUserModifierThe user is prompted to set the current profile.

Compatibility

Implemented only if 4.0 New Feature Set is present.

New sysExternalConnectorAttachEvent

The sysExternalConnectorAttachEvent is broadcast when a USB cradle, RS-232 cradle or peripheral, a power cable, or a modem is attached to the universal connector. This notification is broadcast only on devices that have the universal connector.

sysExternalConnectorAttachEvent Specific Data

The notifyDetailsP field points to a UInt16 that identifies which type of device was attached.

Compatibility

Implemented only if 4.0 New Feature Set is present.

New sysExternalConnectorDetachEvent

The sysExternalConnectorDetachEvent is broadcast when a USB cradle, a RS-232 cradle or peripheral, a power cable, or a modem is detached from the universal connector. This notification is only broadcast on devices that have the universal connector.

sysExternalConnectorDetachEvent Specific Data

The notifyDetailsP field points to a UInt16 that identifies which type of device was detached.

Compatibility

Implemented only if 4.0 New Feature Set is present.

sysNotifyAntennaRaisedEvent

The sysNotifyAntennaRaisedEvent is broadcast by SysHandleEvent when the antenna is raised on a Palm VII series device.

Register for this notification if you want to handle the antenna key down event. To ensure that no other code handles the antenna key down event after yours, set the handled parameter of the SysNotifyParamType structure to true.

sysNotifyAntennaRaisedEvent Specific Data

None.

Compatibility

Implemented only if Notification Feature Set is present.

New sysNotifyCardInsertedEvent

The sysNotifyCardInsertedEvent is broadcast when an Expansion Manager card is inserted into a slot. When a new card is inserted, the Expansion Manager attempts to mount the volume on that card and plays a sound (indicating success or failure) once the attempt is complete.

Most applications will want to register for sysNotifyVolumeMountedEvent instead of this notification. Register for sysNotifyCardInsertedEvent if you need to know when a card is inserted or if you want to prevent the Expansion Manager from performing its default handling of the notification.

To prevent the Expansion Manager from mounting the volume, set the expHandledVolume bit in the handled field. To prevent the Expansion Manager from playing the sound, set the expHandledSound bit in the handled field. For example:

cmdPBP->handled |= expHandledSound; 

sysNotifyCardInsertedEvent Specific Data

notifyDetailsP points to a UInt16 containing the slot reference number.

Compatibility

Implemented only if 4.0 New Feature Set is present.

New sysNotifyCardRemovedEvent

The sysNotifyCardRemovedEvent is broadcast when an Expansion Manager card is removed from a slot. When a card is removed, the Expansion Manager responds to this notification by playing a goodbye sound and then attempting to unmount the volume.

Most applications will want to register for sysNotifyVolumeUnmountedEvent instead of this notification. Register for sysNotifyCardRemovedEvent if you need to know when a card is removed or if you want to prevent the Expansion Manager from performing its default handling of the notification.

To prevent the Expansion Manager from unmounting the volume, set the expHandledVolume bit in the handled field. To prevent the Expansion Manager from playing the sound, set the expHandledSound bit in the handled field. For example:

cmdPBP->handled |= expHandledSound; 

sysNotifyCardRemovedEvent Specific Data

notifyDetailsP points to a UInt16 containing the slot reference number.

Compatibility

Implemented only if 4.0 New Feature Set is present.

New sysNotifyDBDeletedEvent

The sysNotifyDBDeletedEvent is broadcast after a database is removed from the device.

Register for this notification if you keep an internal list of databases that needs to be updated upon removal of a database. For example, the Attention Manager and Connection Manager register for this notification to maintain their internal lists of databases.

sysNotifyDBDeletedEvent Specific Data

notifyDetailsP points to a SysNotifyDBDeletedType structure.

Prototype

typedef struct SysNotifyDBDeletedTag { 
  LocalID oldDBID; 
  UInt16 cardNo; 
  UInt16 attributes; 
  Char dbName[dmDBNameLength]; 
  UInt32 creator; 
  UInt32 type; 
} SysNotifyDBDeletedType; 

Fields

oldDBIDThe local ID of the deleted database. This ID is no longer valid.

WARNING! The ID in oldDBID is invalid by the time the notification is broadcast. If you try to pass it to a Data Manager function, the system will crash.
cardNoThe number of the card on which the database resided.
attributesThe deleted database's attributes.
dbNameThe name of the deleted database.
creatorThe creator ID of the deleted database.
typeThe type of the deleted database.

Compatibility

Implemented only if 4.0 New Feature Set is present.

New sysNotifyDeleteProtectedEvent

The sysNotifyDeleteProtectedEvent is broadcast when the Launcher attempts to delete a database that has the protected flag set. The Launcher broadcasts the notification and then attempts to delete the database again. Any third party application that deletes databases should broadcast this notification as well.

Register for this notification if you have a protected database but you still want to allow users to delete your application or other code resource if they choose. A notification handler should check the information in the notifyDetailsP struct to see if its database is the one being deleted. If so, it should respond to this notification to perform any necessary cleanup and to clear the protected flag. In this way, when the Launcher attempts to delete the database again, it will succeed. Note that if an application has multiple protected databases, this notification may be sent out more than once.

sysNotifyDeleteProtectedEvent Specific Data

notifyDetailsP points to a SysNotifyDBInfoType structure.

Prototype

typedef struct SysNotifyDBInfoTag { 
  LocalID dbID; 
  UInt16 cardNo; 
  UInt16 attributes; 
  Char dbName[dmDBNameLength]; 
  UInt32 creator; 
  UInt32 type; 
} SysNotifyDBInfoType; 

Fields

dbIDThe local ID of the database to be deleted.
cardNoThe number of the card on which the database resides.
attributesThe database's attributes.
dbNameThe name of the database to be deleted.
creatorThe creator ID of the database to be deleted.
typeThe type of the database to be deleted.

Compatibility

Implemented only if 4.0 New Feature Set is present.

New sysNotifyDeviceUnlocked

The sysNotifyDeviceUnlocked notification is broadcast by the Security application when the user unlocks the device. The notification is broadcast immediately after the device has finished unlocking.

If you display UI in response to the sysNotifyLateWakeupEvent notification, you should also register to receive the sysNotifyDeviceUnlocked notification. When a locked device receives the sysNotifyLateWakeupEvent, your UI should not be displayed if the device is waiting for the user to enter the password. The sysNotifyDeviceUnlocked notification is broadcast after the password is entered, which indicates that the user interface is ready.

sysNotifyDeviceUnlocked Specific Data

None.

Compatibility

Implemented only if 4.0 New Feature Set is present.

sysNotifyDisplayChangeEvent

The sysNotifyDisplayChangeEvent is broadcast whenever the display mode changes. That is, either the color table has been set to use a specific palette using the WinPalette function or the bit depth has changed using the WinScreenMode function.

The notifyDetailsP field indicates how the bit depth changed. If the two values in the struct are equal, it means that the color palette has changed instead of the bit depth.

sysNotifyDisplayChangeEvent Specific Data

notifyDetailsP points to a SysNotifyDisplayChangeDetailsType structure.

Prototype

typedef struct { 
  UInt32 oldDepth; 
  UInt32 newDepth; 
} SysNotifyDisplayChangeDetailsType; 

Fields

oldDepth The old bit depth.
newDepth The new bit depth.

Compatibility

Implemented only if Notification Feature Set is present.

sysNotifyEarlyWakeupEvent

The sysNotifyEarlyWakeupEvent is broadcast during SysHandleEvent immediately after the system has finished sleeping. The screen may still be turned off, and the system may not fully wake up. It may simply handle an alarm or a battery charger event and go back to sleep. Most applications that need notification of a wakeup event will probably want to register for sysNotifyLateWakeupEvent instead.


IMPORTANT: This notification is not guaranteed to be broadcast. Thus, it is not suitable for applications where external hardware must be turned on when the system is powered on.

sysNotifyEarlyWakeupEvent Specific Data

None.

Compatibility

Implemented only if Notification Feature Set is present.

sysNotifyForgotPasswordEvent

The sysNotifyForgotPasswordEvent is broadcast after the user taps the Lost Password button in the Security application. The notification is sent after the user has confirmed that all private records should be deleted but before the deletion actually occurs.

sysNotifyForgotPasswordEvent Specific Data

None.

Compatibility

Implemented only if Notification Feature Set is present.

New sysNotifyGotUsersAttention

The sysNotifyGotUsersAttention notification is broadcast when the Attention Manager has finished displaying or sounding its attention indicators (blinking, playing sounds, vibrating, and so on).

System extensions or shared libraries should register for this notification if they want to perform some extra effect or if they simply want to be informed of when the user's attention was received.

sysNotifyGotUsersAttention Specific Data

notifyDetailsP points to an AttnNotifyDetailsType structure.

Prototype

typedef struct { 
  AttnFlagsType flags; 
} AttnNotifyDetailsType; 

Fields

flagsThe attention indicators that were used to get the user's attention. See AttnFlagsType.

Compatibility

Implemented only if 4.0 New Feature Set is present.

New sysNotifyHelperEvent

The sysNotifyHelperEvent is broadcast by applications to request a service from another application. For example, the Address Book application broadcasts this notification to request that the Dial application dial a phone number. For the sysNotifyHelperEvent, the notification client (that is, the application or shared library that registers for the notification) is called a helper.

The application that broadcasts this notification specifies one of the action codes listed in Table 36.1 in Chapter 36, "Helper API." These action codes request all helper applications to enumerate (list the services they perform), validate (ensure that the service will succeed), and execute (perform the action). The helper responds to the notification by returning the required data in the appropriate portion of the notifyDetailsP structure and by setting the handled field to true or false to indicate the success or failure of the action.

For more information on this notification, see the section "Helper Notifications" in the Palm OS Programmer's Companion, vol. I.

sysNotifyHelperEvent Specific Data

notifyDetailsP points to a HelperNotifyEventType structure.

Compatibility

Implemented only if 4.0 New Feature Set is present.

sysNotifyLateWakeupEvent

The sysNotifyLateWakeupEvent is broadcast during SysHandleEvent immediately after the device has finished waking up. This notification is sent at the late stage of wakeup, after the screen has been turned on. When this notification is broadcast, the system is guaranteed to fully wake up. Register for this notification if you need to perform startup tasks each time the system wakes up.


IMPORTANT: This notification is not guaranteed to be broadcast. Thus, it is unsuitable for applications where external hardware must be powered on when the device wakes up.

When the device receives this notification, it may be locked and waiting for the user to enter the password. If this is the case, you must wait for the user to unlock the device before you display a user interface. Therefore, if you intend to display a user interface when the device wakes up, you should make sure the device is not locked. If the device is locked, you should register for sysNotifyDeviceUnlocked notification and display your user interface when it is received. For example:

case sysNotifyLateWakeupEvent:  
  if ((Boolean)  
      PrefGetPreference(prefDeviceLocked)) { 
    SysNotifyRegister(myCardNo, myDbID,  
      sysNotifyDeviceUnlocked, NULL,  
      sysNotifyNormalPriority, NULL); 
  } else { 
    HandleDeviceWakeup(); 
  } 
case sysNotifyDeviceUnlocked:  
  HandleDeviceWakeup(); 

Note that the sysNotifyDeviceUnlocked notification is only broadcast on Palm OS 4.0 and higher.

sysNotifyLateWakeupEvent Specific Data

None.

Compatibility

Implemented only if Notification Feature Set is present.

New sysNotifyLocaleChangedEvent

The sysNotifyLocaleChangedEvent is broadcast immediately after the system locale has changed. Currently, the user has the opportunity to change the locale only when the device first starts up and after a hard reset.

RAM-based applications and other code resources should obtain locale information by passing the prefLocale constant to PrefGetPreference. They should not register for this notification. This notification is used by the built-in applications, which respond to it by rebuilding their default databases to use the newly selected language and character set.

sysNotifyLocaleChangedEvent Specific Data

notifyDetailsP points to a SysNotifyLocaleChangedType structure.

Prototype

typedef struct SysNotifyLocaleChangedTag { 
  LmLocaleType oldLocale; 
  LmLocaleType newLocale; 
} SysNotifyLocaleChangedType; 

Fields

oldLocaleThe old locale. See LmLocaleType.
newLocaleThe new locale.

Compatibility

Implemented only if 4.0 New Feature Set is present.

sysNotifyMenuCmdBarOpenEvent

The sysNotifyMenuCmdBarOpenEvent is broadcast during MenuHandleEvent when it is about to display the menu shortcut command bar.

Register for this notification if you are writing a system extension (such as a "hack" installed with the HackMaster program) that needs to add a button to the menu command bar or to suppress the menu command bar. To add a button, call MenuCmdBarAddButton. To suppress the command toolbar, set the handled field to true.

Applications that need to add their own buttons to the menu command bar should do so in response to a menuCmdBarOpenEvent. They should not register for this notification because an application should only add buttons if it is already the active application. The notification is sent after the event has been received, immediately before the command toolbar is displayed.

sysNotifyMenuCmdBarOpenEvent

None.

Compatibility

Implemented only if Notification Feature Set is present.

New sysNotifyNetLibIFMediaEvent

The sysNotifyNetLibIFMediaEvent is broadcast at the top of the event loop whenever the network interface makes the network connection active or inactive. The Network Panel uses this notification to decide whether the Connect button should be active.

Register for this notification if you need to know when the network connection is currently active.

sysNotifyNetLibIFMediaEvent Specific Data

notifyDetailsP contains a SysNotifyNetLibIFMediaType structure.

Prototype

typedef struct SysNotifyNetLibIFMediaTag { 
  NetLibIFMediaEventNotificationTypeEnum eType; 
  UInt32 ifCreator; 
  UInt16 ifInstance; 
} SysNotifyNetLibIFMediaType; 

Fields

eTypeOne of the following values:
netIFMediaUpThe network connection is active. This is usually sent after the network interface has displayed UI indicating that a connection attempt is in progress.
netIFMediaDownThe network connection is inactive. This is usually sent after the network interface has brought the connection down because an inactivity timeout value was reached.
ifCreatorCreator ID of the network interface
ifInstanceInstance number of the network interface.

Compatibility

Implemented only if 4.0 New Feature Set is present.

sysNotifyResetFinishedEvent

The sysNotifyResetFinishedEvent is broadcast immediately after the system has finished a reset.

Because the notification registry is cleared upon a reset, only internal system components use this notification. Applications that need to be informed of a system reset can respond to the sysAppLaunchCmdSystemReset launch code.

sysNotifyResetFinishedEvent Specific Data

None.

Compatibility

Implemented only if Notification Feature Set is present.

New sysNotifyRetryEnqueueKey

The sysNotifyRetryEnqueueKey notification is broadcast at the top of the event loop if the Attention Manager has attempted to post a virtual character to the key queue and failed because the queue is full. The notification signals that the Attention Manager is going to retry enqueuing the virtual character until it is successful.

Most applications do not need to register for this notification. It is used only by the Attention Manager to schedule retries of enqueuing the virtual character. When enqueueing a virtual character fails, the Attention Manager retries at the top of the event loop. It uses this notification to schedule retries so that they occur even if the user switches applications.

sysNotifyRetryEnqueueKey Specific Data

notifyDetailsP points to a WChar containing the virtual character to be enqueued.

Compatibility

Implemented only if 4.0 New Feature Set is present.

sysNotifySleepNotifyEvent

The sysNotifySleepNotifyEvent is broadcast during SysHandleEvent immediately before the system is put to sleep. After the broadcast is complete, the system is put to sleep.

Register for this notification if you have a small amount of cleanup that needs to be performed before the system goes to sleep. It is recommended that you not perform any sort of prolonged activity, such as displaying an alert panel that requests confirmation, in response to a sleep notification. If you do, the alert might be displayed long enough to trigger another auto-off event, which could be detrimental to other handlers of this notification.

If your code is in the middle of a lengthy computation and needs to defer sleep, it should register for the sysNotifySleepRequestEvent instead.


IMPORTANT: This notification is not guaranteed to be broadcast. For example, if the system goes to sleep because the user removes the batteries, sleep notifications are not sent. Thus, these notifications are unsuitable for applications where external hardware must be shut off to conserve power before the system goes to sleep.

sysNotifySleepNotifyEvent Specific Data

None.

Compatibility

Implemented only if Notification Feature Set is present.

sysNotifySleepRequestEvent

The sysNotifySleepRequestEvent is broadcast during SysHandleEvent processing when the system has decided to go to sleep.

Register for this notification if you need to delay the system from going to sleep while your code performs a lengthy operation, such as disconnecting from the network. The system checks the deferSleep value when each notification handler returns. If it is nonzero, it cancels the sleep event.

After you defer sleep, your code is free to finish what it was doing. When it is finished, you must allow the system to continue with the sleep event. To do so, create a keyDownEvent with the resumeSleepChr and the command key bit set (to signal that the character is virtual) and add it to the event queue. When the system receives this event, it will again broadcast the sysNotifySleepRequestEvent to all clients. If deferSleep is 0 after all clients return, then the system knows it is safe to go to sleep, and it broadcasts the sysNotifySleepNotifyEvent to all of its clients.

Note that you may receive this notification several times before the system goes to sleep because notification handlers can delay the system sleep and resume it later.


IMPORTANT: This notification is not guaranteed to be broadcast. For example, if the system goes to sleep because the user removes the batteries, sleep notifications are not sent. Thus, these notifications are unsuitable for applications where external hardware must be shut off to conserve power before the system goes to sleep.

sysNotifySleepRequestEvent Specific Data

notifyDetailsP points to a SleepEventParamType structure.

Prototype

typedef struct { 
  UInt16 reason; 
  UInt16 deferSleep; 
} SleepEventParamType; 

Fields

reason The reason the system is going to sleep. The possible values are:
sysSleepAutoOffThe idle time limit has been reached.
sysSleepPowerButtonThe user pressed the power off button.
sysSleepResumedThe sleep event was deferred by one of the notification handlers but has been resumed through the use of the resumeSleepChr.
sysSleepUnknownUnknown reason.
deferSleep Initially set to 0. If a notification handler wants to defer sleep, then it should increment this value. When deferSleep is greater than 0, the system waits before going to sleep.

Compatibility

Implemented only if Notification Feature Set is present.

sysNotifySyncFinishEvent

The sysNotifySyncFinishEvent is broadcast immediately after a HotSync operation has completed. Register for this notification if you need to perform post-processing after HotSync operations.

sysNotifySyncFinishEvent Specific Data

None.

Compatibility

Implemented only if Notification Feature Set is present.

sysNotifySyncStartEvent

The sysNotifySyncStartEvent is broadcast immediately before a HotSync operation is begun. Register for this notification if you need to perform preprocessing before a HotSync operation.

sysNotifySyncStartEvent Specific Data

None.

Compatibility

Implemented only if Notification Feature Set is present.

sysNotifyTimeChangeEvent

The sysNotifyTimeChangeEvent notification is broadcast just after the system time has been changed using TimSetSeconds. Register for this notification if you need to know when the time has changed.

sysNotifyTimeChangeEvent Specific Data

None.

Compatibility

Implemented only if Notification Feature Set is present.

New sysNotifyVolumeMountedEvent

The sysNotifyVolumeMountedEvent is broadcast when a Virtual File System Manager volume is mounted. When a volume is mounted, the VFS Manager activates the start.prc application on the newly mounted volume and switches applications to the Launcher or to the start.prc application on that volume if it has a user interface.

Register for this notification if you need to know when a volume is mounted or if you want to prevent the default behavior of the VFS Manager.

To prevent the VFS Manager from activating the start.prc application, set the vfsHandledStartPrc bit in the handled field. To prevent the VFS Manager from switching applications, set the vfsHandledUIAppSwitch bit.

sysNotifyVolumeMountedEvent Specific Data

notifyDetailsP points to a VFSSlotMountParamType or VFSPOSEMountParamType structure.

Compatibility

Implemented only if 4.0 New Feature Set is present.

New sysNotifyVolumeUnmountedEvent

The sysNotifyVolumeUnmountedEvent is broadcast when a Virtual File System Manager volume is unmounted. Register for this notification if you need to know when a volume is unmounted.

sysNotifyVolumeUnmountedEvent Specific Data

notifyDetailsP points to a UInt16 containing the volume reference number.

Compatibility

Implemented only if 4.0 New Feature Set is present.