Re: * CGI can not open files in Windows 2003 Server IIS 6 *

From: Aras (arastaha_at_hotmail.com)
Date: 12/23/03


Date: 23 Dec 2003 12:56:58 -0800

Here is Delphi code:

procedure THttpFileFilter.Put;
var
  F: TFileStream;
  BytesRead: Integer;
  S: string;
  TheFileName: string;

begin
  if FileName = '' then
    FileName := Copy(ExeOrDllPath, 1, Pos('.', ExeOrDllPath)) + 'htm';
  if (Pos(':\', FileName) <> 2) and (Pos('\\', FileName) <> 1) then
    TheFileName := ExtractFilePath(ExeOrDllPath) + FileName
  else
    TheFileName := FileName;
  F := TFileStream.Create(TheFileName, fmOpenRead or fmShareDenyNone);
  SetLength(S, F.Size);

  BytesRead := 0;
  while (BytesRead < F.Size) and (F.Read(S[BytesRead + 1], Min(F.Size
- BytesRead, 4096)) > 0) do
    BytesRead := Bytesread + 4096;
  F.Destroy;

  CallLevel := (Abs(CallLevel) + 1) mod MaxCallLevel;
  PutString(S);
  CallLevel := (CallLevel - 1 + MaxCallLevel) mod MaxCallLevel;
end;

I am suspecting TStreamFile but I can't get the dwebugger to run
either under IIS so I can not verify this.

Any ideas?

"David Wang [Msft]" <someone@online.microsoft.com> wrote in message news:<OQuGP7TyDHA.1060@TK2MSFTNGP12.phx.gbl>...
> It sounds like your CGI is not able to open files with \\?\ prepended. How
> is the CGI opening files?
> --
> //David
> IIS
> This posting is provided "AS IS" with no warranties, and confers no rights.
> //
> "Aras" <arastaha@hotmail.com> wrote in message
> news:f9406120.0312221346.49810059@posting.google.com...
> I copied (no changes) my CGIExpert-based .EXE files into a Windows
> 2003 Server PC with IIS 6 (they worked fine under Win2K and IIS 5). I
> enabled the proper WebSvcRestrictionList and now the .EXEs execute.
> However, the .EXEs fail when they try to open any of my HTML Template
> files. I get an error like this:
>
> Unhandled Exception: Cannot open file "\\?\C:\website\file.htmt". The
> filename, directory name, or volume label syntax is incorrect
>
> file.htmt is my template sitting in the parent directory. All
> directories having same permissions.
>
> What is missing here?



Relevant Pages

  • Re: file class
    ... private String _FileName; ... /// filename and all reqired parameters must be set up by user ... public TextFileServer(string FileName, int FixedRecordLen) ... //End of line built from constructor or user manual ...
    (microsoft.public.dotnet.languages.csharp)
  • file class
    ... private String _FileName; ... /// filename and all reqired parameters must be set up by user ... public TextFileServer(string FileName, int FixedRecordLen) ... //End of line built from constructor or user manual ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: file class
    ... private String _FileName; ... /// filename and all reqired parameters must be set up by user ... public TextFileServer(string FileName, int FixedRecordLen) ... //End of line built from constructor or user manual ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: file class
    ... private String _FileName; ... /// filename and all reqired parameters must be set up by user ... public TextFileServer(string FileName, int FixedRecordLen) ... //End of line built from constructor or user manual ...
    (microsoft.public.dotnet.languages.csharp)
  • Re: unbuffered file IO?
    ... private String _FileName; ... /// filename and all reqired parameters must be set up by user ... public TextFileServer(string FileName, int FixedRecordLen) ... //End of line built from constructor or user manual ...
    (microsoft.public.dotnet.languages.csharp)