我得到了一个在VC6中编译的ISAPI扩展dll,它通过MFC的CHttpServerContext类调用“ServerSupportFunction”。
代码类似于(假设Ctx是类CHttpServerContext的对象)
CString str;
str = "Content-Type: text/plain\r\n";
str += "Content-Length: 200\r\n";
str += "\r\n";
DWORD len = str.GetLength();
Ctx->ServerSupportFunction(HSE_REQ_SEND_RESPONSE_HEADER,NULL,
&len,
(LPWORD)(LPCTSTR)str);
Windows2008IIS7返回一个windows错误码error\u INVALID\u参数
由于使用CString,函数调用成功。
dll是在windowsxp中用VC6和静态MFC编译的。
由于我不愿意更改dll代码,有人知道为什么在Windows2008中出现这个问题,以及如何解决这个问题吗?
是否与机器代码页相关?dll是否应进行不同的编译?(可能没有UNICODE)