Tôi gặp sự cố khi cố gắng chạy Winapi::findFirstFile
chạy trên máy chủ. tôi havve đã cố gắng sao chép các phương pháp trên WinapiServer lớp, và thay đổi một số dòng, như thế này:Hãy thử sử dụng Winapi :: findFirstFile chạy trên máy chủ
server static container findFirstFile(str filename)
{
InteropPermission interopPerm;
Binary data;
DLL _winApiDLL;
DLLFunction _findFirstFile;
;
interopPerm = new InteropPermission(InteropKind::DllInterop);
interopPerm.assert();
data = new Binary(592); // size of WIN32_FIND_DATA when sizeof(TCHAR)==2
_winApiDLL = new DLL(#KernelDLL);
_findFirstFile = new DLLFunction(_winApiDLL, 'FindFirstFileW');
_findFirstFile.returns(ExtTypes::DWord);
_findFirstFile.arg(ExtTypes::WString,ExtTypes::Pointer);
return [_findFirstFile.call(filename, data),data.wString(#offset44)];
}
Nhưng bây giờ tôi có một loại lỗi Chức năng 'FindFirstFileW' trên thư viện DLL 'kernel32' ném một ngoại lệ.
Điều này là do tôi đang thực hiện phương pháp trên máy chủ x64. Bất kỳ ai có ý tưởng giải quyết vấn đề này?
Bạn đã chỉ định thông báo lỗi chính xác từ nhật ký thông tin chưa? –
Ngoại lệ của nó là gì? Có lẽ AX ném, vì WinAPI không ném ngoại lệ, nó trả về mã lỗi. Hãy thử 'WinAPIServer :: getLastError()' để lấy mã lỗi –