All Frameworks  Class Hierarchy  This Framework  Previous  Next  Indexes

System Interface CATILockBytes

System.IUnknown
  |
  +---CATILockBytes
 

Usage: an implementation of this interface is supplied and you must use it as is. You should not reimplement it.


interface CATILockBytes

Interface used by the V5 documents to represent their physical storage as a byte array.
Role: This interface is used by the V5 composite documents to access to their physical storage device, without needing to consider the specifications of the physical storage. This interface should be not implemented.


Method Index


o Flush(void)
Flush all the buffers.
o LockRegion(ULARGE_INTEGER,ULARGE_INTEGER,DWORD)
Locks a region of the CATILockBytes.
o ReadAt(ULARGE_INTEGER,void FAR*,ULONG,ULONG FAR*)
Reads a block of data in the byte array object.
o SetSize(ULARGE_INTEGER)
Sets the size of the CATILockBytes.
o Stat(STATSTG FAR*,DWORD)
Returns informations for the byte array object.
o UnlockRegion(ULARGE_INTEGER,ULARGE_INTEGER,DWORD)
Locks a region of the CATILockBytes.
o WriteAt(ULARGE_INTEGER,void FAR*,ULONG,ULONG FAR*)
Writes a block of data in the byte array object.

Methods


o Flush
public virtual HRESULT __stdcall Flush(void ) = 0
Flush all the buffers. Role: Insures that any internal buffers maintained by the CATILockBytes object are written out to the permanent storage.
Returns:
Legal values:
S_OK :on Success.
STG_E_WRITEFAULT : problem while writing.
STG_E_MEDIUMFULL : disk full error.
STG_E_DISKISWRITEPROTECTED : disk write protected.
STG_E_UNKNOWN : unexpected error.
o LockRegion
public virtual HRESULT __stdcall LockRegion(ULARGE_INTEGER iOffset,
ULARGE_INTEGER iLegnth,
DWORD dwLockType) = 0
Locks a region of the CATILockBytes. Role: Locks a region of the CATILockBytes.
Parameters:
iOffset
[in] Offset of the block from the beginning of the array
iLength
[i] the size of the region. if iLength and Offset are null, then the lock is applied on the whole array.
dwLockType
[in] type of lock.
Returns:
Legal values:
S_OK :on Success.
STG_E_INVALIDFUNCTION : the underlying object does not support locking.
STG_E_LOCKVIOLATION : array object locked by another caller.
STG_E_ACCESSDENIED: array object locked by another caller.
STG_E_INVALIDHANDLE : the underlying storage device is not available.
o ReadAt
public virtual HRESULT __stdcall ReadAt(ULARGE_INTEGER iOffset,
void FAR* iBuff,
ULONG iLengthToRead,
ULONG FAR* oLengthRead) = 0
Reads a block of data in the byte array object. Role: Reads a block of data at the specified offset fom the beginning of the array.
Parameters:
iOffset
[in] Offset of the block from the beginning of the array
iBuff
[in] Buffer where data where will be stored.
iLengthToRead
[i] the size of the requested data.
oLengthRead
[out] the actual length of read data.
Returns:
Legal values:
S_OK :on Success.
STG_E_SEEKERROR : problem in setting the read offset.
STG_E_READFAULT : problem while reading.
STG_E_INVALIDPARAMETER : invalid arguments.
STG_E_ACCESSDENIED: No sufficient permission to read.
STG_E_UNKNOWN : unexpected error.
o SetSize
public virtual HRESULT __stdcall SetSize(ULARGE_INTEGER iLength) = 0
Sets the size of the CATILockBytes. Role: Sets the size of the CATILockBytes.
Returns:
Legal values:
S_OK :on Success.
STG_E_ACCESSDENIED: No sufficient permission to set the size of the document.
STG_E_SEEKERROR : problem in setting the new offset.
STG_E_MEDIUMFULL : no space left on the backing storage to increase the size of the byte array.
o Stat
public virtual HRESULT __stdcall Stat(STATSTG FAR* oStat,
DWORD iStatFlag) = 0
Returns informations for the byte array object. Role: Returns informations for the CATILockBytes.
Parameters:
oStat
[io] pointer to a STATSTG structure.
iStatFlag
[in] specifies whether the name of the object should be supplied. Legal values:
STATFLAG_NONAME: no name is supplied.
STATFLAG_DEFAULT: all fields are supplied
Returns:
Legal values:
S_OK :on Success.
STG_E_INVALIDPOINTER : invalid pointer for the STATSTG structure.
STG_E_ACCESSDENIED: No sufficient permission to retrieve the information concerning the array.
STG_E_INSUFFICIENTMEMORY: no more memory.
STG_E_INVALIDFLAG : value for iStatFlag is not valid.
o UnlockRegion
public virtual HRESULT __stdcall UnlockRegion(ULARGE_INTEGER iOffset,
ULARGE_INTEGER iLength,
DWORD dwLockType) = 0
Locks a region of the CATILockBytes. Role: Locks a region of the CATILockBytes. This method is not implemented by any V5 implementation of this interface and are never called by the V5 documents code.
Parameters:
iOffset
[in] Offset of the block from the beginning of the array
iLength
[i] the size of the region.
dwLockType
[in] type of lock.
Returns:
Legal values:
STG_E_INVALIDFUNCTION : the underlying object does not support locking.
STG_E_LOCKVIOLATION : array object locked by another caller.
STG_E_INVALIDHANDLE : the underlying storage device is not available.
o WriteAt
public virtual HRESULT __stdcall WriteAt(ULARGE_INTEGER iOffset,
const void FAR* iDataSource,
ULONG iLengthToWrite,
ULONG FAR* LengthWritten) = 0
Writes a block of data in the byte array object. Role: Writes a block of data at the specified offset fom the beginning of the array.
Parameters:
iOffset
[in] Offset of the block from the beginning of the array
iDataSource
[in] Buffer of data to write.
iLengthToWrite
[i] the size of the data to write.
oLengthWriten
[out] the actual length of written data. Should be equal to iLengthToWrite if no problem has occurred.
Returns:
Legal values:
S_OK :on Success.
STG_E_SEEKERROR : problem in setting the read offset.
STG_E_WRITEFAULT : problem while writing and iLengthToWrite is not equal to LengthWritten.
STG_E_MEDIUMFULL : The write operation was not completed because there is no space left on the storage device. The actual written length is still returned in LengthWritten.
STG_E_INVALIDPARAMETER : invalid arguments.
STG_E_DISKISWRITEPROTECTED : disk write protected.
STG_E_ACCESSDENIED: No sufficient permission to write.
STG_E_UNKNOWN : unexpected error.

This object is included in the file: CATILockBytes.h
If needed, your Imakefile.mk should include the module: JS0COMPSPEC

Copyright © 2003, Dassault Systèmes. All rights reserved.