<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META HTTP-EQUIV="Content-Type" CONTENT="text/html; charset=us-ascii">
<TITLE>Message</TITLE>

<META content="MSHTML 6.00.5450.4" name=GENERATOR>
<STYLE></STYLE>
</HEAD>
<BODY bgColor=#ffffff>
<DIV><FONT face=Arial color=#0000ff size=2></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=840305423-07072006>My 
guess:&nbsp; If your DLL is actually asking for a filename and opens it with 
standard file i/o routines then you are pretty much without options.&nbsp; 
However more generally what you want as far as reading from memory can be 
certainly be done even though I haven't actually done it - having used 
TFileStream stuff a lot with great success I notice there are lots of similar 
routines that read and write memory streams as well&nbsp; - see 
TMemoryStream.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN 
class=840305423-07072006></SPAN></FONT>&nbsp;</DIV>
<DIV><FONT face=Arial color=#0000ff size=2><SPAN class=840305423-07072006>If you 
were on linux/Unix there would be other options as well, as the memory (and 
everything else as well) is part of the filesystem.</SPAN></FONT></DIV>
<DIV><FONT face=Arial color=#0000ff size=2></FONT>&nbsp;</DIV>
<DIV class=Section1>
<P class=MsoAutoSig align=left>John<SPAN class=840305423-07072006><FONT 
face=Arial color=#0000ff size=2>&nbsp;</FONT></SPAN></P>
<P class=MsoAutoSig align=left><SPAN class=840305423-07072006>&nbsp;</SPAN><FONT 
face=Tahoma size=2>-----Original Message-----<BR><B>From:</B> 
delphi-bounces@ns3.123.co.nz [mailto:delphi-bounces@ns3.123.co.nz] <B>On Behalf 
Of </B>Ross Levis<BR><B>Sent:</B> Saturday, 8 July 2006 11:47 a.m.<BR><B>To:</B> 
NZ Borland Developers Group - Delphi List<BR><B>Subject:</B> [DUG] access memory 
as a file<BR><BR></P></FONT></DIV>
<BLOCKQUOTE style="MARGIN-RIGHT: 0px">
  <DIV><FONT face=Arial size=2>I doubt this is possible but I thought I would 
  ask anyway.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>I have a 3rd party DLL which opens a&nbsp;file 
  that I&nbsp;specify.&nbsp; Specially it is an audio decoder plugin which 
  decodes MP3 to PCM.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>What I would like to do is&nbsp;use 
  this&nbsp;plugin to access a memory location which contains MP3 data instead 
  of a file.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>Is it&nbsp;possible to set up something in 
  Windows where you specify a filename but actually accesses memory 
  instead.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>This will be used with&nbsp;encrypted&nbsp;mp3 
  files so they are not accessible to anyone to steal for their own use.&nbsp; I 
  am currently&nbsp;opening the file,&nbsp;decrypting, and then saving a 
  temporary file to disk.&nbsp; But this has 2 disadvantages.&nbsp; It is very 
  slow, so lots of latency between asking a track to play and hearing it.&nbsp; 
  And also, while the file is decrypted on disk, someone can steal 
  it.</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2>The DLL cannot be modified.&nbsp; Is there any 
  solution?</FONT></DIV>
  <DIV><FONT face=Arial size=2></FONT>&nbsp;</DIV>
  <DIV><FONT face=Arial size=2><FONT 
  color=#000000>Thanks,<BR>Ross.</FONT></FONT></DIV><BR><BR>__________ NOD32 
  1.1461 (20060329) Information __________<BR><BR>This message was checked by 
  NOD32 antivirus system.<BR><A 
  href="http://www.eset.com">http://www.eset.com</A><BR></BLOCKQUOTE></BODY></HTML>