private void Write(rpcCracker cracker, rpcPacker packer)
{
fhandle fh = new fhandle(cracker);
uint beginOffset = cracker.get_uint32();
uint offset = cracker.get_uint32();
uint totalcount = cracker.get_uint32();
Byte[] data = cracker.getData();
FileStream fs;
try
{
fs = new FileStream(FileTable.LookupFileEntry(fh).Name, FileMode.Open, FileAccess.Write);
}
catch (System.IO.FileNotFoundException)
{
FileTable.Remove(fh);
throw;
}
try
{
fs.Position = offset;
fs.Write(data, 0, data.Length);
attrstat.PackSuccess(packer, new fattr(fh));
}
finally
{
fs.Close();
}
}