Location:
f32file.h
Link against: efsrv.lib
RFs
Supported from 5.0
Handle to file server session. A program, or thread, may have arbitrarily many sessions open simultaneously.
Use this class for all file system manipulation, including
adding, removing, moving and renaming files and directories
inspecting and changing file and directory attributes and entry details. These include the time and date when the file or directory was last written, its size, and various file attribute flags such as read-only, hidden, archive or system.
finding a file’s real name — if the file system on which it is stored has to “mangle” the name into a shorter format
obtaining directory listings
maintaining a default path — unlike some other systems, there is a single system default path, rather than one for each drive: the default path consists of a drive and a path specification.
performing context-sensitive parses using TParse
objects, and the session path
obtaining information on drives and volumes
formatting and labelling volumes
obtaining a list of valid drives
emulating the DOS subst command, which allows any directory to appear as if it were a separate drive
requesting notification of when significant change occurs. This can be used for programs which maintain file lists, but must update those lists when change occurs.
finding the version number of the file server
a resource count to ensure that all resources are closed when the session terminates
This class is not intended for user derivation.
Note that when using the functions provided by this class and a path is specified, the following restrictions apply to it and to its components:
its total length must not exceed 256 characters and the length of each directory and filename component which forms part of the path must be less than 256 characters.
wildcards cannot be used in the drive or in any directory name, although they may be allowed in the filename and extension.
double backslashes are not allowed in the path.
the following characters must not be included anywhere in the path: < > " / |
a colon may only be included between the drive and path
no directory name or filename plus extension may consist solely of space characters, or of a single or double dot.
spaces between the drive, if specified, and the first directory in the path are illegal, although there may be spaces between other path components, for instance between directories.
|
Defined in RFs
:
AddFileSystem()
, Att()
, CharToDrive()
, CheckDisk()
, ClearPassword()
, Connect()
, ControlIo()
, DebugNotify()
, DefaultPath()
, Delete()
, DismountFileSystem()
, Drive()
, DriveList()
, DriveToChar()
, Entry()
, FileSystemName()
, GetDir()
, GetDriveName()
, GetLongName()
, GetNotifyUser()
, GetShortName()
, IsFileInRom()
, IsFileOpen()
, IsRomAddress()
, IsValidDrive()
, IsValidName()
, LockDrive()
, MkDir()
, MkDirAll()
, Modified()
, MountFileSystem()
, NotifyChange()
, NotifyChangeCancel()
, NotifyDiskSpace()
, NotifyDiskSpaceCancel()
, Parse()
, ReadFileSection()
, RealName()
, RemoveFileSystem()
, Rename()
, Replace()
, ResourceCount()
, ResourceCountMarkEnd()
, ResourceCountMarkStart()
, RmDir()
, ScanDrive()
, SessionPath()
, SetAtt()
, SetDefaultPath()
, SetDriveName()
, SetEntry()
, SetModified()
, SetNotifyUser()
, SetSessionPath()
, SetSubst()
, SetVolumeLabel()
, Subst()
, UnlockDrive()
, Version()
, Volume()
Inherited from RHandleBase
:
Close()
,
Duplicate()
,
Handle()
,
SetHandle()
Inherited from RSessionBase
:
Attach()
,
CreateSession()
,
EAutoAttach
,
EExplicitAttach
,
Send()
,
SendReceive()
,
SetRetry()
,
Share()
,
TAttachMode
TInt Connect(TInt aMessageSlots=KFileServerDefaultMessageSlots);
Connects a client process to the file server.
Notes:
The number of message slots represents the number of operations that can be outstanding at once. The default value, four slots, allows an asynchronous read, write, and another operation to be outstanding at the same time, and a spare slot for a cancel.
If you wish to have more asynchronous operations outstanding than this, use more message slots. You should always provide an extra slot for the cancel operation.
Often, specification of extra slots is not required because several file server session objects are used in a program, each carrying its own message slots.
To end the file server session, use Close()
,
defined in the base class RHandleBase
.
|
|
TInt MkDir(const TDesC& aPath);
Makes a directory. It should be a sub-directory of an existing directory and its name should be unique within its parent directory, otherwise the function returns an error.
Note that if a filename is specified in the argument, it is ignored. Therefore, there should be a trailing backslash after the final directory name in the argument to indicate that it is a directory, not a filename.
See MkDirAll()
, which may also create intermediate
directories.
|
|
TInt MkDirAll(const TDesC& aPath);
Makes one or more directories. Any valid path component specified in the specified path which does not already exist is created as a directory.
Note that if a filename is specified in the argument, it is ignored. Therefore, there should be a trailing backslash after the final directory name in the argument to indicate that it is a directory, not a filename.
See MkDir()
, which creates only a single new
directory.
|
|
TInt RmDir(const TDesC& aPath);
Removes a directory. The directory must be empty and cannot be the root directory.
Note that if a filename is specified in the argument, it is ignored. Therefore, there should be a trailing backslash after the final directory name in the argument to indicate that it is a directory, not a filename.
See class CFileMan
for information on deleting a
non-empty directory and all its contents.
|
|
TInt Delete(const TDesC& aName);
Deletes a single file. Wildcards are not allowed in either the file name or the extension, otherwise an error is returned.
Note that the file must be closed and must not be read-only. Hidden files may be deleted but system files may not be deleted.
See class CFileMan
for information on deleting
multiple files.
|
|
TInt Rename(const TDesC& anOldName,const TDesC& aNewName);
Renames a single file or directory. It can also be used to move a file or directory by specifying different destination and source directories. If so, the destination and source directories must be on the same drive. If a directory is moved, then the directory structure beneath it is also moved.
If a directory specified by aNewName
is different
from one specified by anOldName
, then the file or directory is
moved to the new directory, see example below. The file or directory may not be
moved to another device by this means, either explicitly (by another drive
specified in the name) or implicitly (because the directory has been mapped to
another device with SetSubst()
).
The function fails and returns an error code in the following circumstances:
If either the old or new name includes wildcards.
If a file or directory with the new name already exists in the target directory. There is no overwriting.
If file anOldName
does not exist, or is
open.
Read-only, system and hidden files may be renamed. The renamed file's attributes are preserved.
Note that when this function is operating on directories, a
trailing backslash is not required after the final directory name in either
anOldName
or aNewName
.
See class CFileMan
for information on renaming
multiple files.
|
|
TInt Replace(const TDesC& anOldName,const TDesC& aNewName);
Replaces a single file with another. This function does not
support the use of wildcards. Unlike Rename()
, it only applies to
files.
This function operates as follows:
if the aNewName
file does not exist, it is
created.
anOldName
's contents, attributes and the date
and time of its last modification are copied to file aNewName
,
overwriting any existing contents and attribute details.
anOldName
is deleted.
anOldName
may be hidden, read-only or a system
file. However, neither anOldName
or if it exists,
aNewName
, may be open and aNewName
must not be
read-only, or the function will fail, returning an error. Both files must be on
the same drive.
|
|
TInt Att(const TDesC& aName,TUint& aAttValue) const;
Returns a file's attributes.
|
|
TInt SetAtt(const TDesC& aName,TUint aSetAttMask,TUint aClearAttMask);
Sets or clears the attributes of a single file.
The function uses two bitmasks. The first bitmask specifies the attributes to set. The second specifies the attributes to clear.
Notes:
The function raises a FSCLIENT 21 panic if any attribute is specified in both bitmasks.
An attempt to set or clear either the
KEntryAttDir
orKEntryAttVolume
attribute has no
effect.
|
|
TInt Modified(const TDesC& aName,TTime& aTime) const;
Gets the last modification date and time of a file or directory. If there has been no modification, the function gets the date and time of the file or directory's creation.
|
|
TInt Entry(const TDesC& aName,TEntry& anEntry) const;
Gets the entry details, including UID information, for a file or directory.
|
|
TInt SetModified(const TDesC& aName,const TTime& aTime);
Sets the date and time that the contents of a file or directory were modified.
|
|
TInt SetEntry(const TDesC& aName,const TTime& aTime,TUint aSetAttMask,TUint aClearAttMask);
Sets both the attributes and the last modified date and time for a file or directory.
The function uses two bitmasks. The first bitmask determines which attributes should be set. The second bitmask determines which are cleared.
Notes:
The function raises a FSCLIENT 21 panic if any attribute is specified in both bitmasks.
An attempt to set or clear either the
KEntryAttDir
orKEntryAttVolume
attribute has no
effect.
|
|
TInt RealName(const TDesC& aName,TDes& aResult) const;
Gets the real name of a file.
This is used in circumstances where a file system needs to mangle EPOC natural names so that it can store them on that file system.
|
|
TInt GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey, CDir*& anEntryList) const;
Gets a filtered list of a directory’s contents. The bitmask determines which file and directory entry types should be listed. The sort key determines the order in which they are listed.
Notes:
If sorting by UID (ESortByUid
is OR'ed with
the entry sort key), then UID information will be included in the listing
whether or notKEntryAttAllowUid
is specified
inanEntryAttMask
.
The function sets anEntryList
to NULL, then
allocates memory for it before appending entries to the list.
Therefore,anEntryList
should have no memory allocated to it before
this function is called, otherwise this memory will become orphaned.
The caller of this function is responsible for
deletinganEntryList
after the function has returned.
|
|
TInt GetDir(const TDesC& aName,TUint anEntryAttMask,TUint anEntrySortKey, CDir*& anEntryList,CDir*& aDirList) const;
Gets a filtered list of the directory and file entries
contained in a directory and a list of the directory entries only. The bitmask
determines which file and directory entry types should be listed
inanEntryList
. The contents of the second
list,aDirList
are not affected by the bitmask — it
returns all directory entries contained in directory aName
. The
sort key determines the order in which both lists are sorted.
Notes:
If sorting by UID (ESortByUid
is OR'ed with
the entry sort key), then UID information will be included in the listing
whether or notKEntryAttAllowUid
is specified
inanEntryAttMask
.
The function sets both anEntryList
and
aDirList
to NULL, then allocates memory for them before appending
entries to the lists. Therefore, anEntryList
and
aDirList
should have no memory allocated to them before this
function is called, otherwise this memory will become orphaned.
The caller of this function is responsible for
deletinganEntryList
and aDirList
after the function
has returned.
|
|
TInt GetDir(const TDesC& aName,const TUidType& anEntryUid,TUint anEntrySortKey, CDir*& aFileList) const;
Gets a filtered list of a directory’s
contents — by UID. The TUidType
parameter determines
which file entry types should be listed. The sort key determines the order in
which they are listed.
Notes:
The function sets aFileList
to NULL, then
allocates memory for it before appending entries to the list. Therefore,
aFileList
should have no memory allocated to it before this
function is called, otherwise this memory will become orphaned.
The caller of this function is responsible for
deletingaFileList
after the function has returned.
|
|
TInt DefaultPath(TDes& aPath) const;
Gets the system default path. This path is assigned as the session path to new clients when they connect to the file server. There is a single system default path rather than one for each drive.
|
|
TInt SetDefaultPath(const TDesC& aPath);
Sets the system default path. This path is assigned as the session path to new clients when they connect to the file server. The session paths of existing clients remain unchanged. There is a single system default path rather than one for each drive.
Note:
The default path is text-only. It does not cause any locking. Thus, although the path must be syntactically correct, its components do not need to be valid at the time the path is set, and any component may be deleted, removed or unmounted while the path is set.
|
|
TInt SessionPath(TDes& aPath) const;
Gets the session path. When a client connects to the file
server, its session path is initialised to the system default path. The session
path of an existing client can only be changed
bySetSessionPath()
.
|
|
TInt SetSessionPath(const TDesC& aPath);
Sets the session path for the current file server client. When the client first connects to the file server, its session path is initialised to the system default path.
Note:
The session path is text-only. It does not cause any locking. Thus, although the path must be syntactically correct, its components do not need to be valid at the time the path is set, and any component may be deleted, removed or unmounted while the path is set.
|
|
TInt Parse(const TDesC& aName,TParse& aParse) const;
Parses a filename specification.
Parsing is done with wildcard resolution, using the session
path as the default. You may then use TParse
’s getter
functions to extract individual components of the resulting name. All the path
components which are included in aName
are put into the resulting
filename; then, any components still missing are taken from the session path.
See classTParse
for more information on parsing file
specifications.
If you specify
TParse fp;
fs.Parse(name,fp);
it is equivalent to
TParse fp;
fp.Set(name,NULL,&fs.SessionPath());
Note:
This function doesn’t check for illegal characters, or for illegal path components in either of the paths specified.
|
|
TInt Parse(const TDesC& aName,const TDesC& aRelated,TParse& aParse) const;
Parses a filename specification, specifying related file path components.
Parsing is done with wildcard resolution, using the session
path as the default. You may then use TParse
’s getter
functions to extract individual components of the resulting name. All the path
components which are included in aName
are put into the resulting
filename; then, any missing components are taken from the optional
aRelated
argument, which has next order of precedence; finally, any
components still missing are taken from the session path. See class
TParse
for more information on parsing file specifications.
If you specify
TParse fp;
fs.Parse(name,related,fp);
it is equivalent to
TParse fp;
fp.Set(name,related,&fs.SessionPath());
Note:
This function doesn’t check for illegal characters, or for illegal path components in either of the paths specified.
|
|
TInt DriveList(TDriveList& aList) const;
Gets a list of the available drives. The drive list consists of an array of 26 bytes. Array index zero corresponds to drive A, one equals B etc. Each byte with a non zero value signifies that the corresponding drive contains recognised media.
Note:
The local file system always reserves drive letters A
through I. The internal RAM always uses drive letter C. Drive letter Z is
always used for the ROM which means that letters J through Y are available to
be used bySetSubst()
or for redirecting.
|
|
TInt Drive(TDriveInfo& anInfo,TInt aDrive=KDefaultDrive) const;
Gets information about a drive and the medium mounted on it.
Note:
Volume()
may also be used, to give information
about the drive and the volume mounted in it. These functions are separate
because, while the characteristics of a drive cannot be changed, those of a
volume can be changed by mounting different media, reformatting etc.
|
|
TInt Volume(TVolumeInfo& aVol,TInt aDrive=KDefaultDrive) const;
Gets volume information for a formatted device. This function
provides additional information to that given by Drive()
,
including the volume label, if set, and the amount of free space on the
disk.
Note:
Use Drive()
to get information about the drive
without reference to a volume. These two functions are separate because, while
the characteristics of a drive cannot be changed, those of a volume can be
changed by mounting different media, reformatting etc. A volume may not even be
present if the media is removable.
|
|
TInt SetVolumeLabel(const TDesC& aName,TInt aDrive=KDefaultDrive);
Sets the label for a volume.
Note:
The volume label can be retrieved by examining the
iName
member of class TVolumeInfo
.
|
|
TInt GetDriveName(TInt aDrive,TDes& aDriveName) const;
Gets the name of a drive. Drive naming is optional. If the drive specified has not been assigned a name, this function returns a descriptor whose length is zero.
|
|
TInt SetDriveName(TInt aDrive,const TDesC& aDriveName);
Sets the name of a drive. Drive naming is optional. Any drive may be assigned a name and more than one drive may share the same name.
|
|
static TBool IsValidDrive(TInt aDrive);
Tests whether a drive number is valid. A valid drive number is any number between 0 and 25 inclusive.
|
|
static TInt CharToDrive(TChar aChar,TInt& aDrive);
Maps a drive character to the corresponding number. The drive
character must be in the range A to Z. For example, drive A corresponds to
zero, drive B corresponds to 1. For the drive number enumeration,
seeTDriveNumber
.
|
|
static TInt DriveToChar(TInt aDrive,TChar& aChar);
Maps a drive number to the corresponding character. The drive
number must be in the range 0 to 25. For example, drive number zero
(EDriveA
) corresponds to drive A, one (EDriveB
)
corresponds to drive B. For the drive number enumeration, see
TDriveNumber
.
|
|
TInt Subst(TDes& aPath,TInt aDrive=KDefaultDrive) const;
Gets the path assigned to a drive letter
bySetSubst()
.
Note:
To find out whether a drive letter has been substituted,
first get the drive information, using Drive()
, then test the
value of theKDriveAttSubsted
bit provided
byTDriveInfo::iDriveAtt
.
|
|
TInt SetSubst(const TDesC& aPath,TInt aDrive=KDefaultDrive);
Assigns a path to a drive letter. Whenever that drive letter is
used, it will be translated into a reference to the path specified here. To
clear a drive substitution, specify an empty descriptor for
aPath
.
Note:
The substituted path is text-only. Its components need not be syntactically correct, nor must they be valid at the time the substitution is set. Any component may be deleted, removed or unmounted while the substitution is set.
|
|
void NotifyChange(TNotifyType aType,TRequestStatus& aStat);
Requests a notification of change to all files or directories. Changes are notified either following any change in the file system at all, or only following the addition or deletion of a directory entry or after a disk has been formatted or changed.
Such notification is useful for programs that maintain displays of file lists which must be dynamically updated. The alternative would be either no updating at all or periodic monitoring for change — which would be wasteful.
This call is an asynchronous request and, as such, results in
precisely one signal to the request status passed as a parameter. In order to
avoid missing any change, this request should be issued before the first file
list is constructed: when the request completes, a new request should be issued
before the next file list is constructed. When the file server session is
closed, this request is implicitly cancelled: otherwise,
NotifyChangeCancel()
can be used to explicitly cancel it.
Note:
The function raises a panic if it is called when change notification is already active.
|
void NotifyChange(TNotifyType aType,TRequestStatus& aStat,const TDesC& aPathName);
Requests a notification of change to files or directories, allowing the notification directory/file path to be specified.
Changes are notified either following any change in the file system at all, or only following the addition or deletion of a directory entry or after a disk has been formatted or changed. Such notification is useful for programs that maintain displays of file lists which must be dynamically updated. The alternative would be either no updating at all or periodic monitoring for change — which would be wasteful.
This call is an asynchronous request and, as such, results in
precisely one signal to the request status passed as a parameter. In order to
avoid missing any change, this request should be issued before the first file
list is constructed: when the request completes, a new request should be issued
before the next file list is constructed. When the file server session is
closed, this request is implicitly cancelled: otherwise,
NotifyChangeCancel()
can be used to explicitly cancel it.
Note:
The function raises a panic if it is called when change notification is already active.
|
void NotifyChangeCancel();
Cancels a requested change notification — synchronous overload.
void NotifyChangeCancel(TRequestStatus& aStat);
Cancels a requested change notification — asynchronous overload.
|
TVersion Version() const;
Returns the version number.
|
TInt AddFileSystem(const TDesC& aFileName) const;
Adds a file system to the file server.
After calling this function, use MountFileSystem()
to mount the file system on a drive.
|
|
TInt MountFileSystem(const TDesC& aFileSystemName,TInt aDrive) const;
Mounts a file system on a drive.
The file system must first have been added to the file server,
usingAddFileSystem()
.
|
|
TInt RemoveFileSystem(const TDesC& aFileSystemName) const;
Removes file system from the file server.
|
|
TInt DismountFileSystem(const TDesC& aFileSystemName,TInt aDrive) const;
Supported from 5.1
Dismounts a file system from the given drive.
|
|
TInt FileSystemName(TDes& aName,TInt aDrive) const;
Supported from 5.1
Gets the name of the file system on the specified drive.
Can be used before a call
toDismountFileSystem()
.
|
|
void ResourceCountMarkStart() const;
Starts resource count checking. Typically, this function is called immediately after a client process is connected to the file server, and before any resources are opened.
void ResourceCountMarkEnd() const;
Ends resource count checking. A panic occurs if the number of resources opened since the start of resource count checking is not equal to the number of resources closed. Typically, this function is called immediately before closing a session with the file server.
TInt ResourceCount() const;
Returns the number of currently open resources. The resource count is incremented by one each time a file or directory is opened, when a device is opened in preparation for formatting, or when a direct access channel to a disk is opened.
|
TInt IsFileOpen(const TDesC& aFile,TBool& anAnswer) const;
Tests whether a file is open. This function is useful because
several file based operations provided by the RFs
class, for
instanceDelete()
, Rename()
and Replace()
require that the file must be closed.
|
|
TInt CheckDisk(const TDesC& aDrive) const;
Checks the integrity of the disk contained in the specified
driveaDrive
.
|
|
TInt ScanDrive(const TDesC& aDrive) const;
Supported from 6.0
Checks the specified drive for specific errors and corrects them.
This does not run on internal RAM drive and only applies to a FAT file system.
|
|
TInt GetShortName(const TDesC& aLongName,TDes& aShortName) const;
Gets the short filename associated with a VFAT long filename. The short filename has a limit of eight characters for the file name and three for the extension.
|
|
TInt GetLongName(const TDesC& aShortName,TDes& aLongName) const;
Gets the long filename associated with a short (8.3) filename. A long filename has a limit of 256 characters for each component, a well as a limit of 256 characters for the entire path.
|
|
static TBool IsRomAddress(TAny* aAny);
Tests whether the specified address is in ROM.
|
|
TUint8* IsFileInRom(const TDesC& aFileName) const;
Returns the address of a file located in ROM. If the file is not in ROM (i.e. not on drive Z:), the pointer returned is set to NULL.
|
|
TBool IsValidName(const TDesC& anEntryName) const;
Tests whether a filename and path are syntactically correct. The following restrictions apply to the path and to its components:
Wildcards are not allowed in any path component, including the filename and extension.
Double backslashes are not allowed anywhere in the path.
The following characters cannot occur in the path : < > " / |. All other characters are acceptable.
Either or both of a filename or extension must be present, or the function will return false.
The entire component following the final backslash (the filename and extension) may not consist solely of space characters, or of a single or double dot.
Spaces between the drive, if specified, and the first directory in the path are illegal, although there may be spaces between other path components, for example, between directories.
|
|
TBool IsValidName(const TDesC& aFileName,TText& aBadChar) const;
Tests whether a filename and path are syntactically correct. The following restrictions apply to the path and to its components:
Wildcards are not allowed in any path component, including the filename and extension.
Double backslashes are not allowed anywhere in the path.
The following characters cannot occur in the path : < > " / |. All other characters are acceptable.
Either or both of a filename or extension must be present, or the function will return false.
The entire component following the final backslash (the filename and extension) may not consist solely of space characters, or of a single or double dot.
Spaces between the drive, if specified, and the first directory in the path are illegal, although there may be spaces between other path components, for example, between directories.
|
|
TBool GetNotifyUser();
Tests whether user notification of file read or write failure is in effect.
|
void SetNotifyUser(TBool aValue);
Sets whether the user should be notified of file read or write failure.
|
TInt ReadFileSection(const TDesC& aName,TInt aPos,TDes8& aDes,TInt aLength) const;
Reads data from a file without opening it. The contents of the file can be accessed regardless of the file’s lock state.
The file may be open by any number of other clients for reading or writing. In allowing such access to a file, the fileserver makes no guarantees as to the validity of the data it returns.
|
|
TInt LockDrive(TInt aDrv, const TMediaPassword& aOld, const TMediaPassword& aNew, TBool aStr);
Supported from 6.0
Locks the card in the specified drive.
The function locks an unlocked card and sets the password. An existing password can be changed.
The new password can be added to the controller’s password store so that the controller can subsequently issue the password without the user having to be prompted for it again.
|
|
TInt UnlockDrive(TInt aDrv, const TMediaPassword& Pswd, TBool aStr);
Supported from 6.0
Unlocks the card in the specified drive.
The password can be added to the controller's password store so that so that the controller can subsequently issue the password without the user having to be prompted for it again.
|
|
TInt ClearPassword(TInt aDrv, const TMediaPassword& Pswd);
Supported from 6.0
Clears the password from the card in the specified drive.
Clearing the password causes the card controller to set the password to null.
|
|
TInt ControlIo(TInt aDrive,TInt aCommand,TAny* aParam1,TAny* aParam2);
Supported from 6.0
A general purpose interface to aid debugging and verification of a file system. It provides a mechanism for passing information to and from a file system and is file system specific.
Note that the function is only supported in debug builds.
|
|
void DebugNotify(TInt aDrive,TUint aNotifyType,TRequestStatus& aStat);
Supported from 6.0
A general purpose function to aid debugging and verification of a file system. It provides a mechanism for requesting notification of file system events. The set of events is specific to the file system.
Note that the function is only supported in debug builds.
|
void NotifyDiskSpace(TInt64 aThreshold,TInt aDrive,TRequestStatus& aStat);
Supported from 6.1
Requests notification when the free disk space on the specified drive crosses the specified threshold value.
The threshold is crossed if free disk space increases to a value above the threshold value or decreases to a value below the threshold value.
This is an asynchronous request that completes if any of the following events occur:
the threshold is crossed
any drive is formatted
there is a media change on any socket
power up
the scandrive utility is run on any drive
the specified threshold value is outside its limits
the outstanding request is cancelled.
Note that free disk space notification is not supported for drives using remote file systems.
|
void NotifyDiskSpaceCancel(TRequestStatus& aStat);
Supported from 6.1
Cancels a specific outstanding request for free disk space notification.
The outstanding request completes with
KErrCancel
.
|
void NotifyDiskSpaceCancel();
Supported from 6.1
Cancels all outstanding requests for free disk space notification.
Outstanding requests complete with
KErrCancel
.