williamr@4: // Copyright (c) 2008-2009 Nokia Corporation and/or its subsidiary(-ies). williamr@4: // All rights reserved. williamr@4: // This component and the accompanying materials are made available williamr@4: // under the terms of the License "Eclipse Public License v1.0" williamr@4: // which accompanies this distribution, and is available williamr@4: // at the URL "http://www.eclipse.org/legal/epl-v10.html". williamr@4: // williamr@4: // Initial Contributors: williamr@4: // Nokia Corporation - initial contribution. williamr@4: // williamr@4: // Contributors: williamr@4: // williamr@4: // Description: williamr@4: // f32\inc\f32file64.inl williamr@4: // williamr@4: // williamr@4: williamr@4: /** williamr@4: williamr@4: Reads from the file at the current position. williamr@4: williamr@4: This is a synchronous function. williamr@4: williamr@4: Note that when an attempt is made to read beyond the end of the file, williamr@4: no error is returned. williamr@4: The descriptor's length is set to the number of bytes read into williamr@4: it. Therefore, when reading through a file,the end of file has been reached williamr@4: when the descriptor length, as returned by TDesC8::Length(), is zero. williamr@4: williamr@4: @param aDes Descriptor into which binary data is read. Any existing contents williamr@4: are overwritten. On return, its length is set to the number of williamr@4: bytes read. williamr@4: @return KErrNone if successful, otherwise one of the other system-wide error williamr@4: codes. williamr@4: williamr@4: @see TDesC8::Length williamr@4: */ williamr@4: inline TInt RFile64::Read(TDes8& aDes) const williamr@4: {return RFile::Read(aDes);} williamr@4: williamr@4: /** williamr@4: Reads from the file at the current position. williamr@4: williamr@4: This is an asynchronous function. williamr@4: williamr@4: Note that when an attempt is made to read beyond the end of the file, williamr@4: no error is returned. williamr@4: The descriptor's length is set to the number of bytes read into williamr@4: it. Therefore, when reading through a file,the end of file has been reached williamr@4: when the descriptor length, as returned by TDesC8::Length(), is zero. williamr@4: williamr@4: @param aDes Descriptor into which binary data is read. Any existing contents williamr@4: are overwritten. On return, its length is set to the number of williamr@4: bytes read. williamr@4: NB: this function is asynchronous and the request that it williamr@4: represents may not complete until some time after the call williamr@4: to the function has returned. It is important, therefore, that williamr@4: this descriptor remain valid, or remain in scope, until you have williamr@4: been notified that the request is complete. williamr@4: williamr@4: @param aStatus Request status. On completion contains: williamr@4: KErrNone, if successful, otherwise one of the other system-wide error codes. williamr@4: williamr@4: @see TDesC8::Length williamr@4: */ williamr@4: inline void RFile64::Read(TDes8& aDes,TRequestStatus& aStatus) const williamr@4: {RFile::Read(aDes, aStatus);} williamr@4: williamr@4: /** williamr@4: Reads the specified number of bytes of binary data from the file at the current position. williamr@4: williamr@4: This is a synchronous function. williamr@4: williamr@4: Note that when an attempt is made to read beyond the end of the file, williamr@4: no error is returned. williamr@4: The descriptor's length is set to the number of bytes read into williamr@4: it. Therefore, when reading through a file,the end of file has been reached williamr@4: when the descriptor length, as returned by TDesC8::Length(), is zero. williamr@4: Assuming aLength is less than the maximum length of the descriptor, the only circumstance williamr@4: in which Read() can return fewer bytes than requested, is when the end of williamr@4: file is reached or if an error occurs. williamr@4: williamr@4: @param aDes Descriptor into which binary data is read. Any existing williamr@4: contents are overwritten. On return, its length is set to williamr@4: the number of bytes read. williamr@4: williamr@4: @param aLength The number of bytes to be read from the file into the descriptor. williamr@4: If an attempt is made to read more bytes than the descriptor's williamr@4: maximum length, the function returns KErrOverflow. williamr@4: This value must not be negative, otherwise the function williamr@4: returns KErrArgument. williamr@4: williamr@4: @return KErrNone if successful, otherwise one of the other system-wide error williamr@4: codes. williamr@4: */ williamr@4: inline TInt RFile64::Read(TDes8& aDes,TInt aLength) const williamr@4: {return RFile::Read(aDes, aLength);} williamr@4: williamr@4: /** williamr@4: Reads a specified number of bytes of binary data from the file at the current position. williamr@4: williamr@4: This is an asynchronous function. williamr@4: williamr@4: Note that when an attempt is made to read beyond the end of the file, williamr@4: no error is returned. williamr@4: The descriptor's length is set to the number of bytes read into it. williamr@4: Therefore, when reading through a file, the end of file has been reached williamr@4: when the descriptor length, as returned by TDesC8::Length(), is zero. williamr@4: Assuming aLength is less than the maximum length of the descriptor, the only williamr@4: circumstances in which Read() can return fewer bytes than requested is when williamr@4: the end of file is reached or if an error has occurred. williamr@4: williamr@4: @param aDes Descriptor into which binary data is read. Any existing williamr@4: contents are overwritten. On return, its length is set to the williamr@4: number of bytes read. williamr@4: NB: this function is asynchronous and the request that it williamr@4: represents may not complete until some time after the call williamr@4: to the function has returned. It is important, therefore, that williamr@4: this descriptor remain valid, or remain in scope, until you have williamr@4: been notified that the request is complete. williamr@4: williamr@4: @param aLength The number of bytes to be read from the file into the descriptor. williamr@4: If an attempt is made to read more bytes than the descriptor's williamr@4: maximum length, then the function updates aStatus parameter with KErrOverflow. williamr@4: It must not be negative otherwise the function updates aStatus with KErrArgument. williamr@4: williamr@4: @param aStatus Request status. On completion contains KErrNone if successful, williamr@4: otherwise one of the other system-wide error codes. williamr@4: */ williamr@4: inline void RFile64::Read(TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const williamr@4: { RFile::Read( aDes, aLength, aStatus);} williamr@4: williamr@4: /** williamr@4: Writes to the file at the current offset within the file. williamr@4: williamr@4: This is a synchronous function. williamr@4: williamr@4: @param aDes The descriptor from which binary data is written. williamr@4: The function writes the entire contents of aDes to the file. williamr@4: williamr@4: @return KErrNone if successful, otherwise one of the other system-wide error williamr@4: codes. williamr@4: */ williamr@4: inline TInt RFile64::Write(const TDesC8& aDes) williamr@4: {return RFile::Write(aDes);} williamr@4: williamr@4: williamr@4: /** williamr@4: Writes to the file at the current offset within the file. williamr@4: williamr@4: This is an asynchronous function. williamr@4: williamr@4: @param aDes The descriptor from which binary data is written. williamr@4: The function writes the entire contents of aDes to the file. williamr@4: NB: this function is asynchronous and the request that it williamr@4: represents may not complete until some time after the call williamr@4: to the function has returned. It is important, therefore, that williamr@4: this descriptor remain valid, or remain in scope, until you have williamr@4: been notified that the request is complete. williamr@4: williamr@4: @param aStatus Request status. On completion contains KErrNone if successful, williamr@4: otherwise one of the other system-wide error codes. williamr@4: */ williamr@4: inline void RFile64::Write(const TDesC8& aDes,TRequestStatus& aStatus) williamr@4: {RFile::Write(aDes, aStatus);} williamr@4: williamr@4: williamr@4: /** williamr@4: Writes a portion of a descriptor to the file at the current offset within williamr@4: the file. williamr@4: williamr@4: This is a synchronous function. williamr@4: williamr@4: @param aDes The descriptor from which binary data is written. williamr@4: @param aLength The number of bytes to be written from the descriptor. williamr@4: This must not be greater than the length of the descriptor. williamr@4: It must not be negative. williamr@4: williamr@4: @return KErrNone if successful; KErrArgument if aLength is negative; williamr@4: otherwise one of the other system-wide error codes. williamr@4: williamr@4: @panic FSCLIENT 27 in debug mode, if aLength is greater than the length williamr@4: of the descriptor aDes. williamr@4: */ williamr@4: inline TInt RFile64::Write(const TDesC8& aDes,TInt aLength) williamr@4: {return RFile::Write(aDes, aLength);} williamr@4: williamr@4: williamr@4: /** williamr@4: Writes a portion of a descriptor to the file at the current offset williamr@4: within the file. williamr@4: williamr@4: This is an asynchronous function. williamr@4: williamr@4: @param aDes The descriptor from which binary data is written. williamr@4: NB: this function is asynchronous and the request that it williamr@4: represents may not complete until some time after the call williamr@4: to the function has returned. It is important, therefore, that williamr@4: this descriptor remain valid, or remain in scope, until you have williamr@4: been notified that the request is complete. williamr@4: williamr@4: @param aLength The number of bytes to be written from the descriptor. williamr@4: This must not be greater than the length of the descriptor. williamr@4: It must not be negative. williamr@4: williamr@4: @param aStatus Request status. On completion contains KErrNone if successful; williamr@4: KErrArgument if aLength is negative; williamr@4: otherwise one of the other system-wide error codes. williamr@4: */ williamr@4: inline void RFile64::Write(const TDesC8& aDes,TInt aLength,TRequestStatus& aStatus) williamr@4: {RFile::Write(aDes, aLength, aStatus);} williamr@4: williamr@4: /** williamr@4: Reads from the file at the specified offset within the file williamr@4: williamr@4: This is a synchronous function. williamr@4: williamr@4: Note that when an attempt is made to read beyond the end of the file, williamr@4: no error is returned. williamr@4: The descriptor's length is set to the number of bytes read into it. williamr@4: Therefore, when reading through a file, the end of file has been reached williamr@4: when the descriptor length, as returned by TDesC8::Length(), is zero. williamr@4: williamr@4: Note: williamr@4: 1. This function over-rides the base class function RFile::Read williamr@4: and inlines the base class RFile::Read. williamr@4: 2. The difference is that this function can read beyond 2GB - 1 when williamr@4: aPos + length of aDes is beyond 2GB - 1. williamr@4: 3. This function is protected using _F32_STRICT_64_BIT_MIGRATION macro williamr@4: to help migration to 64 bit file addressing. When the macro is defined, williamr@4: this function becomes a private overload and hence use of williamr@4: TInt RFile64::Read(TInt64 aPos,TDes8& aDes) const is recommended. williamr@4: williamr@4: @see TInt RFile::Read(TInt aPos,TDes8& aDes) const williamr@4: @see TInt RFile64::Read(TInt64 aPos,TDes8& aDes) const williamr@4: williamr@4: @param aPos Position of first byte to be read. This is an offset from williamr@4: the start of the file. If no position is specified, reading williamr@4: begins at the current file position. williamr@4: If aPos is beyond the end of the file, the function returns williamr@4: a zero length descriptor. williamr@4: williamr@4: @param aDes The descriptor into which binary data is read. Any existing content williamr@4: is overwritten. On return, its length is set to the number of williamr@4: bytes read. williamr@4: williamr@4: @return KErrNone if successful, otherwise one of the other system-wide error williamr@4: codes. williamr@4: williamr@4: @panic FSCLIENT 19 if aPos is negative. williamr@4: */ williamr@4: williamr@4: inline TInt RFile64::Read(TInt aPos,TDes8& aDes) const williamr@4: {return RFile::Read(aPos, aDes);} williamr@4: williamr@4: /** williamr@4: Reads from the file at the specified offset within the file. williamr@4: williamr@4: This is an asynchronous function. williamr@4: williamr@4: Note that when an attempt is made to read beyond the end of the file, williamr@4: no error is returned. williamr@4: The descriptor's length is set to the number of bytes read into it. williamr@4: Therefore, when reading through a file, the end of file has been reached williamr@4: when the descriptor length, as returned by TDesC8::Length(), is zero. williamr@4: williamr@4: Note: williamr@4: 1. This function over-rides the base class function RFile::Read williamr@4: and inlines the base class RFile::Read. williamr@4: 2. The difference is that this function can read beyond 2GB - 1 when williamr@4: aPos + length of aDes is beyond 2GB - 1. williamr@4: 3. This function is protected using _F32_STRICT_64_BIT_MIGRATION macro williamr@4: to help migration to 64 bit file addressing. When the macro is defined, williamr@4: this function becomes a private overload and hence use of williamr@4: void RFile64::Read(TInt64 aPos,TDes8& aDes,TRequestStatus& aStatus) const is recommended. williamr@4: williamr@4: @see void RFile::Read(TInt aPos,TDes8& aDes,TRequestStatus& aStatus) const williamr@4: @see void RFile64::Read(TInt64 aPos,TDes8& aDes,TRequestStatus& aStatus) const williamr@4: williamr@4: @param aPos Position of first byte to be read. This is an offset from williamr@4: the start of the file. If no position is specified, williamr@4: reading begins at the current file position. williamr@4: If aPos is beyond the end of the file, the function returns williamr@4: a zero length descriptor. williamr@4: williamr@4: @param aDes The descriptor into which binary data is read. Any existing williamr@4: content is overwritten. On return, its length is set to williamr@4: the number of bytes read. williamr@4: NB: this function is asynchronous and the request that it williamr@4: represents may not complete until some time after the call williamr@4: to the function has returned. It is important, therefore, that williamr@4: this descriptor remain valid, or remain in scope, until you have williamr@4: been notified that the request is complete. williamr@4: williamr@4: @param aStatus The request status. On completion, contains an error code of KErrNone williamr@4: if successful, otherwise one of the other system-wide error codes. williamr@4: williamr@4: @panic FSCLIENT 19 if aPos is negative. williamr@4: */ williamr@4: inline void RFile64::Read(TInt aPos,TDes8& aDes,TRequestStatus& aStatus) const williamr@4: {RFile::Read(aPos, aDes, aStatus);} williamr@4: williamr@4: /** williamr@4: Reads the specified number of bytes of binary data from the file at a specified williamr@4: offset within the file. williamr@4: williamr@4: This is a synchronous function. williamr@4: williamr@4: Note that when an attempt is made to read beyond the end of the file, williamr@4: no error is returned. williamr@4: The descriptor's length is set to the number of bytes read into it. williamr@4: Therefore, when reading through a file, the end of file has been reached williamr@4: when the descriptor length, as returned by TDesC8::Length(), is zero. williamr@4: Assuming aLength is less than the maximum length of the descriptor, the only williamr@4: circumstances in which Read() can return fewer bytes than requested is when williamr@4: the end of file is reached or if an error has occurred. williamr@4: williamr@4: Note: williamr@4: 1. This function over-rides the base class function RFile::Read williamr@4: and inlines the base class RFile::Read. williamr@4: 2. The difference is that this function can read beyond 2GB - 1 when williamr@4: aPos + aLength is beyond 2GB - 1. williamr@4: 3. This function is protected using _F32_STRICT_64_BIT_MIGRATION macro williamr@4: to help migration to 64 bit file addressing. When the macro is defined, williamr@4: this function becomes a private overload and hence use of williamr@4: TInt RFile64::Read(TInt64 aPos,TDes8& aDes,TInt aLength) const is recommended. williamr@4: williamr@4: @see TInt RFile::Read(TInt aPos,TDes8& aDes,TInt aLength) const williamr@4: @see TInt RFile64::Read(TInt64 aPos,TDes8& aDes,TInt aLength) const williamr@4: williamr@4: @param aPos Position of first byte to be read. This is an offset from williamr@4: the start of the file. If no position is specified, williamr@4: reading begins at the current file position. williamr@4: If aPos is beyond the end of the file, the function returns williamr@4: a zero length descriptor. williamr@4: williamr@4: @param aDes The descriptor into which binary data is read. Any existing williamr@4: contents are overwritten. On return, its length is set to williamr@4: the number of bytes read. williamr@4: @param aLength The number of bytes to read from the file into the descriptor. williamr@4: If an attempt is made to read more bytes than the descriptor's williamr@4: maximum length, then the function updates aStatus parameter with KErrOverflow. williamr@4: It must not be negative otherwise the function updates aStatus with KErrArgument. williamr@4: williamr@4: @return KErrNone if successful, otherwise one of the other system-wide williamr@4: error codes. williamr@4: williamr@4: @panic FSCLIENT 19 if aPos is negative. williamr@4: */ williamr@4: inline TInt RFile64::Read(TInt aPos,TDes8& aDes,TInt aLength) const williamr@4: {return RFile::Read(aPos, aDes, aLength);} williamr@4: williamr@4: /** williamr@4: Reads the specified number of bytes of binary data from the file at a specified williamr@4: offset within the file. williamr@4: williamr@4: This is an asynchronous function. williamr@4: williamr@4: williamr@4: Note that when an attempt is made to read beyond the end of the file, williamr@4: no error is returned. williamr@4: The descriptor's length is set to the number of bytes read into it. williamr@4: Therefore, when reading through a file, the end of file has been reached williamr@4: when the descriptor length, as returned by TDesC8::Length(), is zero. williamr@4: Assuming aLength is less than the maximum length of the descriptor, the only williamr@4: circumstances in which Read() can return fewer bytes than requested is when williamr@4: the end of file is reached or if an error has occurred. williamr@4: williamr@4: Note: williamr@4: 1. This function over-rides the base class function RFile::Read williamr@4: and inlines the base class RFile::Read. williamr@4: 2. The difference is that this function can read beyond 2GB - 1 when williamr@4: aPos + aLength is beyond 2GB - 1. williamr@4: 3. This function is protected using _F32_STRICT_64_BIT_MIGRATION macro williamr@4: to help migration to 64 bit file addressing. When the macro is defined, williamr@4: this function becomes a private overload and hence use of williamr@4: void RFile64::Read(TInt64 aPos,TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const is recommended. williamr@4: williamr@4: @see void RFile::Read(TInt aPos,TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const williamr@4: @see void RFile64::Read(TInt64 aPos,TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const williamr@4: williamr@4: @param aPos Position of first byte to be read. This is an offset from williamr@4: the start of the file. If no position is specified, williamr@4: reading begins at the current file position. williamr@4: If aPos is beyond the end of the file, the function returns williamr@4: a zero length descriptor. williamr@4: williamr@4: @param aDes The descriptor into which binary data is read. Any existing williamr@4: contents are overwritten. On return, its length is set to williamr@4: the number of bytes read. williamr@4: NB: this function is asynchronous and the request that it williamr@4: represents may not complete until some time after the call williamr@4: to the function has returned. It is important, therefore, that williamr@4: this descriptor remain valid, or remain in scope, until you have williamr@4: been notified that the request is complete. williamr@4: williamr@4: @param aLength The number of bytes to read from the file into the descriptor. williamr@4: If an attempt is made to read more bytes than the descriptor's williamr@4: maximum length, then the function returns KErrOverflow. williamr@4: It must not be negative otherwise the function returns KErrArgument. williamr@4: williamr@4: @param aStatus Request status. On completion contains KErrNone if successful, williamr@4: otherwise one of the other system-wide error codes. williamr@4: williamr@4: @panic FSCLIENT 19 if aPos is negative. williamr@4: */ williamr@4: inline void RFile64::Read(TInt aPos,TDes8& aDes,TInt aLength,TRequestStatus& aStatus) const williamr@4: { RFile::Read(aPos, aDes, aLength, aStatus);} williamr@4: williamr@4: /** williamr@4: Writes to the file at the specified offset within the file williamr@4: williamr@4: This is a synchronous function. williamr@4: williamr@4: Note: williamr@4: 1. This function over-rides the base class function RFile::Write williamr@4: and inlines the base class RFile::Write. williamr@4: 2. The difference is that this function can write beyond 2GB - 1 when williamr@4: aPos + length of aDes is beyond 2GB - 1. williamr@4: 3. This function is protected using _F32_STRICT_64_BIT_MIGRATION macro williamr@4: to help migration to 64 bit file addressing. When the macro is defined, williamr@4: this function becomes a private overload and hence use of williamr@4: TInt RFile64::Write(TInt64 aPos,const TDesC8& aDes) is recommended. williamr@4: williamr@4: @see TInt RFile::Write(TInt aPos,const TDesC8& aDes) williamr@4: @see TInt RFile64::Write(TInt64 aPos,const TDesC8& aDes) williamr@4: williamr@4: @param aPos The offset from the start of the file at which the first williamr@4: byte is written. williamr@4: If a position beyond the end of the file is specified, then williamr@4: the write operation begins at the end of the file. williamr@4: If the position has been locked, then the write fails. williamr@4: williamr@4: @param aDes The descriptor from which binary data is written. The function writes williamr@4: the entire contents of aDes to the file. williamr@4: williamr@4: @return KErrNone if successful, otherwise one of the other system-wide error williamr@4: codes. williamr@4: williamr@4: @panic FSCLIENT 19 if aPos is negative. williamr@4: */ williamr@4: inline TInt RFile64::Write(TInt aPos,const TDesC8& aDes) williamr@4: {return RFile::Write( aPos, aDes);} williamr@4: williamr@4: /** williamr@4: Writes to the file at the specified offset within the file williamr@4: williamr@4: This is an asynchronous function. williamr@4: williamr@4: Note: williamr@4: 1. This function over-rides the base class function RFile::Write williamr@4: and inlines the base class RFile::Write. williamr@4: 2. The difference is that this function can write beyond 2GB - 1 when williamr@4: aPos + length of aDes is beyond 2GB - 1. williamr@4: 3. This function is protected using _F32_STRICT_64_BIT_MIGRATION macro williamr@4: to help migration to 64 bit file addressing. When the macro is defined, williamr@4: this function becomes a private overload and hence use of williamr@4: void RFile64::Write(TInt64 aPos,const TDesC8& aDes,TRequestStatus& aStatus) is recommended. williamr@4: williamr@4: @see void RFile::Write(TInt aPos,const TDesC8& aDes,TRequestStatus& aStatus) williamr@4: @see void RFile64::Write(TInt64 aPos,const TDesC8& aDes,TRequestStatus& aStatus) williamr@4: williamr@4: @param aPos The offset from the start of the file at which the first williamr@4: byte is written. williamr@4: If a position beyond the end of the file is specified, then williamr@4: the write operation begins at the end of the file. williamr@4: If the position has been locked, then the write fails. williamr@4: williamr@4: @param aDes The descriptor from which binary data is written. The function williamr@4: writes the entire contents of aDes to the file. williamr@4: NB: this function is asynchronous and the request that it williamr@4: represents may not complete until some time after the call williamr@4: to the function has returned. It is important, therefore, that williamr@4: this descriptor remain valid, or remain in scope, until you have williamr@4: been notified that the request is complete. williamr@4: williamr@4: @param aStatus Request status. On completion contains KErrNone if successful, williamr@4: otherwise one of the other system-wide error codes. williamr@4: williamr@4: @panic FSCLIENT 19 if aPos is negative. williamr@4: */ williamr@4: inline void RFile64::Write(TInt aPos,const TDesC8& aDes,TRequestStatus& aStatus) williamr@4: {RFile::Write(aPos, aDes, aStatus);} williamr@4: williamr@4: /** williamr@4: Writes the specified number of bytes to the file at the specified offset within the file. williamr@4: williamr@4: This is a synchronous function. williamr@4: williamr@4: Note: williamr@4: 1. This function over-rides the base class function RFile::Write williamr@4: and inlines the base class RFile::Write. williamr@4: 2. The difference is that this function can write beyond 2GB - 1 when williamr@4: aPos + aLength is beyond 2GB - 1. williamr@4: 3. This function is protected using _F32_STRICT_64_BIT_MIGRATION macro williamr@4: to help migration to 64 bit file addressing. When the macro is defined, williamr@4: this function becomes a private overload and hence use of williamr@4: TInt RFile64::Write(TInt64 aPos,const TDesC8& aDes,TInt aLength) is recommended. williamr@4: williamr@4: @see TInt RFile::Write(TInt aPos,const TDesC8& aDes,TInt aLength) williamr@4: @see TInt RFile64::Write(TInt64 aPos,const TDesC8& aDes,TInt aLength) williamr@4: williamr@4: @param aPos The offset from the start of the file at which the first williamr@4: byte is written. williamr@4: If a position beyond the end of the file is specified, then williamr@4: the write operation begins at the end of the file. williamr@4: If the position has been locked, then the write fails. williamr@4: williamr@4: @param aDes The descriptor from which binary data is written. williamr@4: @param aLength The number of bytes to be written from aDes . williamr@4: It must not be negative. williamr@4: williamr@4: @return KErrNone if successful; KErrArgument if aLength is negative; williamr@4: otherwise one of the other system-wide error codes. williamr@4: williamr@4: @panic FSCLIENT 19 if aPos is negative. williamr@4: */ williamr@4: inline TInt RFile64::Write(TInt aPos,const TDesC8& aDes,TInt aLength) williamr@4: {return RFile::Write(aPos, aDes, aLength);} williamr@4: williamr@4: /** williamr@4: Writes the specified number of bytes to the file at the specified offset within the file. williamr@4: williamr@4: This is an asynchronous function. williamr@4: williamr@4: Note: williamr@4: 1. This function over-rides the base class function RFile::Write williamr@4: and inlines the base class RFile::Write. williamr@4: 2. The difference is that this function can write beyond 2GB - 1 when williamr@4: aPos + aLength is beyond 2GB - 1. williamr@4: 3. This function is protected using _F32_STRICT_64_BIT_MIGRATION macro williamr@4: to help migration to 64 bit file addressing. When the macro is defined, williamr@4: this function becomes a private overload and hence use of williamr@4: void RFile64::Write(TInt64 aPos,const TDesC8& aDes,TRequestStatus& aStatus) is recommended. williamr@4: williamr@4: @see void RFile::Write(TInt aPos,const TDesC8& aDes,TRequestStatus& aStatus) williamr@4: @see void RFile64::Write(TInt64 aPos,const TDesC8& aDes,TRequestStatus& aStatus) williamr@4: williamr@4: @param aPos The offset from the start of the file at which the first williamr@4: byte is written. williamr@4: If a position beyond the end of the file is specified, then williamr@4: the write operation begins at the end of the file. williamr@4: If the position has been locked, then the write fails. williamr@4: williamr@4: @param aDes The descriptor from which binary data is written. williamr@4: NB: this function is asynchronous and the request that it williamr@4: represents may not complete until some time after the call williamr@4: to the function has returned. It is important, therefore, that williamr@4: this descriptor remain valid, or remain in scope, until you have williamr@4: been notified that the request is complete. williamr@4: williamr@4: @param aLength The number of bytes to be written from aDes. williamr@4: It must not be negative. williamr@4: williamr@4: @param aStatus Request status. On completion contains KErrNone if successful; williamr@4: KErrArgument if aLength is negative; williamr@4: otherwise one of the other system-wide error codes. williamr@4: williamr@4: @panic FSCLIENT 19 if aPos is negative. williamr@4: */ williamr@4: inline void RFile64::Write(TInt aPos,const TDesC8& aDes,TInt aLength,TRequestStatus& aStatus) williamr@4: {RFile::Write(aPos, aDes, aLength, aStatus);}