public byte[] GetContent(bool isP7M, byte[] blob, out string Metadata) { int p7H; string fName = Path.GetTempFileName(); FileStream fs = new FileStream(fName, FileMode.Create); BinaryWriter bw = new BinaryWriter(fs); bw.Write(blob, 0, blob.Length); fs.Close(); string cName = "", descr = ""; object OutBuf; if (isP7M) { oDigest.P7kLoadFromFile(fName, 1, out p7H); oDigest.P7kContentReadToBuf(p7H, out OutBuf, 0); oDigest.P7kGetDescription(p7H, out cName, out descr); //oDigest.P7k oDigest.P7kFree(p7H); } else { oDigest.P7xLoadFromFile(fName, out p7H); oDigest.P7xContentReadToBuf(p7H, out OutBuf, 0); oDigest.P7xFree(p7H); File.Delete(fName); } CCypher.enumErrorClass errC; int ErrI; string ErrS; oDigest.GetLastError(out errC, out ErrI, out ErrS); Metadata = "<?xml version=\"1.0\" ?><file name=\"" + cName + "\" description=\"" + descr + "\"></file>"; File.Delete(fName); return((byte[])OutBuf); }