Resources | Resources |



Use of ISettings

ISettings_Set() should be used prudently, and the handling of the ISettings notifications should be asynchronous (using IShell_Resume() or IShell_SetTimer()) if expensive operations need to be performed. Both considerations are particularly important in the cooperative multitasking environment in which multiple applets may register for and handle the notifications of the same item and calling ISettings_Set() on one item may wake up multiple applets for the handling of the same notification.

Avoid calling ISettings_Set() more than necessary and avoid long synchronous handling of notifications since it could potentially compromise the execution flows of many other registering applets.

ISettings_Set() results in updates in the .ini file-based settings store (file operations on the .ini settings file), making it an expensive function call that should be avoided in any time-sensitive process, such as the device boot process. In some cases, 90 ISettings_Set() calls during device boot resulted in a 1.9 sec overhead.