调用GDI +的ASP(经典)调用VB6 DLL在IIS6上运行,但不在IIS7上运行

时间:2018-02-25 06:40:53

标签: winapi asp-classic vb6 iis-7 gdi+

在Windows Server 2003 32位上,IIS 6.0我目前有一个工作 ASP经典页面成功使用VB6 DLL使用许多不同的字体将文本呈现为图像(DLL引用GDI +来呈现指定字体中的文本的jpeg等):

[working VBScript calling out to a VB6 DLL which calls to GDI+]

Set ig = Server.CreateObject("MyCo.ImageGenerator") 'the DLL
ret = ig.GenerateImage(text, font, size, path, color, italics, bold)

我需要将此站点转移到Windows 2008或更高版本的服务器。在新服务器上,GDI +有一个错误,特别是在VB6 DLL代码的这一行:

lRes = GdipCreateBitmapFromHBITMAP(pict.Handle, 0, lBitmap) 'ret 2 (0 is success)

当我从新服务器上的 Windows窗体应用程序调用相同的DLL函数(即GenerateImage)时,它会生成没问题的图像。我认为这不是权限问题,因为:

  1. ASP VBScript指示DLL生成的图像的目标文件夹具有“Everyone”的完全权限(仅用于设置测试)和
  2. DLL中的日志代码可以写入目标目录
  3. 编辑我(稍后)为网络服务用户(应用程序池帐户)提供了读取/读取执行权限,但没有看到行为更改(正如@Lankymart在评论中所建议的那样)。 / LI>

    我很困惑为什么DLL在Windows窗体应用程序调用中工作正常,但不能在IIS 7中工作。

0 个答案:

没有答案