The following code shows you some examples of how to use these KcsChunkSet class member functions: getChunkSet(), getChunkSize(), readChunk(), and writeChunk().
KcsChunkId myChunkId;
KcsStatus aStat;
KcsChunkSet* chunkSet;
char* mftData;
u_long mftSize;
u_long mftWanted;
// Get the chunk data
chunkSet = getChunkSet();
if (chunkSet == NULL)
return (KCS_INTERNAL_CLASS_CORRUPTED);
//Get the size
mftSize = chunkSet->getChunkSize(&aStat, myChunkId);
if (aStat != KCS_SUCCESS)
return(aStat);
//Make space for the data
mftData = NULL;
if ((mftData = malloc((u_int)mftSize)) == NULL) {
return (KCS_MEM_ALLOC_ERR);
}
//Read it
aStat = chunkSet->readChunk(myChunkId, mftData, &mftWanted,
mftSize);
if (aStat != KCS_SUCCESS)
return (aStat);
//Zero it out and write it back
memset(mftData, 0, mftSize);
aStat = chunkSet->writeChunk(myChunkId, mftData, mftSize);
if (aStat != KCS_SUCCESS)
return (aStat);
|